担任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第三方库


热门话题
在Eclipse中使用多个调用在一行上打印java   javajackson序列化问题。只有同一实体的第一个对象可以很好地序列化   Java中Deflate函数的等价充气   使用customlitview的java Android actionbar搜索   java“<T>T get()”是什么意思?(它有用吗?)   目标c使用CommonCrypto使用AES256加密,使用OpenSSL或Java解密   java在运行时更新资源文件   fileinputstream在java中访问并将数据写入现有文件   带集群的java Android Mapbox我希望每个功能都有不同的标记图像   java JDK8>JDK10:PKIX路径生成失败:SunCertPathBuilderException:找不到请求目标的有效证书路径   java使用Hk2生成具有指定构造函数参数的实例   为什么这个系统。出来Java中的println()打印到控制台?   java目录和文件名连接不起作用   使用mockito和通配符绘图的java