当作为身份中心用户登录时,如何在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 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则