0

我正在开发我们在 S3 存储桶上上传客户视频、pdf 和其他机密文件的应用程序。

目前,客户可以在视频组件(Angular 组件)中播放这些视频,并且可以在 PDF 组件中读取 PDF 文件。(Angular 组件)

我担心的是它的安全性。

我希望客户只能播放/阅读他们的视频/pdf。 没有人可以下载/播放/阅读这些东西。

1.)我怎样才能做到这一点?

2.) 我必须在我的 S3 存储桶上启用/禁用哪些东西。(S3 存储桶策略)

3.) 我们没有配置 IAM 角色。我们需要它吗?

我对此一无所知...如果有人可以指导/提供一些有用的链接,那就太好了。

提前致谢。

4

2 回答 2

1

我假设每个用户在您的 S3 存储桶中都有自己的文件夹。

1. 我将在后端处理文件夹和文件,并使用他们的用户 ID 向每个用户显示他们应该看到的文件。

假设您的 S3 存储桶名为 inventory,我的用户名是 ABC123,应该有一个文件夹,如: s3://inventory/ABC123/ 。或 s3://inventory/(您自定义的用户 ID)/

我会根据用户 ID 在我的应用程序中创建指向 S3 存储桶的 URL。

当您向用户显示文件时,必须更改浏览器中的 url,这样他们就无法看到文件的真实路径。

2.

  • 如果您需要访问文件的先前版本,您可以激活版本控制。
  • 访问请求的日志。
  • 文件加密
  • 如果您担心成本,请标记

3.(如果您指的是用户的 IAM 角色),如果您通过应用处理对 S3 存储桶的访问,则不需要它。

于 2017-11-08T15:08:40.070 回答
0

最后,我得到了答案。

第一个问题的答案:@Cyrus 在他的回答中提到的是绝对正确的。除了那个答案,我还想在其中添加几点。

正如他正确提到的那样……

当您向用户显示文件时,必须更改浏览器中的 url,这样他们就无法看到文件的真实路径。

这给了我关于CDN(内容交付网络)服务器的提示。

最后,我们会选择CDN-S3 组合

这意味着客户端只会暴露给 CDN url。(不是 S3 url(s))那些将是预签名 URL(安全以及临时 url。)

可以从这里阅读更多信息:http: //docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-urls.html

(2) 和 (3) 的答案:正如@Cyrus 提到的。

于 2017-11-14T05:50:05.957 回答