我希望能够以多种方式限制对S3存储桶中文件的访问.这是因为存储的文件可以以不同的方式访问.我们这样做是因为我们有TB文件,因此我们不想复制存储桶.
一种访问方法是通过标记化的CDN传递,其使用S3桶作为源.为了可以提取文件,我已经设置了文件的权限,允许每个人下载.使用存储桶策略,我可以限制可以获取存储桶中文件的IP地址.所以我将它们限制在CDN IP块中,并且那些IP地址之外的任何人都无法获取该文件.
另一种是访问方法是使用我们的商店系统直接下载,该系统生成S3时间到期预签名URLS.
由于CDN pull有效地需要文件可公开读取,有没有办法:
首先检查有效的预签名URL,如果请求有效,则提供该文件
如果无效,请回退到IP地址限制以防止进一步访问?
我有一个正在运行的IP限制存储桶策略,但是它会阻止预先签名的访问...删除存储桶策略会修复预先签名的访问权限,但文件是公共的.
默认情况下,Amazon S3中的对象是私有的.然后可以通过以下任何方法授予访问权限:
尝试访问Amazon S3中的内容时,只要上述任何一项允许访问,就会授予访问权限.无法通过其他方法拒绝访问 - 例如,如果通过预先签名的URL授予访问权限,则Bucket Policy不会导致拒绝访问.
因此,系统会自动执行您所希望的操作...如果预签名URL有效,则授予访问权限.如果IP地址来自所需范围,则授予访问权限.它应该正常工作.
你说IP限制"踩踏预先签名的访问权限"是非常奇怪的 - 这是不可能的.
| 归档时间: |
|
| 查看次数: |
4041 次 |
| 最近记录: |