当我审计一个组织的 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" }"
参考