awsume插件
fink.awsume的Python项目详细描述
注意:小心使用!这是在实验阶段未经测试的代码!
Fink插件
发现:https://github.com/finklabs/fink
此插件使管理aws sdk安全凭据变得容易 当对您的aws帐户强制实施多因素身份验证(mfa)时。 它自动化了从aws获取临时凭证的过程 安全令牌服务和更新您的aws凭据文件(位于 在~/.aws/credentials)。
功能包括:
- 创建临时凭据以访问AWS帐户
- 在帐户之间切换
- 允许fink检查剩余时间,直到过期
- 作为Fink生命周期的一部分续订凭据
安装插件
将以下项添加到requirements_fink.txt文件:
fink.awsume
如果您尚未激活VENV,请执行以下操作:
$ source ./venv/bin/activate
以及安装步骤本身:
$ pip install -r -U requirements_fink.txt
初始设置
set env变量aws\u default\u配置文件或脚本将使用“default” 配置文件
$ exportAWS_DEFAULT_PROFILE=<your_company>
凭证文件设置
在典型的aws凭证文件(位于~/.aws/credentials)中, 凭证存储在节中,用一对方括号表示:[]。 [默认]部分存储默认凭据。你可以储存 使用不同配置文件名的多组凭据。如果没有 如果指定了配置文件,则始终使用[默认]部分。
长期证书部分由公约确定 [-长期]。短期证书由 约定:[]。下面说明如何配置 使用此脚本的凭据文件:
[<your_company>-long-term] aws_access_key_id = YOUR_LONGTERM_KEY_ID aws_secret_access_key = YOUR_LONGTERM_ACCESS_KEY
运行awsume命令后,您的凭据文件将读取:
[<your_company>-long-term] aws_access_key_id = YOUR_LONGTERM_KEY_ID aws_secret_access_key = YOUR_LONGTERM_ACCESS_KEY [<your_company>] aws_access_key_id = <POPULATED_BY_PLUGIN> aws_secret_access_key = <POPULATED_BY_PLUGIN> aws_security_token = <POPULATED_BY_PLUGIN>
使用量
Usage: awsume awsume renew awsume switch <account> awsume set <account> <arn> [--profile=<profile>] [--username=<username>] awsume list awsume clean awsume version -h --help show this
使用示例
如果您不知道帐户和访问您需要的内容,可以使用:
$ awsume list
为另一个帐户创建配置:
$ awsume set infra-dev arn:aws:iam::420189626185:role/7f-managed/infra-dev-TeamisFullaccess-MZSLXQ718GX6
用户首次为帐户创建配置:
$ awsume set infra-dev arn:aws:iam::420189626185:role/7f-managed/infra-dev-TeamisFullaccess-MZSLXQ718GX6 --profile=finklabs --username=first.last
或者使用切换到另一个帐户:
$ awsume switch infra-prod
大多数情况下,您只想续订上次使用的会话:
$ awsume renew
您还可以清除缓存的帐户配置:
$ awsume clean
运行测试
请确保你的插件有良好的测试覆盖率,这样我们就可以 一定要确保你的插件与即将到来的fink版本一起运行。
像这样运行测试:
$ python -m pytest -vv --cov-report term-missing tests/test_*
许可证
版权所有(c)2017芬克拉布及其他。fink和插件已经发布 根据麻省理工学院的许可证(见许可证)。