AWS创建角色 - 已禁止字段

blu*_*kin 42 amazon-s3 amazon-web-services amazon-iam aws-cli

我正在尝试使用AWS文档建议的一个简单示例,使用策略json文件创建角色 http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html 我收到错误

A client error (MalformedPolicyDocument) occurred when calling the CreateRole operation: Has prohibited field Resource
Run Code Online (Sandbox Code Playgroud)

这是命令,

>> aws iam create-role --role-name test-service-role --assume-role-policy-document file:///home/ec2-user/policy.json
A client error (MalformedPolicyDocument) occurred when calling the CreateRole operation: Has prohibited field Resource
Run Code Online (Sandbox Code Playgroud)

该策略与示例中提到的策略完全相同

>> cat policy.json 
{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "s3:ListBucket",
    "Resource": "arn:aws:s3:::example_bucket"
  }
}
Run Code Online (Sandbox Code Playgroud)

我的版本似乎是最新的

>> aws --version
aws-cli/1.9.9 Python/2.7.10 Linux/4.1.10-17.31.amzn1.x86_64 botocore/1.3.9
Run Code Online (Sandbox Code Playgroud)

pho*_*nix 55

政策文件应该是这样的:

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Principal": {"Service": "ec2.amazonaws.com"},
    "Action": "sts:AssumeRole"
  }
}
Run Code Online (Sandbox Code Playgroud)


这被称为信任关系政策文件.这与政策文件不同.您粘贴的任何内容都是附加到使用附加角色策略完成的角色的策略.
甚至上面的角色文档也在您粘贴的链接中给出.这应该工作.我一直致力于角色和政策,我可以肯定地说.
即使在aws控制台中,对于角色,您也可以看到信任关系的单独选项卡.此外,您当前在权限选项卡中附加了策略.

  • @NeerajRathod 指定错误。永远不要说“一些错误”。 (2认同)