当作为身份中心用户登录时,如何在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 Antwort
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
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen