使用boto3获取aws帐户root用户详细信息时出错

时间:2018-06-07 07:17:23

标签: amazon-web-services boto3 amazon-iam

我正在尝试使用boto3在lambda函数中的AWS账户中获取root用户详细信息,但它会出现以下错误。

"errorMessage": "An error occurred (NoSuchEntity) when calling the GetUser operation: The user with name root cannot be found.",
"errorType": "NoSuchEntityException"

代码段:

import boto3
client = boto3.client('iam')
response = client.get_user(
UserName='root'
)

1 个答案:

答案 0 :(得分:1)

没有名为 root 的IAM用户。

root 用户实际上与AWS账户相关联。它与IAM完全分开,允许创建个人用户。

您无法禁用与root用户关联的访问密钥,但您可以Delete Access Keys from the Root User

delete-access-key文档不太清楚,但确实提到能够通过API调用删除密钥。如果我正确读取它,可以删除根密钥 - 但只能将该函数称为 root 用户。这不可能来自Lambda函数。

最好的做法可能是通过管理控制台删除 root ,然后尝试找一种方法来监控它(但我怀疑没有可以提供此信息的电话)。幸运的是,只能通过以 root 用户身份登录控制台来添加凭据。添加 MFA令牌会限制发生这种情况的可能性。