担任aws iam角色并使用假定的凭据执行命令

envassume的Python项目详细描述


https://img.shields.io/pypi/v/envassume.svghttps://img.shields.io/pypi/pyversions/envassume.svghttps://img.shields.io/pypi/l/envassume.svghttps://travis-ci.org/wamonite/envassume.svg?branch=masterhttps://codecov.io/gh/wamonite/envassume/branch/master/graph/badge.svg

假设aws iam角色并使用假定的凭据执行命令。承担角色的aws api凭据必须设置为环境变量,并且命令和参数的执行方式与envdir相同。

envassume不需要从命令行承担aws角色,也不需要复制/粘贴返回的凭据来运行命令。如果您经常需要这样做:-

$ aws sts assume-role --role-arn arn:aws:iam::123456789012:role/s3_access --role-session-name s3_access_session
{
    "AssumedRoleUser": {
        "AssumedRoleId": "xxxxxxxxxxxxxxxxxxxxx:s3_access_session",
        "Arn": "arn:aws:sts::123456789012:assumed-role/s3_access/s3_access_session"
    },
    "Credentials": {
        "SecretAccessKey": "mmm",
        "SessionToken": "nnn",
        "Expiration": "2019-02-26T00:00:00Z",
        "AccessKeyId": "ooo"
    }
}
$ AWS_ACCESS_KEY_ID='ooo' AWS_SECRET_ACCESS_KEY='mmm' AWS_SESSION_TOKEN='nnn' aws s3 ls

它可以缩短为:-

$ envassume arn:aws:iam::123456789012:role/s3_access aws s3 ls

如果您经常需要测试角色,或者使用实例配置文件中的凭据在aws实例上运行具有假定角色的脚本,则此选项非常有用。

安装

pip install envassume

用法

usage: envassume [-h] [-i EXTERNAL_ID] [ARN] command [argument [argument ...]]

optional arguments:
    -h, --help              show this help message and exit
    -i, --id EXTERNAL_ID    external id
    ARN                     AWS role ARN to assume (required if not set by environment variable)

environment variables:
    environment must contain valid AWS API credentials

    AWS_ASSUME_ROLE=ARN
        no options can be present before the command if this is defined

    AWS_ASSUME_ID=EXTERNAL_ID

许可证

版权所有(c)2017 Warren Moore

这个软件可以根据麻省理工学院的许可条款重新发布。 有关详细信息,请参见文件许可证。

联系人

      @wamonite     - twitter
       \_______.com - web
warren____________/ - email

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

推荐PyPI第三方库


热门话题
java如何在jprogressbar上添加文本?   java生成30到32位之间的随机数   我想从我自己的服务器而不是java worldwind中的nasa服务器获取数据   jsp中带有外部java文件的html计数器   java如何找到运行Servlet的主机和端口   我怎么能看到数学。java中的cos方法计算平方根?   java这个docker run命令做什么?   java如何在将表单提交到servlet后将原始JSP保存在URL中?   如何在Java中访问Arraylist中的字典数据?   java JPA如果我有一个实体被用作复合键,那么级联是否也构成复合键的一部分?   连接Java:文件读取/添加到文件程序时未按预期工作(逻辑错误)   java从Android向PLC发送布尔值   java Get build。gradle文件作为一个。类文件   Youtube API V3 Java无需调用浏览器即可上传视频   java如何在Unittest中测试StackOverflower错误   实现方法中的java异常处理   java这个::instanceMethod在java8中用作方法参数有什么用途   java偶尔会获得javax。邮政使用javamail阅读gmail电子邮件时的FolderClosedException