担任aws iam角色并使用假定的凭据执行命令
envassume的Python项目详细描述
假设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