2017-02-14 25 views
0

我有一个开源项目与几个贡献者。该项目的主页在Amazon S3上托管。目前,S3存储桶在我的个人帐户上。只有我有权访问它,并支付托管费(每月约5美元)。我的帐户还有其他个人资料库,贡献者不应该访问。如何安全地将凭据扩展到其他贡献者到我的S3托管的OS项目

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

  1. 是否有必要完全建立一个单独的亚马逊账户,还是IAM足以满足我的需求?
  2. 如果IAM是要走的路,那么是否应该在所有贡献者中共享单个IAM用户,还是应该为每个贡献者分别创建一个?
  3. 我需要MFA吗?如果是这样,如何安全地分发TOTP密钥?
  4. 我应该作出什么规定继承(即公交系数)?
  5. 还有什么我应该知道的?

感谢您的任何想法或经验。

回答

1

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

你或许应该有一个账户,这个项目是从你使用的目的无关的项目,为清洁分离的任何账户分开,并在情况下,你要交出控制权。帐户中没有的内容不需要受到不应该看到它的用户的保护。

跨账户权限是可能的,所以如果其他人已经拥有账户,那么您可以在不知道他们的秘密的情况下授权他们现有的凭证,但它更复杂。

如果IAM是去,应该有所有贡献者之间共享一个单一的IAM用户的方式,或者我应该为每个贡献者一个单独的一个?

您应该为每个贡献者绝对创建一个。这是一个没有脑子的问题。 Accountability.

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

这取决于您对增加的安全性的需求。 MFA很棒,这也是一件麻烦事。但是,您不必(也不应该)为虚拟MFA分发MFA秘密。用户可以使用他/她的凭据登录并自行创建和下载if you allow it

我应该为继承(即公交系数)做出什么规定?

heh,bus factor。是的,你可能需要一个具有高特权级别的值得信任的副官。在我的帐户中,我们实际上并没有使用根证书,但通常两个人拥有根证书的物理副本,尽管我们有时在同一个电梯中一起骑车,而且我们确实不应该那样做。

还有什么我应该知道的?

阅读文档。它需要一点时间才能沉入,但如果你弄脏手并用它玩,花费的时间会更少。确保授予特权时,如果您确认不应起作用的事情确实无法正常工作,那么不要仅仅验证确实可行的事情。但是这适用于任何身份验证和授权实现。

在EC2中使用IAM实例角色。 即使您无法想到实例需要某个角色的原因,仍然无法为其指定一个实例,因为实例只能在启动时才赋予角色...尚未 以前,您只能添加IAM角色添加到实例,但AWS announced on 2017-02-09现在可以在启动后将IAM角色附加到实例。与往常一样,您可以随时更改授予角色的权限。

阅读有关用户组。将用户分组和策略附加到组,以简化为多个用户授予相同的权限。

无关:为您的帐户启用结算提醒,以在成本超过您选择的阈值时通知您。

相关问题