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

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南