【问题标题】:Getting error: "Has prohibited field Principal", when creating policy创建策略时出现错误:“已禁止字段 Principal”
【发布时间】:2020-01-04 03:38:23
【问题描述】:

我想创建一个策略让每个人都可以读取我的 S3 存储桶,这是我创建的策略(我关注 this guide):

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    注意:如果要在bucket级别授予匿名用户读取权限,则需要关闭以下两个设置。

    【讨论】:

      【解决方案2】:

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

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

      检查这是否适合您。

      【讨论】:

      • 谢谢,我试过了,我得到了同样的错误。我从 AWS 策略生成器中粘贴了确切的脚本,但仍然出现此错误!
      • stackoverflow.com/questions/45478585/… 尝试检查信任策略
      猜你喜欢
      • 1970-01-01
      • 2021-09-26
      • 2017-11-02
      • 2020-04-22
      • 2017-07-27
      • 1970-01-01
      • 2017-11-17
      • 2016-10-18
      相关资源
      最近更新 更多