amazon-iam - 调用 PutRolePolicy 操作时发生错误(ValidationError):policyDocument 的指定值无效
问题描述
我要创建一个 aws 集群,所以我想为集群设置一个 IAM 角色。我已经按照教程但是一旦我输入了这个命令
aws iam put-role-policy --role-name UdacityFlaskDeployCBKubectlRole --policy-name eks-describe --policy-document file:///tmp/iam-role-policy
我收到了这个错误-_-:
An error occurred (ValidationError) when calling the PutRolePolicy operation: The specified value for policyDocument is invalid. It must contain only printable ASCII characters.
这是我用来创建策略的命令
echo '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:Describe*", "ssm:GetParameters" ], "Resource": "*" } ] }' > /tmp/iam-role-policy
我仍然在这里堆叠任何帮助!
解决方案
我使用了另一种方法来遇到错误。
使用 Git bash 终端
- 创建一个角色策略文档,该文档还允许操作“eks:Describe*”和“ssm:GetParameters”。您可以通过使用角色策略设置环境变量来做到这一点:
我使用了 var 而不是重定向到导致我出现问题的文件。
EKS_DESCRIBE="{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Action\": [ \"eks:Describe*\", \"ssm:GetParameters\" ], \"Resource\": \"*\" } ] }"
- 通过运行此命令检查是否
EKS_DESCRIBE
真的创建echo $EKS_DESCRIBE
$ echo $EKS_DESCRIBE
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:Describe*", "ssm:GetParameters" ], "Resource": "*" } ] }
- 将策略附加到角色
aws iam put-role-policy --role-name UdacityFlaskDeployCBKubectlRole --policy-name eks-describe --policy-document "$EKS_DESCRIBE"
使用 windows cmd 的另一种可能方式是
使用 Windows 命令
- 使用 set cmd 创建策略
set EKS_DESCRIBE="{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Action\": [ \"eks:Describe*\", \"ssm:GetParameters\" ], \"Resource\": \"*\" } ] }"
- 检查变量
echo %EKS_DESCRIBE%
- 将策略附加到“UdacityFlaskDeployCBKubectlRole”。您可以使用 awscli 执行此操作:
aws iam put-role-policy --role-name UdacityFlaskDeployCBKubectlRole --policy-name eks-describe --policy-document %EKS_DESCRIBE%
推荐阅读
- reactjs - Redux 表单 - enableReinitialize 覆盖以前的数据,keepDirtyOnReinitialize 不起作用
- c# - 从 PartialView 到 Controller 的模型返回 null
- php - 如何扫描所有可用的 SCSS 文件并解析注释以将信息创建到数组中?
- php - 我应该在 Laravel 5.7 中更好地使用 session() 或 collect() 辅助函数吗?
- bash - Bash 从结果中获取多个数字
- scala - Spark Scala,如何检查数据框中是否存在嵌套列
- postgresql - 在单次调用中获取 PostgreSQL 函数输出
- node.js - 使用 Node.js 从嵌套 JSON 中获取特定值
- scrapy - 网络爬虫无法正确打印页面
- python - 将 tf.identity 操作添加到现有图