S3 作为 AWS CloudFront 源真的安全吗?

发表时间:2020-05-15 11:00

S3 作为 AWS CloudFront 源真的安全吗?可以从哪几方面着手提高数据的安全性?这就需要咱们用点子智慧~



身为伊克罗德的解决方案架构师专业团队一员,编号007,今天在这里和大家分享我的经验。通常在我初次配置CloudFront时,会需要配置以下几个步骤:


步骤一:将内容上传到 Amazon S3,然后授予对象权限,必须允许公开读取存储桶和文件,文件必须授予公共读取访问权限。



步骤二:创建 CloudFront 分配


数据安全可能面临威胁



进行到这一步,我有一个疑问,当首次将 Amazon S3 存储桶设置为 CloudFront 分配的源时,将授予每个人读取我存储桶中的文件的权限。这样,任何人都可以通过 CloudFront 或使用 Amazon S3 URL 访问文件。


尽管 CloudFront 不会公开 Amazon S3 URL,但如果应用程序从 Amazon S3 中直接提供任何文件,或有人泄露了 Amazon S3 中的特定文件的直接链接,则用户可能会拥有这些 URL,这将是一个灾难!


如何提高数据的安全性?


因此我疯狂寻找答案时,终于找到更好的方法来提高信息的安全:


1.创建一个称为源访问身份(OAI)的特殊 CloudFront 用户,并将该用户与您的分配相关联。


2.配置 S3 存储桶权限,以便 CloudFront 能够使用 OAI 访问存储桶中的文件并将这些文件提供给您的用户。确保用户无法使用 S3 存储桶的直接 URL 访问该存储桶中的文件。


以下是具体步骤:


一、创建 OAI 并将其添加到您的分配



限制存储桶访问 中选择“是”。

如果已有要使用的 OAI,请选择使用现有身份。然后在您的身份列表中选择 OAI;

如果没有OAI,选择创建新的身份。

※注:授予对存储桶的读取权限 选择“是”,CloudFront 将更新存储桶权限,以授予指定的 OAI 读取存储桶中文件的权限;


如果希望手动更新 S3 存储桶的权限,请选择 “否”。

此处我们将选择“否”,手动更新存储桶的权限。


二、授予 OAI 读取 Amazon S3 存储桶中文件的权限


要在 Amazon S3 存储桶策略中将 OAI 指定为 Principal,使用 OAI 的 Amazon 资源名称 (ARN),其中包括 OAI 的 ID。例如:



此处已替换为 OAI 的 ID。



三、向 OAI 授予权限


要向 OAI 授予对 Amazon S3 存储桶中对象的访问权限,例如,s3:GetObject 权限允许 OAI 读取存储桶中的对象。


例:允许 OAI 读取指定存储桶 (s3:GetObject) 中的对象


四、更新 Amazon S3 对象 ACL

在 Amazon S3 控制台中使用 Amazon S3 对象的权限,更新对象ACL。使用 ACL 向 OAI 授予访问权限时,您必须使用其 Amazon S3 规范用户 ID 来指定 OAI。



至此,执行完这些步骤后,用户只能通过 CloudFront 访问您的文件,而无法直接从 S3 存储桶访问您的文件。


现在中国区也支持这个功能啦,快去用起来吧!





产品和服务  
解决方案  
客户案例
关注我们
联系我们
- 海外代付
- Amazon Web Services
姓名
*
职称
*
电话
*
邮箱
*
公司
*
地址
*
需求
*
提交
扫描二维码关注我们,获取更多云端资讯。
*您已详阅本公司的 隐私权声明,并同意本公司依法搜集、处理及利用您的个人资料