我应该使用 AWS IAM 还是我的根凭证来让我的 Web 应用程序访问 S3 存储桶?

我应该使用 AWS IAM 还是我的根凭证来让我的 Web 应用程序访问 S3 存储桶?

我有一个 Web 应用程序,需要上传/删除/读取 S3 存储桶内的文件。

我所做的就是创建一个全新的 Amazon WebServices(又名 AWS)帐户。我们将其称为 AWS 帐户[email protected]

webapp-cdn我以以下身份登录时创建了一个 S3 存储桶[email protected]

我知道我需要一个密钥和秘密,以便我的 Web 应用程序可以对存储桶具有读写访问权限。

AWS账户[email protected]有一个安全凭证页面,向我展示了这个 IAM 系统。

webapp_system我在 IAM 内部创建了一个名为 的用户和一个名为 的组s3_all_access。我将webapp_system用户放入组中s3_all_access,并授予该组成员对所有存储桶的所有访问权限。

当我创建组时,无法仅选择特定的存储桶进行访问。

现在用户有了自己的密钥和秘密。我还可以生成一个根凭证[email protected]对于由密钥和秘密组成的帐户。

我的问题是我应该使用哪个访问密钥?我对这个我从未使用过的 IAM 感到困惑。同时,我很欣赏有更细粒度的用户授权控制。

我在同一个 S3 帐户中设置了以下存储桶。

  • webapp-cdn:这是用于 LIVE 服务器
  • webapp-stage:这是用于临时服务器
  • webapp-devt:这是为了在开发过程中进行测试

我尝试探索 IAM 中的角色。它似乎不合适。

我不确定什么是最好的。理想情况下,我希望每个存储桶都有一对唯一的访问密钥。这是为了减少开发人员将密钥泄露给负责 LIVE 服务器的存储桶的可能性。

我已经阅读常问问题但它给我带来的困惑多于启发。

请指教。

谢谢。

相关内容