【问题标题】:Root user is denied downloading from s3 bucket根用户被拒绝从 s3 存储桶下载
【发布时间】:2015-04-26 09:19:07
【问题描述】:

在使用我的 root 权限(访问密钥和密钥)配置后使用 s3cmd,每当我尝试使用 syncget 从存储桶下载内容时,我都会收到这个奇怪的 root 帐户权限错误:

WARNING: Remote file  S3Error: 403 (Forbidden):

所有者是我使用 IAM 控制台创建的另一个用户,但我期望根用户始终获得完全且不受限制的访问权限是否正确? 同样使用aws-cli 我得到一个未知错误

A client error (Unknown) occurred when calling the GetObject operation: Unknown

我还认为我必须添加一个存储桶策略以允许 root 访问(听起来很奇怪),作为第一步,我使用此策略添加了匿名访问

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

但错误仍然与上述相同。存储桶的所有者也是根用户(尝试访问的用户与所有者相同)。我在这里理解错了什么?如何恢复根用户对我自己的一位 IAM 用户创建的存储桶的访问权限?

【问题讨论】:

  • 您是否检查过您的存储桶 ACL?此外,您是否尝试过不使用aws-clis3cmd 的简单HTTP/S GET?上述存储桶策略的匿名访问应允许 AWS 身份验证之外的匿名请求。我知道这不能回答问题,但它可以帮助确定问题所在。
  • 谢谢。这可能是我之前(使用 Web 控制台)制作了一个存储桶的场景,但之后我使用 s3cmd 上传了可能使用不同的凭据。现在尝试使用 root 凭据下载。 s3cmd setacl --acl-grant=all:canonicalID --recursive s3://bucket 不起作用。另外,我不知道“简单的 HTTP/S GET”是什么意思。
  • "doesn't work"表示使用setacl后没有问题,提示“ACL已更新”,但错误依旧。

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


【解决方案1】:

要使任何 S3 读取权限起作用,您不仅需要允许这些对象,还需要在存储桶上允许 ListBucketListAllMyBucketsGetBucketLocation,我的合并版本:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": "s3:ListAllMyBuckets",
        "Resource": "arn:aws:s3:::*"
    },
    {
        "Effect": "Allow",
        "Principal": "*",
        "Action": [
            "s3:Get*",
            "s3:List*"
        ],
        "Resource": [
            "arn:aws:s3:::myBucket/*",
            "arn:aws:s3:::myBucket"
        ]
    }
]
}

AWS IAM Documentation查看更多示例

【讨论】:

    【解决方案2】:

    重新检查存储状态以及 S3 是否处于生命周期中总是一个好主意,这样在这种情况下它可能已经转移到 Glacier。在这里,我尝试使用 s3cmd 命令访问 Glacier 对象,但我收到了无信息且不相关的权限错误。最好将此作为对s3cmd 未来版本的增强功能添加,以获得更好的警告/错误消息。

    【讨论】:

      猜你喜欢
      • 2019-02-03
      • 2018-01-10
      • 1970-01-01
      • 2023-03-29
      • 2017-02-12
      • 1970-01-01
      • 2019-02-25
      • 2021-02-21
      • 1970-01-01
      相关资源
      最近更新 更多