Kid*_*g_C 3 amazon-s3 amazon-web-services
我对 S3 存储桶策略设置非常困惑。
在这里您可以选择阻止所有公共访问。
但是,如果您取消选择这些选项,为了让公众访问存储桶和对象,您仍然需要在“存储桶策略”部分编辑/添加策略:
您需要将上述策略编辑为以下内容:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::myapp/*"
},
{
"Sid": "2",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity 111111111"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::myapp/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果不指定"Effect": "Allow", "Principal": "*",,则默认策略为“阻止”。
那么,如果默认情况下 public 已经被阻止,为什么我们还需要“阻止公共访问”部分呢?
OAR*_*ARP 11
阻止公共访问功能是存储桶的另一层保护。\nAmazon S3 存储桶和对象是私有的,默认情况下受到保护,可以选择使用访问控制列表 (ACL) 和存储桶策略来向其他 AWS 账户或公共 (匿名)请求。
\n在阻止公共访问功能发布之前,由于配置错误,经常会看到更多围绕 S3 上存储的数据的数据泄漏和泄露。这不是亚马逊\xe2\x80\x99s的错,是公司\xe2\x80\x99s的错。
\n因此,如果您想让存储桶或对象可公开访问,首先您需要禁用这个额外的安全层(禁用它并不意味着存储桶或对象是公开的,仅意味着您可以将它们公开),然后使它们通过 ACL、存储桶策略等公开。
\n参考:
\nAmazon S3 阻止公共访问 \xe2\x80\x93 为您的账户和存储桶提供另一层保护
\n| 归档时间: |
|
| 查看次数: |
4301 次 |
| 最近记录: |