gpt4 book ai didi

amazon-s3 - 创建允许访问 Cloudfront 但限制其他任何人访问的 S3 存储桶策略

转载 作者:行者123 更新时间:2023-12-02 21:57:55 26 4
gpt4 key购买 nike

我有以下政策:

{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "Stmt1395852960432",
"Action": "s3:*",
"Effect": "Deny",
"Resource": "arn:aws:s3:::my-bucket/*",
"Principal": {
"AWS": [
"*"
]
}
},
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E1IYJC432545JN"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}

但是,这会拒绝所有请求者(甚至 Cloudfront)的请求。正确的做法是什么?

问题在于对象是由客户端创建并具有公共(public)读取功能的。我目前无法立即控制客户端来更改此设置。所以我想要的是有一个覆盖单个对象 ACL 的策略。所以这里的默认拒绝不起作用。

最佳答案

S3 策略将如下所示:

{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXX"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YYYYYYYYYYYYY.com/*"
}
]
}

但是,我没有手动生成这个。当您在 cloudfront 中添加源 (S3) 时,您可以选择“限制存储桶访问” - 在此选择"is"并继续。 Cloudfront 配置将自动为您完成剩下的工作。

详细信息请参见:Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content - Amazon CloudFront

关于amazon-s3 - 创建允许访问 Cloudfront 但限制其他任何人访问的 S3 存储桶策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22668121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com