AWS S3 ACL公共读写:安全问题

时间:2017-09-25 07:52:01

标签: amazon-web-services amazon-s3

我想从docs

获得有关AWS S3 ACL公共读写的一些解释
  

所有者获取FULL_CONTROL。 AllUsers组获得READ和WRITE   访问。通常不建议在桶上授予此权限。

     

[...]

     

所有用户组 - 代表人   http://acs.amazonaws.com/groups/global/AllUsers。访问权限   该组允许任何人访问该资源。请求可以是   签名(已验证)或未签名(匿名)。未签名的请求省略   请求中的身份验证标头。

但是这意味着每个aws帐户都可以读/写我的文件?或者只有我的IAM用户可以读/写我的文件?

1 个答案:

答案 0 :(得分:1)

请查看此文档:http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html

  

Amazon S3预定义组

     

Amazon S3有一组预定义的组。授予帐户访问权限时   对于组,您指定我们的URI之一而不是规范用户   ID。我们提供以下预定义组:

     

经过身份验证的用户组 - 代表方式   http://acs.amazonaws.com/groups/global/AuthenticatedUsers。这个小组   代表所有AWS账户。该组的访问权限允许   用于访问资源的任何AWS账户。但是,所有请求必须是   签名(已通过身份验证)。

     

所有用户组 - 代表人   http://acs.amazonaws.com/groups/global/AllUsers。访问权限   该组允许任何人访问该资源。请求可以是   签名(已验证)或未签名(匿名)。未签名的请求省略   请求中的Authentication头。

     

日志传送组 -   由http://acs.amazonaws.com/groups/s3/LogDelivery代表。写   对存储桶的权限使该组能够写入服务器访问日志   (请参阅服务器访问日志记录)到存储桶。

使用ACL,您可以与其他AWS账户共享您的S3存储桶。未登录AWS账户的用户无法访问您的存储桶。

如果您希望AWS账户和非AWS账户都可以访问您的S3存储桶,则必须定义S3存储桶策略。 例如:

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "AllowPublicRead",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::S3-Bucket-name/*"
        }
    ]
}