![对于(据称无密码的)AWS root_account,password_last_used 非空吗?](https://linux22.com/image/749049/%E5%AF%B9%E4%BA%8E%EF%BC%88%E6%8D%AE%E7%A7%B0%E6%97%A0%E5%AF%86%E7%A0%81%E7%9A%84%EF%BC%89AWS%20root_account%EF%BC%8Cpassword_last_used%20%E9%9D%9E%E7%A9%BA%E5%90%97%EF%BC%9F.png)
当我审计一个组织的 AWS IAM 时,我做了以下事情:
aws iam generate-credential-report
# a bit later, download the CSV
aws iam get-credential-report
在查看报告时,有一件事让我感到非常不寻常:password_last_used
for<root_account>
不为空值:
这怎么可能呢?
IAM 根账户应该是无密码的;即使在这份报告中也password_enabled
显示not_supported
。
这些数据意味着什么?这可能是违规行为的征兆吗?
这是某种已知的 AWS 故障吗?我应该给谁发电子邮件来解决这个问题?
答案1
我认为你所看到的是正常的。
根帐户并非无密码。您肯定需要密码才能以根用户身份登录。根帐户是您创建帐户时使用的电子邮件地址。它不会显示在 IAM 中,即您不会看到列为根用户的帐户。
至于password_enabled
表现出not_supported
这一点也是正常的。
当用户有密码时,此值为 TRUE。否则为 FALSE。AWS 账户根用户的值始终为 not_supported。
原因是not_supported
root 帐户必须有密码才能进行控制台登录。
数据password_last_used
显示,昨天使用了 root 帐户。如果您或您团队中的某个人昨天没有使用 root 帐户登录,则可能会出现违规行为。我强烈建议:
1) 使用根账户的 MFA 2) 设置 CloudTrail 日志过滤器以在使用根密钥时发出警报。
使用类似于以下的过滤器:
"filterPattern": "{ $.userIdentity.type = "Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType != "AwsServiceEvent" }"
参考