如何安全地将凭据扩展到我的S3托管操作系统项目的其他贡献者



我有一个开源项目,有几个贡献者。该项目的主页托管在AmazonS3上。目前,S3存储桶在我的个人帐户上。只有我可以访问它,我支付主机费(每月约5美元)。在我的账户上还有其他个人桶,贡献者不应该访问。

我想允许其他贡献者修改网站。我还想让TravisCI部署到该网站,这需要将一些凭据扩展到第三方。

  1. 是否有必要完全建立一个单独的亚马逊账户,或者IAM是否足以满足我的需求
  2. 如果IAM是可行的,那么应该在所有贡献者之间共享一个IAM用户,还是应该为每个贡献者创建一个单独的IAM用户
  3. 我需要MFA吗?如果是,如何安全地分配TOTP密钥
  4. 我应该为继任做什么规定(即总线因素)
  5. 还有什么我应该知道的吗

感谢您在这里提供任何想法或经验。

是否有必要完全建立一个单独的亚马逊账户,或者IAM是否足以满足我的需求?

您可能应该为该项目拥有一个帐户,该帐户与您用于与该项目无关的目的的任何帐户都是分开的,以便进行干净的分离,以防您想要移交控制权。帐户中没有的内容不需要保护,以免用户看到。

跨帐户权限是可能的,所以如果其他人已经有帐户,你可以在不知道他们秘密的情况下授权他们现有的凭据,但这更复杂。

如果IAM是可行的,那么应该在所有参与者之间共享一个IAM用户,还是应该为每个参与者创建一个单独的IAM用户?

您绝对应该为每个贡献者创建一个。这是一件很容易的事。责任

我需要MFA吗?如果是,如何安全地分配TOTP密钥?

这取决于您对附加安全性的需求。MFA很棒,也很麻烦。但你不必(也不应该)为虚拟MFA分发MFA机密。用户可以使用他/她的凭据登录,并在您允许的情况下自己创建和下载

我应该为继承(即总线系数)做什么规定?

Heh,总线系数。是的,你可能需要一个值得信赖的副官,拥有很高的特权级别。在我的账户中,我们实际上从来没有使用根凭据,但通常两个人都有根凭据的物理副本,尽管我们有时会一起坐在同一部电梯里,我们真的不应该这样做。

还有什么我应该知道的吗?

阅读文档。这需要一点时间来理解,但如果你弄脏了手并玩弄它,则需要更少的时间。在授予特权时,请确保你验证了不应该起作用的事情确实不起作用,而不仅仅是验证了该起作用的东西确实起作用。但这适用于任何身份验证和授权实现。

在EC2中使用IAM实例角色。即使你想不出实例需要角色的原因,也要给它一个没有权限的角色,因为实例只能在启动时被赋予角色。。。然而以前,您只能在启动时将IAM角色添加到实例,但AWS在2017-02-09宣布,您现在可以在启动后将IAM角色附加到实例。一如既往,您可以随时更改授予角色的权限。

阅读有关用户组的信息。将用户附加到组,将策略附加到组以简化向多个用户授予相同权限的过程。

无关:当成本超过您选择的阈值时,为您的帐户激活计费警报以通知您。

最新更新