即使使用存储桶和/或用户策略,也无法在AWS s3存储桶上进行访问

斯科特·德克

我已经尝试了几乎所有可能的存储桶策略。还尝试向用户添加策略,但是每次尝试使用AWS控制台从s3存储桶下载对象时,都会遇到访问被拒绝的情况。

值区政策:

{
    "Version": "2012-10-17",
    "Id": "MyPolicy",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::12345678901011:user/my-username"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::my-bucket",
                "arn:aws:s3:::my-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::my-bucket/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "XX.XXX.XXX.XXX/24",
                        "XXX.XXX.XXX.XXX/24"
                    ]
                }
            }
        }
    ]
}

那不起作用,因此我尝试将策略添加到我的用户名:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "StmtXXXXXXXXXX",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket",
                "arn:aws:s3:::my-bucket/*"
            ]
        }
    ]
}
约翰·罗滕斯坦

听起来很奇怪,但可以将拥有存储桶的帐户无法访问的对象上传到Amazon S3

将对象上载到Amazon S3(PutObject)后,可以指定访问控制列表(ACL)。可能的值为:

  • 私人的
  • 公众阅读
  • 公众读写
  • 认证读
  • aws-exec-read
  • 桶拥有者阅读
  • 桶所有者完全控制

通常,您应该使用bucket-owner-full-controlACL上传对象这允许存储桶的所有者访问对象,并具有控制对象的权限(例如,删除对象)。

如果未提供此权限,则他们将无法访问或修改该对象。

我知道这与您认为存储桶应该工作的方式相矛盾,但这是事实!

解决方法:

  • 使用bucket-owner-full-controlACL重新上传对象,或者
  • 原始上传者可以遍历对象,并CopyObject使用新的ACL进行就地操作这样无需重新上传即可更改权限。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么即使我在存储桶策略中授予用户权限,用户也无法访问我们的 S3 存储桶?

如何对AWS S3存储桶访问进行限速

AWS S3 存储桶策略访问被拒绝

AWS:无法通过s3存储桶策略授予s3访问权限

AWS S3 存储桶策略

即使在S3存储桶策略中指定了IAM用户,访问也会被拒绝

AWS S3:特定存储桶的用户策略

以root用户(=存储桶拥有者)在AWS S3存储桶上放置存储桶策略时拒绝访问

从VPC访问S3存储桶

AWS S3:尝试访问的存储桶必须使用指定的终结点进行寻址

AWS S3 存储桶访问错误和存储桶显示旧文件

Amazon S3存储桶策略,允许用户写入存储桶,但仅限该存储桶

AWS S3存储桶加密-存储桶属性设置与存储桶策略设置

S3存储桶策略与访问控制列表

s3存储桶策略访问被拒绝

如何使用IAM策略AWS仅向S3存储桶的根帐户用户授予访问权限?

通过makeUnauthenticatedRequest进行JS AWS S3公共存储桶访问:“网络故障”?

防止Sagemaker用户访问s3存储桶

使用Python boto3在大量存储桶上进行S3默认服务器端加密

使用boto3访问其他AWS用户S3存储桶

对 AWS S3 存储桶的访问受限

拒绝对S3存储桶的AWS CloudFront访问

AWS S3 存储桶访问令牌

配置AWS Lambda以访问S3存储桶

访问客户端的 AWS S3 存储桶

如何为AWS和CF用户分配对S3存储桶的访问权限?

使用Node.js对s3存储桶进行api调用时访问被拒绝

当存储桶设置为公共时,IAM用户只能访问S3存储桶

如何使用简单的s3存储桶策略授予对加密存储桶的跨帐户访问权限?