管理aws mfa安全凭据

aws-mfa的Python项目详细描述


AWS MFA:使用多因素身份验证(MFA)时,可以轻松管理您的AWS安全凭据
===========多因素身份验证时,可以轻松管理您的AWS SDK安全凭据身份验证(MFA)在您的AWS帐户上强制执行。它自动从[AWS安全令牌服务](http://docs.aws.amazon.com/sts/latest/apireference/welcome.html)获取临时凭据,并更新您的[AWS凭据](https://blogs.aws.amazon.com/security/post/tx3d6uwsfgok2h/a-new-and-standarized-way-to-manage-credentials在aws sdks)文件中(位于`~/.aws/credentials`)。管理基于mfa的凭据的传统方法要求用户编写自己的定制脚本/包装器,以从sts获取临时凭据,并经常手动更新其aws凭据文件。

**aws mfa**背后的概念是有两种凭据:

*`long-term`-您的典型AWS访问密钥,由一个"AWS访问密钥"和"AWS机密访问密钥"组成

*`short-term`-由AWS STS使用您的"long-term"凭据和您的MFA设备序列号(一个H硬件设备序列号或虚拟设备ARN)和一次性令牌代码。您的短期凭据是正在使用的aws sdk正在使用的凭据。




如果您尚未为aws api访问启用多因素身份验证,请查看[aws文章](http://docs.aws.amazon.com/iam/latest/userguide/id_credentials_mfa_configure-api-req在安装时:



克隆此回购协议
2。$python setup.py install
```

credentials file setup
——


在典型的aws凭据文件(位于` ~/.aws/credentials`)中,凭据存储在节中,用一对括号表示:`[]`。"[默认]"部分存储默认凭据。您可以使用不同的配置文件名存储多组凭据。如果未指定配置文件,则始终使用"默认"部分。

以下说明如何使用带有默认凭据的**aws mfa**配置凭据文件:

``ini
[默认长期]
aws_access_key=your_long term_key
aws_secret_access_key=your_longterm_access_key
``

您的凭据文件将读取:


``ini
[默认长期]
aws安全访问密钥id=您的长期密钥id
aws安全访问密钥id=您的长期访问密钥




[默认]

[默认]
aws安全访问密钥id=<;由aws-mfa填写的aws-mfa填写的aws安全访问密钥id=<;由aws-mfa填写的aws-mfa填写的aws-mfa填写的aws-mfa填写的aws-mfa填写的aws-mfa填写的aws-mfa填写的aws安全访问密钥。美国焊接学会-mfa>;
aws_security_token=<;由aws-mfa>;
````

_ key=您的"长期访问"密钥
``



=<;由aws-mfa填充>;
aws_secret_access_key=<;由aws-mfa填充>;
aws_security_token=<;由aws-mfa填充>;
````

可以使用"---long-term-s"覆盖凭证节的默认命名约定uffix`和
`——短期后缀'命令行参数。例如,在多帐户方案中,您可以有一个aws帐户
,该帐户为您的组织管理iam用户,并有其他aws帐户用于开发、登台和生产环境


短术语后缀`,您的凭证
文件将读取:

``ini
[myorganization long term]
aws_access_key=your_longterm_key_id
aws_secret_access_key=your_longterm_access_key

[myorganization development]
aws_access_key id=<;由aws-mfa填充>;
aw安全访问密钥=<;由AWS-MFA填充的;由AWS-MFA填充的;
aws安全访问令牌=<;由AWS-MFA填充的;


[MyOrganization登台]
aws安全访问密钥id=<;由AWS-MFA填充的;
>aws安全访问密钥=<;由AWS-MFA填充的;由AWS-MFA填充的;
aws安全访问密钥=<;由AWS-MFA填充的;由AWS-MFA填充的;

aws安全访问密钥=<;由AWS-MFA填充的;由AWS-MFA填充的;由AWS-MFA填充的;由AWS-MFA填充的AWS-MFA公司>;

[组织生产]
aws的访问密钥id=<;由aws-mfa填充>;
aws的访问密钥=<;由aws-mfa填充>;
aws的安全令牌=<;由aws-mfa填充>;
```

-mfa`每次您想切换
环境时。

如果您不喜欢a long term后缀,可以通过为`--long term suffix`
命令行参数传递值'none'来省略它。在为每个环境运行一次"aws mfa"并为
`--short term suffix`设置不同的值之后,您的凭据文件将读取:

``ini
[myorganization]
aws访问密钥id=您的长期密钥id
aws秘密访问密钥=您的长期访问密钥

[myorganization-开发]
aws安全访问密钥id=<;由aws-mfa>;
aws安全访问密钥id=<;由aws-mfa>;
aws安全访问密钥id=<;由aws-mfa>;


[myorganization登台]
aws访问密钥id=<;由aws-mfa>;

aws安全访问密钥id=<;由aws-mfa>;
aws安全访问密钥id=<;由aws-mfa>;
aws安全访问密钥id=<;
aws安全访问密钥id=<;
aws安全访问密钥id=> key=<;采购订单由AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWU填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的AWS-MFA填写的``

usage
----

````
--设备arn:aws:iam::12345678890:mfa/dudeman
mfa设备arn。也可以通过环境变量"mfa_device"或
~/.aws/credentials变量"aws_mfa_device"提供该值。
--持续时间以秒为单位的持续时间ULD保持有效。最小值:900
(15分钟)。最大值:129600(36小时)。默认值为
43200(12小时),或使用
'--承担角色时为3600(1小时)。此值也可以通过
环境变量'mfa_sts_duration'提供。
--配置文件如果使用配置文件,请在此处指定名称。默认配置文件名为"default"。该值也可以通过环境变量"aws_profile"提供。
--long term suffix long_term_suffix
通过
[<;profile_name>;-long_term_suffix]标识长期凭证部分。使用"none"通过
[<;profile\u name>;]标识长期凭证部分。忽略通过[<;配置文件名称>;-长期]标识长期凭证部分。
--短期后缀短期后缀短期后缀
通过
[<;配置文件名称>;-短期凭证部分修复。奥姆它或使用"none"
通过
[<;profile_name>;]来标识短期凭证部分。
--假定角色arn:aws:iam::12345678890:role/rolename
要假定的aws iam角色的arn,
如果指定。此值也可以通过
环境变量'mfa_assempt_role'
--角色会话名称role_session_name
使用--assempt-
角色时需要友好会话名称来提供。默认情况下,这是您的本地用户名。
```

**参数优先级**:命令行参数优先于环境变量。

和行参数:

``sh
$>;aws mfa--持续时间1800--设备arn:aws:iam::12345678890:mfa/dudeman
信息-使用配置文件:默认值
信息-您的凭据已过期,正在续订。
输入设备的aws mfa代码[arn:aws:iam::12345678890:mfa/dudeman](续订1800秒nds):123456
信息-成功!您的凭据将在1800秒后过期:2015-12-21 23:07:09+00:00
````


使用环境变量:

```sh
export mfa_device=arn:aws:iam::12345678890:mfa/dudeman
$>;aws mfa--持续时间1800
信息-使用配置文件:默认值
信息-您的凭据具有Pired,续订。
输入设备的AWS MFA代码[arn:aws:iam::12345678890:mfa/dudeman](续订1800秒):123456
信息-成功!您的凭据将在1800秒后于:2015-12-21 23:07:09+00:00
`````

```sh
export mfa_device=arn:aws:iam::12345678890:mfa/dudeman
export mfa_sts_duration=1800
$>;aws mfa
info-使用配置文件:default
info-您的凭据已过期,正在续订。
输入设备的aws mfa代码[arn:aws:iam::12345678890:mfa/dudeman](续订1800秒):123456
信息-成功!您的凭据将在1800秒后过期,时间:2015-12-21 23:07:09+00:00
````


```sh
$>;aws mfa
info-使用配置文件:default
info-您的凭据仍然有效1541.791134秒将在2015-12-21 23:07:09使用配置文件在2015-12-21过期:(配置文件允许您引用不同的凭据集,可能针对不同的用户或不同的区域)

``sh
$>;aws mfa--持续时间1800--设备arn:aws:iam::12345678890:mfa/dudeman--配置文件开发
信息-使用配置文件:开发
输入设备的aws mfa代码[arn:aws:iam::12345678890:mfa/dudeman](续订1800秒):666666
信息-成功!您的凭据将在1800秒后于:2015-12-21 23:09:04+00:00
````


n
信息-使用配置文件:development
输入设备的aws mfa代码[arn:aws:iam::12345678890:mfa/dudeman](续订1800秒):666666
信息-成功!您的凭据将在1800秒后过期:2015-12-21 23:09:04+00:00
`````


r/>信息-验证配置文件的凭据:默认为假定角色arn:aws:iam::12345678890:role/some role
信息-获取新角色或配置文件的凭据。
输入设备的aws mfa代码[arn:aws:iam::12345678890:mfa/dudeman](续订1800秒):123456
信息-成功SS!您的凭据将在1800秒后于:2016-10-24 18:58:17+00:00过期
```

假设角色:假设在"长期"配置中指定的角色

```ini
[默认长期]
aws_access_key_id=your_long term_key_id
aws_secret_access_key=your_longterm_access_key
假设_role=arn:aws:iam::12345678990:role/some role
````

``sh
$>;aws mfa--持续时间1800--设备arn:aws:iam::12345678890:mfa/dudeman--角色会话名称一些角色会话
````

假定使用配置文件的角色:

``sh
$>;aws mfa--持续时间1800--设备arn:aws:iam::12345678890:mfa/dudeman--配置文件开发t—假定角色arn:aws:iam::12345678890:role/some role—角色会话名称some role session
信息—验证配置文件的凭据:使用假定角色arn:aws:iam::12345678890:role/some role
信息—获取新角色或配置文件的凭据。
输入aws mfa代码设备[arn:aws:iam::12345678890:mfa/dudeman](续订1800秒):123456
信息-成功!您的凭据将在1800秒后过期:2016-10-24 18:58:17+00:00
````


2222222222222:角色/管理员--短期后缀生产--长期后缀无--角色会话名称生产
信息-验证配置文件的凭据:具有假定角色的myorganization生产arn:aws:iam::22222222222:角色/管理员
信息-您的凭据已过期,ren尤因。
输入设备的aws mfa代码[arn:aws:iam::111111111:mfa/me](续订3600秒):123456
信息-成功!您的凭据将在3600秒后于:2017-07-10 07:16:43+00:00过期或profile:myorganization staging,假定角色为arn:aws:iam::33333333333:role/administrator
info-您的凭据已过期,正在续订。
输入设备的aws mfa代码[arn:aws:iam::111111111:mfa/me](续订3600秒):123456
info-成功!您的凭据将在3600秒后过期:2017-07-10 07:16:44+00:00

$>;AWS S3列表对象-存储桶我的生产存储桶-配置文件组织生产

$>;AWS S3列表对象-存储桶我的暂存存储桶-配置文件组织暂存
```

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

推荐PyPI第三方库


热门话题
java使用jackson序列化/反序列化具有不同属性的子属性   javascript驱动程序。getTitle()从错误页面获取数据   java web应用程序的增量部署   java字符引用“&#x10”是无效的XML字符   java MyEclipse+Hibernate不按ID排序属性集?   找不到IBM Filenet P8更改预处理器Java实现   java比较器,用于按浮点参数对对象arraylist排序   java如何调试。来自eclipse或其他版本的bsh文件   不允许使用java rest api post方法   java如何在Servlet中打开弹出窗口,然后重定向页面   java的replaceAll方法对我不起作用我做错了什么?   我收到了javax。网ssl。SSLHandshakeException:握手期间远程主机关闭连接