列出 IAM 角色子集的 AWS 权限

AWS permission to list subset of IAM roles

提问人:Ondra K. 提问时间:11/9/2023 更新时间:11/9/2023 访问量:33

问:

我有一个 IAM 角色,我想允许该调用。但是,我不想简单地返回所有角色,而只返回一些与 ,例如,那些被某些特定标签标记的角色(或按名称过滤对我来说也是可以接受的)。my-roleaws iam list-rolesmy-rolefoo=bar

当我像这样配置权限时:my-role

        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Action": [
                "iam:ListRoles"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/foo": "bar"
                }
            }
        }

当我调用时出现错误:aws iam list-roles

An error occurred (AccessDenied) when calling the ListRoles operation: User: arn:aws:sts::849104738271:assumed-role/my-role/i-0b9242f9846123b29 is not authorized to perform: iam:ListRoles on resource: arn:aws:iam::849104738271:role/ because no identity-based policy allows the iam:ListRoles action

我还尝试删除该部分并将 和 使用参数的前缀更改为 ,但是我要返回的角色具有路径,并且前缀只是 的一部分。ConditionResource--path-prefixlist-roles/RoleName

如何调整权限或更改请求,以便获得具有指定标签的角色?

网络服务 亚马逊 IAM AWS CLI

评论


答:

2赞 John Rotenstein 11/9/2023 #1

AWS Identity and Access Management (IAM) - 服务授权参考的操作、资源和条件键未将任何字段列为有效字段。ListRolesConditions

因此,您只能授予列出所有角色的权限,或者授予列出角色的权限。无法限制请求或返回的角色

评论

0赞 Ondra K. 11/9/2023
这很不幸,但谢谢你的回答!