如何仅定义特定存储桶仅允许S3完全访问策略到该存储桶?

时间:2017-02-16 13:53:12

标签: amazon-web-services amazon-s3

我为用户名创建了以下S3策略 - john帐户:416XXXXXX,因此他只能使用consolek S3文件夹。

但这会产生以下错误: 此策略包含以下错误:已禁止字段Principal有关IAM策略语法的详细信息,请参阅AWS IAM策略。

我到底错过了什么?

{  
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1487252735934",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::john",
      "Principal": {
        "AWS": [
          "arn:aws:iam::416XXXXXX:user/karthik"
        ]
      }
    }
  ]
}

2 个答案:

答案 0 :(得分:1)

这是S3存储桶策略还是IAM策略?您的问题是它是一个存储桶策略,但错误表明它是一个IAM策略。 IAM策略不包含Principle部分,因为它直接分配给将使用它的Principle。

答案 1 :(得分:1)

IAM政策没有原则部分。您可以在http://awspolicygen.s3.amazonaws.com/policygen.html创建基于资源的策略。