awsume插件

fink.awsume的Python项目详细描述


DocumentationLicenseGitHub issues

注意:小心使用!这是在实验阶段未经测试的代码!

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和插件已经发布 根据麻省理工学院的许可证(见许可证)。

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

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException