amazon-web-services - 使命:使用 AWS 确保文件安全
问题描述
如何使用 AWS S3 完成这项任务?当用户通过单击文件的超链接(指向我们的 s3 存储桶中的对象的链接)访问文件时,如果他们尚未登录,我们的系统应该要求他们登录。系统将有一个用户列表来自我们有权查看该 URL 上的文件的人。对于客户上传的文件,授权用户将是:
- 顾客
- 我们所有与该客户有约会的销售人员
- 我们的管理面板用户
如果有人访问该 URL,并且他们不是我们系统授权查看该 URL 文件的少数人之一,则 AWS 不应提供该文件。
注意:我们的系统在这种情况下是指我们公司的网站。
解决方案
如果有人访问该 URL,并且他们不是我们系统授权查看该 URL 文件的少数人之一,则 AWS 不应提供该文件。
事实上,有几种方法可以实现此功能。第一步是防止对存储桶的公开访问(所有请求都需要经过身份验证)。
最简单的选择是使用预签名的url。应用程序将为 S3 对象的经过身份验证的用户生成一个预签名的 url,使用户可以临时访问 S3 对象。
另一种选择是使用 CDN (CloudFront) 和签名访问 cookie(如上一个答案)
推荐阅读
- javascript - React 渲染毫无意义的 div 打破了我的 flexbox 风格
- sql - 查询中的 Azure 流分析“TimeStamp By”在工作中不起作用,但在测试中工作正常
- python - Python 和 Matplotlib:使用 Numpy.Array 制作堆积条形图
- c# - 使用 OmitAutoProperties 进行 AutoFixture 自定义不起作用
- python - Doc2Vec 错误:需要至少一个数组来连接
- excel - 需要一些关于在数据库工作簿中编写按钮的指导
- mysql - PyMySQL callproc()未在proc中执行语句
- jenkins-pipeline - Jenkins Pipeline Parallel 步骤控制台日志格式问题
- c++ - 确定由指向它的指针调用的成员函数内部的上下文
- javascript - 未找到 Nuxt 导出“默认”(导入为“mod”)