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配置的允许身份验证的设备。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java:字符串。RTL设备语言用标志“+”格式化,数字后加符号   java GAE作为桌面应用程序(Swing)的服务提供商   java将InputStream转换为FileInputStream不适用于Apache POI   java外部Voronoi库“网格”:什么是草图和处理?   重载重写的泛型方法java   java显示组织上设置的错误。springframework。验证。jsp中的错误对象   java一些Spring模型属性没有显示在我的JSP中   java无法编译Guava 23的SimpleTimeLimiter示例   java如何更改JTree中的“根”目录名?   java如何在安卓中对相对布局产生连锁反应?   java错误:org。冬眠例外SQLGrammarException:无法提取结果集,dateAccessed是未知列   如何使用java监听JSON文件更新   由抽象封闭类创建的匿名内部类能否通过反射确定实现类?