当作为身份中心用户登录时,如何在AWS CLI中切换role?

0

【以下的问题经过翻译处理】 我已经按照这里建议的方式(https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-authentication.html)配置了AWS CLI以使用IAM身份中心进行身份验证。因此,我按照https://docs.aws.amazon.com/cli/latest/userguide/sso-configure-profile-token.html建议的指南设置了CLI。目前,一切都正常。问题是我需要使用IAM角色通过CLI执行某些任务,但我不知道该怎么做。

我需要扮演的IAM角色定义如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012user/User1",
                    "arn:aws:iam::123456789012:user/User2"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

如您所见,我已允许IAM用户能够扮演该角色。但我不知道如何让身份中心用户扮演该角色。此外,我该如何告诉CLI通过扮演角色执行操作?我在这里看到了文档(https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html#cli-role-overview),但需要指定源配置文件。

1개 답변
0

【以下的回答经过翻译处理】 感谢kentrad的回答,我找到了一个很好的解决方案。

首先,在使用要添加的SSO用户登录CLI时运行以下命令:

aws sts get-caller-identity --query Arn --output text

这将生成如下输出:

arn:aws:sts::123456789012:assumed-role/ROLEID:SSOUSER

无论生成什么,只需将其放入策略中,如下所示:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:user/User1",
                    "arn:aws:iam::123456789012:user/User2",
                    "arn:aws:sts::123456789012:assumed-role/ROLEID:SSOUSER"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

这就足以让SSO用户能够承担该role。

profile picture
전문가
답변함 5달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠