21

我正在通过我的存储桶上的console.aws.amazon.com尝试这些策略:

    {
      “陈述”: [
        {
          “效果”:“允许”,
          “行动”: [
            "s3:ListBucket",
            "s3:GetBucketLocation",
            “s3:ListBucketMultipartUploads”
          ],
          "资源": "arn:aws:s3:::itnighq",
          “健康)状况”: {}
        },
        {
          “效果”:“允许”,
          “行动”: [
            "s3:AbortMultipartUpload",
            “s3:删除对象”,
            "s3:DeleteObjectVersion",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:GetObjectVersion",
            "s3:GetObjectVersionAcl",
            "s3:PutObject",
            "s3:PutObjectAcl",
            “s3:PutObjectAclVersion”
          ],
          "资源": "arn:aws:s3:::itnighq/*",
          “健康)状况”: {}
        },
        {
          “效果”:“允许”,
          "动作": "s3:ListAllMyBuckets",
          “资源”:“*”,
          “健康)状况”: {}
        }
      ]
    }

但我收到此错误消息: Policy has invalid action - s3:ListAllMyBuckets 它似乎不喜欢"Resource": "*",我也尝试使用 **arn:aws:s3:::* ***,但它也不起作用。

有人有任何线索吗?

4

4 回答 4

17

正如 zdev 提到的,您需要为 IAM 执行此操作。转到IAM 控制台并导航到用户 > 权限 > 内联策略 > 创建 > 自定义,然后输入:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets"
            ],
            "Resource": [
                "arn:aws:s3:::*"
            ]
        }
    ]
}
于 2015-09-25T10:54:33.757 回答
14

我自己想通了。它需要在IAM中完成,而不是在 S3 本身中......

于 2012-12-01T11:10:56.320 回答
2

@dnlbrky 您需要通过为 IAM 用户/组/角色设置策略并使用 IAM 用户/组的 AWS 控制台或调用 put_[role/user/group]_policy boto API 调用来设置它.

于 2015-04-10T20:13:54.923 回答
1

任何人都遇到同样的问题

S3 存储桶Policy Actions不同于IAM policy actions. 可以从https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html引用 s3 操作。

或尝试以下操作

"Action": [
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:PutObject"
      ], 
于 2020-01-22T07:26:15.663 回答