2016-04-13 91 views
0

我不确定哪个是执行此操作的最佳方法。我在Heroku中托管了很多项目,所有这些项目都使用Amazon S3进行静态文件存储。他们都使用我的根证书访问存储桶(这不安全,我想改变它)。 Root Credentials在每个Heroku应用程序中都以配置变量的形式存储。亚马逊AWS。从根证书迁移到IAM身份验证

我想停止使用Root Credentials并开始使用Amazon IAM Auth。我对此很陌生。我应该为每个应用创建User吗?或者应该创建一个用户并让所有应用程序使用该用户凭据?我应该创建一个Role并为角色分配权限吗?或者,我应该创建一个Group

任何意见将有所帮助。

回答

2

您应该为每个需要访问的第三方应用程序创建一个唯一凭据。这样,您可以独立撤销访问。另外,每个应用程序都需要不同的权限。拥有每项服务的独特凭据,您可以对许可权进行细化。

如果第三方应用程序(如Heroku)支持它们,则创建一个跨账户IAM角色以提供它们。

  1. 转到“角色”页面。
  2. 点击“创建新角色”。
  3. 给角色一个名字。
  4. 在“跨账户访问角色”下,选择“允许来自第三方AWS账户的IAM用户访问此账户”。

仅当它们不支持跨帐户IAM角色时,才为该服务创建一个IAM用户并创建一个访问密钥以提供该服务。

  1. 转到“用户”页面。
  2. 点击“创建新用户”。

这两种情况下,只给他们最低限度需要的权限。 切勿将管理员,超级用户或所有权限授予第三方。尽可能避免使用星号“*”。

  1. 从第三方找出它需要的权限。理想情况下,它会给你一个使用政策。
  2. 查看该政策。永远不要盲目信任第三方服务。
  3. 将策略应用于您创建的用户或角色。

请记住,您准许他人访问以读取和/或修改您的AWS账户。确保你也不允许他们销毁它。