繁体   English   中英

Bucket Policy 允许写入访问,尽管策略中只有 getObject

[英]Bucket Policy allows for write access despite only having getObject in policy

我正在处理 Django 应用程序并通过该应用程序上传文件。 我已经使用 django-storages 和 boto3 包正确连接了我的凭据,并且可以通过应用程序上传文件。

存储桶是所有者强制执行的文件所有权,我的存储桶策略应该是只读的,但允许文件上传:

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

我在一个具有AdministratorAccess策略的 IAM 用户上,但相信 S3 策略对 go 具有两者中最严格的权限。

我已经仔细检查过我正在使用正确的存储桶策略。

GetObject 是否也允许文件上传? 或者其他的东西...

我如何确定 inte.net 上没有陌生人可以修改我的文件?

但相信 S3 政策对 go 具有两者中最严格的许可

可悲的是,它不是那样工作的。 Allow权限是累积的,因此您的 IAM 用户可以写入 S3 存储桶,无论存储桶策略如何。

改变这一点的唯一方法是向您的存储桶策略添加显式拒绝写入。 这是因为显式Deny “总是胜过”任何Allow

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM