我发现在我公司的AWS账户中有一个特定用户可以进行编程访问。我的任务是为我的一位同事重新创建一个访问密钥和安全令牌,尽管它已有一个。我想停用原来的。我认为从安全角度来看,最好只有一个访问密钥/令牌而不是倍数。
有谁能告诉我这是不是一个好选择?我的一位同事问我为什么要这样做,当我告诉他我的理由时,我不认为他100%确信我的推理是好的。你可以告诉我,对同一个用户有多个访问密钥/密钥是否有任何好处?因为我无法想到任何事情。另外,您能否提供任何类型的支持文章?
答案 0 :(得分:2)
在AWS IAM Access Keys best practices下,我相信这些部分适用:
第一项明确说明了使用单个IAM帐户使用多个访问密钥的原因。我认为使用多个键也可以使第二项,键旋转更容易。您可以创建第二个访问密钥集,切换应用程序,验证以前的集合不再用于访问AWS API,然后删除旧集。
答案 1 :(得分:2)
我没有为每个用户推荐单个访问密钥的文档,但AWS确实建议定期轮换访问密钥。请参阅Managing Access Keys for IAM Users,标题为“旋转访问密钥”的部分。
因此,作为最佳实践,您应该定期执行以下操作(每30,60,90天等)
两个访问密钥系统允许进行此轮换,同时保持禁用/删除访问密钥的时间,但仍然使用最少。我一直在使用其他工具,你必须在生成新密钥时禁用旧密钥。因为有时在生成新密钥后需要花费时间。
如果用户需要多个访问密钥,那么应该有一个问题,为什么需要,而不是多个。使用多个用户有好处:
出于这些原因,我建议只在现场使用一个访问密钥。
我认为,实际上,如果有人想要为单个用户实际使用2个密钥,那么他们只是在懒惰。
我为每个需要访问的工具创建了单独的IAM用户和角色。我从不重复使用它们。
<强>更新强>
AWS建议定期轮换访问密钥。
来源:http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html
此外,他们在密钥轮换过程中的“howto”使用了IAM用户上分配的访问密钥:
来源:https://aws.amazon.com/blogs/security/how-to-rotate-access-keys-for-iam-users/
Ergo,在任何给定时间为每个IAM用户“使用中”一个访问密钥的目标。