【问题标题】:Cannot upload to s3 bucket with public access blocked无法上传到公共访问被阻止的 s3 存储桶
【发布时间】:2020-07-17 16:13:44
【问题描述】:

我正在尝试上传到一个 s3 存储桶,如果我设置阻止所有公共访问:关闭,它工作正常。但是,打开它并遵循以下存储桶策略,我会收到拒绝访问消息

{
    "Version": "2012-10-17",
    "Id": "Policy1594969692377",
    "Statement": [
        {
            "Sid": "Stmt1594969687722",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::066788420637:user/transloadit2"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::bucketname"
        }
    ]
}

我认为启用/禁用公共访问只是允许创建规则然后将存储桶公开?我不明白为什么它在禁用时会阻止我的上传。

非常感谢, 马特

【问题讨论】:

  • 你是如何执行上传的?您使用什么命令和凭据?
  • @JohnRotenstein 感谢您的建议。这实际上是上传的问题,因为对象被设置为公共但公共访问被拒绝,这失败了

标签: amazon-s3


【解决方案1】:

您似乎希望授予特定 IAM 用户上传到 Amazon S3 存储桶的权限。

为此,您应该向 IAM 用户自己添加策略,而不是创建存储桶策略,例如:

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

注意:此策略授予太多权限,包括删除存储桶及其所有内容的权限。我建议您将其限制为所需的特定 API 调用(例如 PutObjectGetObject)。

基本上:

  • 如果您希望向一位用户授予访问权限,请将策略放在 IAM 用户上
  • 如果您希望向“所有人”授予访问权限,请使用存储桶策略

授予 IAM 用户的权限不受 S3 阻止公共访问的影响。

【讨论】:

    【解决方案2】:

    您将存储桶本身用作资源。如果要对对象进行操作(放置、获取等),则需要将对象路径放置到资源中。因此,在您的情况下,您应该像这样更新您的政策:

    {
        "Version": "2012-10-17",
        "Id": "Policy1594969692377",
        "Statement": [
            {
                "Sid": "Stmt1594969687722",
                "Effect": "Allow",
                "Principal": {
                    "AWS": "arn:aws:iam::066788420637:user/transloadit2"
                },
                "Action": "s3:*",
                "Resource": [
                    "arn:aws:s3:::bucketname",
                    "arn:aws:s3:::bucketname/*"
                ]
            }
        ]
    }
    

    【讨论】:

      猜你喜欢
      • 2012-06-22
      • 2017-12-30
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 2019-04-20
      • 2018-10-06
      • 2015-08-23
      • 1970-01-01
      相关资源
      最近更新 更多