Ran*_*iev 2 amazon-s3 amazon-web-services amazon-cloudfront
在 S3 上,我们将所有文件设为私有。用户无法通过 S3 链接加载任何文件。但它们都是通过cloudfront链接公开的。
如何限制对 ./restricted.txt 的访问?(只有使用签名 URL 链接的用户才能通过 cloudfront 链接看到该文件),./not_restricted.txt 必须同时公开。
我是怎么做到的。
我在 s3 上创建了 /public 和 /private 文件夹,分隔了我的私有/公共文件,创建了指向 /public 的 cloudfront 源。因此,/public 文件夹中的所有 S3 文件都是公共的,我可以使用不带公共前缀 /img1.jpg 的链接加载它们,而不是 /public/img1.jpg,因为 cloudfront 将 /public 视为根文件夹。
现在,我位于 /private 或 /public 文件夹上方任何其他位置的所有文件通过 S3 和 cloudfront 链接都是私有的。
但我不知道如何为具有 cloudfront 路径的 /private/restricted.txt 文件创建签名 URL。我可以创建使用 S3 路径的签名 url,但我需要有 cloudfront 链接。
提前致谢。
小智 7
CloudFront 中有“缓存行为”的概念。基于 URL 路径,您可以修改缓存行为,包括使用签名 URL/Cookie 的要求。
如果我理解你想要:
只需在 CloudFront 发行版中添加新的缓存行为并将其设置Restrict Viewer Access (Use Signed URLs or Signed Cookies)为“是”即可完成此操作。例如:
所以重申一下,实现这一目标的最简单方法是
如果这不能回答您的问题,例如,如果您需要维护路径并且无法在 URL 架构本身中使用 /public 和 /private,请通过评论告诉我,我可以尝试详细说明。谢谢!
| 归档时间: |
|
| 查看次数: |
3972 次 |
| 最近记录: |