AWS CLI能与联合登录一起使用吗?

15

我使用公司的Active Directory账户登录AWS。我们采用联合登录,如此处所述:

联合用户和角色

联合用户没有IAM用户那样在您的AWS帐户中拥有永久身份。要为联合用户分配权限,可以创建一个实体——角色,并定义角色的权限。当联合用户登录AWS时,用户将与角色相关联,并被授予在角色中定义的权限。有关更多信息,请参阅为第三方身份提供者(联合)创建角色。

我的公司有一个安全令牌服务(STS),它是一个SAML提供者。

我可以使用它登录AWS管理控制台,但我是否也可以使用我的联合登录登录AWS CLI?

4个回答

9
saml2aws可以用于AWS CLI的联合用户身份验证。
请参考https://github.com/Versent/saml2aws,这是基于https://aws.amazon.com/de/blogs/security/how-to-implement-federated-api-and-cli-access-using-saml-2-0-and-ad-fs/中的Python代码编写的。
您可以使用以下命令登录到默认的IDP AWS账户,您的组织将提供给您IDP账户名称。
saml2aws --idp-account="default" --username=USERNAME --password=PASSWORD

要使用联合用户进行自动化,您需要使用exec
saml2aws --idp-account="default" --username=USERNAME --password=PASSWORD exec command

这对于使用此处获取SSO URL的方法的Google Workspace(又名应用程序)联合账户非常有效:https://github.com/Versent/saml2aws/issues/493#issuecomment-1093136800 - James Yale

4

1
我之前读过这个,但我认为它是针对实现联合用户的人而非使用它的人。 - sashoalm

1

以下是配置联合用户的示例步骤。

$ aws configure sso    
SSO session name (Recommended): my-sso
SSO start URL [None]: https://my-sso-portal.awsapps.com/start
SSO region [None]: us-east-1
SSO registration scopes [None]: sso:account:access

来源:配置自动令牌刷新


如何找到SSO的起始URL?我用于手动登录AWS控制台的重定向URL格式不正确。 - undefined

0

您可以使用 AssumeRoleWithSAML-cli 为联合用户创建您的AWS访问密钥、秘密密钥和令牌

以下是 AWS CLI 示例,可为联合用户提供凭证:

aws sts assume-role-with-saml --role-arn arn:aws:iam::AccountNumber:role/ADFS-AWS-ADMIN --principal-arn arn:aws:iam::AccountNumber:saml-provider/idp001 --saml-assertion SAMLResponsePHNhbWxwOlJlc3BvbnNlIElEPSJfMTE2MDVkYzYtYWNjOS00NGFkLTgzM2QtZjdhMWM4NTVhMmJmIiBWZXJzaW9uPSIyLjAiIElzc3VlSW5zdGFudD0iMjAyMy0wMy0wNlQxNjoxNDowMi4wNjdaIiBEZXN0aW5hdGlvbj0iaHR0cHM6Ly9zaWduaW4uYXdzLmFtYXpvbi5jb20vc2FtbCIgQ29uc2VudD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmNvbnNlbnQ6dW5zcGVjaWZpZWQiIHhtbG5zOnNhbWxwPSJ1cm46b2FzaXM6bmSAMLResponseFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiPjxJc3N1ZXIgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iPmh0dHA6Ly9FQzJBTUFaLU1IMUYzQ0Quc3NvLmNvbS9hZGZzL3NlcnZpY2VzL3RydXN0PC9Jc3N1ZXI+PHNhbWxwOlN0YXR1cz48c2FtbHA6U3RhSAMLResponsedHVzQ29kZSBWYWx1ZT0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnN0YXR1czpTdWNjZXNzIiAvPjwvc2FtbHA6U3RhdHVzPjxBc3NlcnRpb24gSUQ9Il9iYjJiOTg4My1hMmI3LTQ0YWUtOTc0NS1hNzZjMmQ0MjA1ZTQiIElzc3VlSW5zdGFudD0iMjAyMy0wMy0wNlQxNjoxNDowMi4wNjdaIoiBWZXJzaW9uPSIyLjAiIHhtbG5zPSJ1cm46b2FzaXM6kbmFtZXM6dGM6U0FNTDoyLjA6YXNzZXJ0aW9uIj48SXNzdWVyPmh0dHA6Ly9FQzJBTUFaLU1IMUYzQ0Quc3NvLmNvbS9hZGZzL3NlcnZpY2VzL3RydXN0PC9Jc3N1ZXI+PGRzOlNpZ25hdHVyZSB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+PGRzOlNpZ25lZEluZm8+PGRzOkNhbSAMLResponsem9uaWNhbGl6YXRpb25NZXRob2QgQWxnb3JpdGhtPLSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiIC8+PGRzOlNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZHNpZy1tb3JlI3Jz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接