首页 > 解决方案 > 为用户保护 S3 存储桶?

问题描述

我开发了一个反应原生应用程序,使用 AWS Amplify 来支持后端(DynamoDB、S3)。该应用程序的所有用户都必须使用 Auth.signIn() 登录并且是用户池的一部分。

进入后,他们可以开始通过应用程序将视频上​​传到 S3,或在应用程序中查看位于PUBLIC的 S3 存储桶中的视频。

我使用 S3 视频的路径 ( https://myS3bucket.... ) 作为视频的源 URL。但是,只有当存储桶公开时,这些视频才在我的应用程序中可见。任何其他设置(受保护/私人)并且没有视频可见。我怎样才能使它更安全?

标签: reactjsamazon-web-servicesreact-nativeamazon-s3aws-amplify

解决方案


S3 存储桶有 3 种管理安全性的方法:

  • IAM:与存储桶相同的 AWS 账户中的任何用户或角色都可以被授予与 S3 存储桶及其对象交互的权限。
  • S3 存储桶策略:授予存储桶范围(或前缀)对 S3 存储桶的访问权限。
  • S3 ACL - 每个对象级别的权限。

如今,它通常建议不要使用 S3 ACL,因为它们的功能通过 S3 存储桶策略得到了改进。仅当您需要特定对象具有不同的权限集时才使用它们。


推荐阅读