aws cli login是一个aws cli插件,它管理使用saml ecp检索和旋转amazon sts临时凭据以进行身份验证,并可选地支持duo。
awscli-login的Python项目详细描述
项目说明
awscli login是一个允许检索临时amazon的插件 通过对saml身份提供程序进行身份验证的凭据 (国内流离失所者)。
安装
安装awscli登录插件的最简单方法是使用pip:
$ pip install awscli-login
安装awscli登录后,运行以下命令 要启用插件:
$ aws configure set plugins.login awscli_login
开始
在使用awscli登录检索临时凭据之前 必须配置一个或多个用于插件的配置文件。到 配置此插件必须知道idp的ecp端点的url。 如果您没有此信息,请联系您的idp管理员。
下面是一个配置用于大学的默认配置文件的示例 伊利诺伊州香槟市的IDP:
$ aws login configure ECP Endpoint URL [None]: https://shibboleth.illinois.edu/idp/profile/SAML2/SOAP/ECP Username [None]: Enable Keyring [False]: Duo Factor [None]: Role ARN [None]:
要登录,请键入以下命令:
$ aws login Username [username]: netid Password: ******** Factor: passcode Code: 123456789
提示输入的用户名和密码是 根据为所选配置文件配置的idp进行身份验证。 只有当您的idp需要duo进行身份验证时,factor才是必需的。 如果没有,则将因子留空。如果你的国内流离失所者确实需要 二则因素可能是一个自动,推,密码,短信,或电话。 如果留空,则默认为“自动”。代码是用于 与Yubikey、短信代码或其他一次性使用的Duo代码一起使用。
如果您可以访问多个角色,系统将提示您选择 一个角色。例如:
$ aws login Username [username]: netid Password: ******** Factor: Please choose the role you would like to assume: Account: 978517677611 [ 0 ]: Admin Account: 520135271718 [ 1 ]: ReadOnlyUser [ 2 ]: S3Admin Selection: 2
若要切换角色,请先注销,然后再次登录,选择不同的 角色,请注意,如果使用相同的用户名登录到相同的idp 然后系统将不会提示您输入密码或Duo Factor,直到 IDP会话将过期:
$ aws logout $ aws login Username [netid]: Please choose the role you would like to assume: Account: 520135271718 [ 0 ]: TestUser [ 1 ]: IAMUser Selection: 0
高级示例
可以同时登录到多个角色 使用多个配置文件的时间。例如,请考虑以下内容 包含两个配置文件的配置,一个称为prod,另一个称为prod 测试:
$ aws --profile prod login configure ECP Endpoint URL [None]: https://shibboleth.illinois.edu/idp/profile/SAML2/SOAP/ECP Username [None]: netid Enable Keyring [False]: True Duo Factor [None]: auto Role ARN [None]: arn:aws:iam::999999999999:role/Admin $ aws --profile test login configure ECP Endpoint URL [None]: https://shibboleth.illinois.edu/idp/profile/SAML2/SOAP/ECP Username [None]: netid Enable Keyring [False]: True Duo Factor [None]: passcode Role ARN [None]: arn:aws:iam::111111111111:role/Admin
这个例子包含几个高级特性。首先我们要设定 用户名、因素和角色这意味着我们不会 登录这两个配置文件时提示输入此信息。 此外,我们正在使用钥匙圈。在第一次登录时使用 在配置文件中,将提示用户输入密码,但在 随后的登录不会提示用户输入密码 因为它被储存在一个安全的钥匙圈里。
例如,当我们最初登录prod:
$ export AWS_PROFILE=test $ aws login Password: ******** Code: 123456789
我们只提示输入密码和代码。密码是因为 这是初始登录,因为配置了此配置文件 用于密码设备,如Yubikey。现在当我们登录时 在进行测试时,系统将提示我们不要输入任何内容:
$ aws --profile prod login
即使在这种情况下,IDP会话已经过期,我们也不会 提示输入密码,因为它存储在密匙环中。这个 用户将收到一个电话或推送至默认值 为duo配置的允许身份验证的设备。