Eri*_*pir 2 amazon-s3 amazon-web-services amazon-cloudfront
我使用Cloud-Front访问S3存储桶中的文件并更新文件.我现在禁用Cloud-Front,但是我现在无法直接通过S3访问这些文件.
此外,当我尝试设置存储桶中的项目的权限时,我收到一条消息,表明访问被拒绝.对于直接通过S3更新的项目,我没有这样的问题.
如何直接通过s3启用对我的存储桶中的文件的访问?
我遇到了同样的问题:使用Origin Access Identity创建的文件无法被主机帐户(或任何用户帐户)读取,也无法通过CLI,Lambda或Console访问.
我的解决方案是在客户端请求上设置一个标题,允许桶所有者控制文件.
x-amz-acl=bucket-owner-full-control
这不应要求更改您的Cloudfront分发版.所有x-amz-*标题都应自动传递.
我使用需要此标头的存储桶策略来补充此解决方案.因此,人们无法破解我的客户端并上传我无法管理的文件.以下内容添加到允许s3:PutObjectOrigin Access Identity 的策略语句对象中:
"Condition": {
"StringEquals": {
"s3:x-amz-acl": [
"bucket-owner-full-control"
]
}
}
Run Code Online (Sandbox Code Playgroud)
使用ACL管理访问权限中描述了原因.
例如,如果存储桶拥有者允许其他AWS账户上载对象,则只能通过拥有该对象的AWS账户使用对象ACL来管理这些对象的权限.
我发现管理由Origin Access Identity创建的ACL的唯一方法是x-amz-acl在对象创建时设置标头.
| 归档时间: |
|
| 查看次数: |
1358 次 |
| 最近记录: |