我正在尝试使用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'
)
答案 0 :(得分:1)
没有名为 root 的IAM用户。
root 用户实际上与AWS账户相关联。它与IAM完全分开,允许创建个人用户。
您无法禁用与root用户关联的访问密钥,但您可以Delete Access Keys from the Root User。
delete-access-key文档不太清楚,但确实提到能够通过API调用删除密钥。如果我正确读取它,可以删除根密钥 - 但只能将该函数称为 root 用户。这不可能来自Lambda函数。
最好的做法可能是通过管理控制台删除 root 键,然后尝试找一种方法来监控它(但我怀疑没有可以提供此信息的电话)。幸运的是,只能通过以 root 用户身份登录控制台来添加凭据。添加 MFA令牌会限制发生这种情况的可能性。