我正在处理申请,我们会在S3存储桶上传客户的视频,pdf和其他机密文件。
目前,客户可以在视频组件(Angular组件)中播放这些视频,PDF文件可以在PDF组件中读取。(角度组件)
我关注的是它的安全性。
我希望客户可以播放/只阅读他们的视频/ pdf。 没有人可以下载/播放/阅读这些内容。
1。)我该如何实现?
2。)我必须在S3存储桶上启用/禁用哪些内容。 (S3 Bucket政策)
3.。)我们没有配置IAM角色。我们需要吗?
我对此毫无头绪...... 如果有人可以指导/提供一些有用的链接,那就太棒了。
提前致谢。
答案 0 :(得分:1)
我假设每个用户在S3存储桶中都有自己的文件夹。
1。 我会处理后端的文件夹和文件,并使用他们的用户ID向每个用户显示他们应该看到的文件。
假设您的S3存储桶名为inventory,我的用户名是ABC123,应该有一个文件夹,如: s3:// inventory / ABC123 /。 要么 s3:// inventory /(您的自定义用户ID)/
我会根据用户ID在我的应用中创建S3存储桶的URL。
当您向用户显示文件时,必须更改浏览器中的URL,以便他们无法看到文件的真实路径。
2
3。 (如果您的意思是指用户的IAM角色),如果您通过应用程序处理对S3存储桶的访问权限,则表示您不需要它。
答案 1 :(得分:0)
最后,我得到了答案。
第一个问题的答案: @Cyrus在他的回答中提到的是绝对正确的。除了这个答案,我想在其中添加更多的点。
正如他正确提到的那样......当您向用户显示文件时,浏览器中的网址必须为 改变了,所以他们看不到文件的真实路径。
这给了我关于 CDN(内容分发网络)服务器的提示。
最后,我们会选择 CDN-S3组合。
这意味着客户只会暴露给CDN网址。 (不是S3 url(s))那些将是预签名网址(安全以及临时网址。)
可以从这里了解更多信息:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-urls.html
回答(2)和(3):正如@Cyrus所说。