【发布时间】:2021-02-28 02:48:03
【问题描述】:
我正在尝试制定一个 S3 存储桶策略,它只允许来自 CloudFront 的 GetObject 但能够将对象直接放入存储桶。
尝试了几种组合,但都没有奏效。 这是我尝试的最新尝试。
With, Block All Public Access: ALL OFF.
Bucket Policy:
{
"Version": "2012-10-17",
"Id": "Policy1604429581591",
"Statement": [
{
"Sid": "Stmt1605554261786",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::MYBUCKET/*"
},
{
"Sid": "Stmt1605557746418",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::MYBUCKET/*"
},
{
"Sid": "Stmt1605557857544",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:MYCLOUDFRONT"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::MYBUCKET/*"
}
]
}
这允许我将对象放入存储桶,但使用 CloudFront URL 的 GetObject 被拒绝访问。如果我删除了
{
"Sid": "Stmt1605557746418",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::MYBUCKET/*"
}
我可以从 CloudFront 以及直接从存储桶获取对象。
请帮忙!
【问题讨论】:
标签: amazon-s3 amazon-cloudfront