在创建策略时出现错误:“具有禁止的字段主体”

时间:2019-08-31 00:00:37

标签: amazon-web-services amazon-s3 amazon-policy

我想创建一个允许所有人阅读我的S3存储桶的策略,这是我创建的策略(我遵循this guide):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::my-s3-bucket/*",
            "Principal": "*"
        }
    ]
}

我无法创建此策略,这是我得到的错误:

  

此策略包含以下错误:具有禁止字段   主体有关IAM策略语法的更多信息,请参阅AWS   IAM政策

2 个答案:

答案 0 :(得分:1)

我已经使用Policy Generator生成了您想要的策略。

{
  "Id": "Policy1567210887639",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1567210883302",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::my-s3-bucket/*",
      "Principal": "*"
    }
  ]
}

检查是否适合您。

答案 1 :(得分:1)

问题是,我正在IAM中创建新策略。我必须在S3中将策略添加为存储桶策略:

选择S3存储桶->权限->存储桶策略:在此处粘贴策略

enter image description here

注意:如果要向存储桶级别的匿名用户授予读取权限,则需要关闭以下两项设置。

enter image description here