amazon-web-services - 当权限为 s3 时,S3 存储桶的 ListObjects 的 AccessDenied :*

标签 amazon-web-services amazon-s3 amazon-iam

我得到:

An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied

当我尝试从 S3 存储桶获取文件夹时。

使用此命令:

aws s3 cp s3://bucket-name/data/all-data/ . --recursive

存储桶的 IAM 权限如下所示:

{
"Version": "version_id",
"Statement": [
    {
        "Sid": "some_id",
        "Effect": "Allow",
        "Action": [
            "s3:*"
        ],
        "Resource": [
            "arn:aws:s3:::bucketname/*"
        ]
    }
] }

我需要更改什么才能成功复制ls

最佳答案

您已授予对 S3 存储桶内的对象执行命令的权限,但尚未授予对存储桶本身执行任何操作的权限。

稍微修改您的政策将如下所示:

{
  "Version": "version_id",
  "Statement": [
    {
        "Sid": "some_id",
        "Effect": "Allow",
        "Action": [
            "s3:*"
        ],
        "Resource": [
            "arn:aws:s3:::bucketname",
            "arn:aws:s3:::bucketname/*"
        ]
    }
  ] 
}

但是,这可能会提供超出所需的权限。遵循 AWS IAM 最佳实践 Granting Least Privilege看起来像这样:

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

关于amazon-web-services - 当权限为 s3 时,S3 存储桶的 ListObjects 的 AccessDenied :*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38774798/

相关文章:

amazon-web-services - 无法使用 session 管理器连接 EC2 实例

php - S3::inputFile():无法打开输入文件(仅来自 s3 存储桶的输入文件)

aws-cloudformation - 向堆栈添加权限边界

node.js - Lex 聊天机器人错误 : Reached second execution of fulfillment lambda on the same utterance

amazon-web-services - 分配 IAM 用户仅访问一个 EC2 实例

amazon-web-services - AWS API 网关 + Elastic Beanstalk 和微服务

amazon-web-services - 与 CloudFront 结合使用时,AWS S3 标准不频繁访问与减少冗余存储类?

ruby-on-rails - 如何使用 carrierwave 获取 S3 私有(private)存储桶中对象的访问 url

amazon-web-services - AWS lambda : Cross account Policy for Lambda function S3 to S3 copy

ssl - 无法选择自定义 SSL 证书(存储在 AWS IAM 中)