我有一个应用程序将AWS密钥存储在Github上的私人仓库中。
建议使用,因为如果我们的某台计算机“爆炸”,我们将无法访问这些密钥。
我们可以通过我们的计算机来共享密钥,或者通过私人公司的闲暇发送,而不是存储在Github中。
这些似乎都是管理密钥的坏方法。
是否有一个好的存储库/保险库或方法更适合秘密密钥存储和与团队成员共享?
答案 0 :(得分:1)
您可以使用1Password for Teams,它允许您在受密码保护的加密保管库中共享密码。
作为附注,如果计算机爆炸,将AWS用户锁定在其帐户之外的风险非常低。在任何情况下,帐户所有者都可以为帐户中的任何IAM用户重新生成一组新的AWS密钥。只要帐户所有者可以连接到AWS账户,您就是安全的。
答案 1 :(得分:1)
避免使用代码存储凭据,它们会变得非常脆弱,后果可能是不可逆转的。使用IAM角色授予访问权限并仅使用密钥进行开发会更好,每个开发人员最好使用不同的密钥,以便根据需要轮换它们。
查看AWS Security Best Practices白皮书了解更多详情。
答案 2 :(得分:0)
密钥与许多秘密一样,不应该尽可能地共享。
对于AWS用户:
这个系统有很多好处:
并避免在源代码管理(git或任何其他)中保存此类内容。
答案 3 :(得分:0)
密钥管理的首要规则是最小化密钥存储的位置数量。因此,对于像AWS键这样的东西,开发人员应该将自己的密钥存储在他们的机器上。对于应用服务器所需的密钥,这些密钥应仅存储在应用服务器上。
建议使用,因为如果我们的某台计算机爆炸了#34;,我们将无法访问这些密钥。
解决此问题的最佳方法是旋转按键。理想情况下,如果需要,您应该始终处于可以快速/轻松生成新密钥的位置,例如在安全事件的情况下。如果丢失了一些你完全搞砸的主密钥,请将其存储在安全的存储应用程序中,例如1Password,其中您的保险库使用额外的密码进行加密。
我们可以通过我们的计算机来共享密钥,或者通过私人公司的闲暇发送,而不是存储在Github中。
这些似乎都是管理密钥的坏方法。
作为一般规则,永远不要将AWS密钥(或任何其他敏感密钥或密码)存储在Github或Slack公司。你在松弛中分享的任何东西都永远存在于日志中,所以如果你的公司松懈受到损害 - 或者如果Slack遭到入侵(已经发生过几次) - 潜在攻击者可以使用日志中的任何内容。
是否有更好的存储库/保险库或方法更适合秘密密钥存储并与团队成员共享?
要存储密钥(长期存储),请使用1密码。对于共享密钥(短期存储),请使用ShareSecret(免责声明,我是ShareSecret的创始人)。
答案 4 :(得分:0)
您可以使用仅存储密钥并且仅允许特定用户通过IAM组和用户访问此存储桶的S3存储桶。在项目开始时,这似乎是合理的。
如果您需要更严格的知识,我知道一些大型科技公司会使用: