运行aws iam list-users命令时返回AccessDenied错误该如何处理?
调用ListUsers操作时发生(AccessDenied)错误:用户arn:aws:iam::138437462432:user/user_name未被授权对资源arn:aws:iam::138437462432:user/执行iam:ListUsers操作
问题根因
该报错为执行aws iam list-users命令的身份缺少对应IAM操作权限导致,可按以下步骤排查和解决:
排查步骤
- 第一步:确认当前使用的身份和报错提示的用户ARN一致,执行
aws sts get-caller-identity命令核对返回的ARN信息,排除本地AK/SK配置错误、误用其他身份的问题。 - 第二步:检查该IAM用户关联的所有权限策略,包括直接绑定的用户策略、所属用户组绑定的组策略、以及账号层级的SCP服务控制策略,确认是否存在允许
iam:ListUsers操作的规则。 - 第三步:核对权限策略的资源配置是否正确,
iam:ListUsers为列表类全局操作,资源需配置为*或者arn:aws:iam::138437462432:user/*,若仅配置为arn:aws:iam::138437462432:user/会导致匹配失败。 - 第四步:检查所有关联策略中是否存在显式拒绝
iam:ListUsers的规则,显式拒绝优先级高于允许规则,存在的话需要先调整对应拒绝策略。
解决方案
按照最小权限原则给对应IAM用户添加允许ListUsers操作的权限即可,参考策略示例如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:ListUsers", "Resource": "arn:aws:iam::138437462432:user/*" } ] }
如果需要开放所有IAM只读列表类操作,可将Action调整为iam:List*;临时调试场景也可以直接绑定系统自带的IAMReadOnlyAccess托管策略,验证功能正常后再回收权限。
策略配置完成后等待1~2分钟生效,再重新执行aws iam list-users验证即可。
内容的提问来源于stack exchange,提问作者Manny
相关产品推荐
相关产品推荐

