我有一个应用程序,其中用户是“用户组”的一部分。每个组都可以将文档“上传”到应用程序。我在后台使用S3存储这些文档。
我花了大量时间阅读AWS文档,但仍然不了解执行以下操作的最简单/最正确的方法:
我是否应该使用API为每个“组”创建一个新存储桶?
或者所有这一切都可以在一个包含每个组的子目录的桶中完成。然后设置访问限制?
我应该设置IAM组策略并将其应用于每个Web应用程序用户吗?
我不确定这种情况的最佳架构,所以我真的很欣赏正确方向上的一点。
答案 0 :(得分:0)
应将AWS凭据分配给应用程序以及需要维护应用程序的 IT员工。
应用程序的用户应该不获得AWS凭据。
用户应直接与您的应用程序进行交互,您的应用程序将从后端调用AWS API 。这样,您的应用程序就可以完全控制他们可以看到的数据以及他们可以执行的操作。
将其视为数据库 - 您永远不想让用户直接访问数据库。相反,它们应始终通过应用程序进行交互,该应用程序将在数据库中存储和更新信息。
以上有一些常见的例外情况:
底线:您的申请负责人!此外,请考虑使用预签名URL,以便在应用程序允许时直接访问对象。