AWS过程凭据提供程序。
awsprocesscreds的Python项目详细描述
要与aws cli一起使用的基于进程的凭据提供程序的集合 以及相关工具。
这是一个实验包,任何微小的改变都可能发生 版本凹凸。
安装
最简单的安装方法是使用pip:
pip install awsprocesscreds
要求
这个包需要安装一个python版本。当前支持 python版本是:
- 2.7.9+
- 3.3.x
- 3.4.x
- 3.5.x
- 3.6倍
基于SAML表单的身份验证
如果您有SAML身份提供者,可以使用awsprocesscreds SAML 配置对aws资源的编程访问。它需要四个 参数:
- -e / --endpoint-您的SAML idp端点
- -u / --username-您的saml用户名。
- -p / --provider-saml提供者的名称。目前Okta和 支持ADF。
- -a / --role-arn-你想扮演的角色。您的saml提供者 必须配置为允许您访问此arn
默认情况下,这将缓存您的凭据,这将允许您运行 多个命令,而不必每次都输入密码。你可以 通过指定--no-cache禁用缓存
另外,可以通过指定-v或--verbose来显示日志
要配置此提供程序,您需要使用 credential_processconfig变量见AWS CLI Config docs 有关此配置选项的详细信息
OKTA配置示例:
[profile okta] region = us-west-2 credential_process = awsprocesscreds-saml -e https://example.okta.com/home/amazon_aws/blob/123 -u 'monty@example.com' -p okta -a arn:aws:iam::123456789012:role/okta-dev
ADFS配置示例:
[profile adfs] region = us-west-2 credential_process = awsprocesscreds-saml -e 'https://corp.example.com/adfs/ls/IdpInitiatedSignOn.aspx?loginToRp=urn:amazon:webservices' -u Monty -p adfs -a arn:aws:iam::123456789012:role/ADFS-Dev
自定义提供程序
此包用于提供凭据的机制通常可用, 也不是这个包裹特有的。它可以用来实现任何自定义 将与aws cli、boto3和其他sdk一起工作的凭据提供程序 他们提供支持。
该机制的详细分解以及实现 钩住MacOS密钥链的凭证提供程序可以在下面看到 Re录制的谈话:发明2017: AWS CLI: 2107 and Beyond
cli将调用作为credential_process值提供的进程。 此进程必须在stdout上以以下json格式返回凭据:
{ "Version": 1, "AccessKeyId": "string", "SecretAccessKey": "string", "SessionToken": "string", "Expiration": "2019-01-31T21:45:41+00:00" }
其中Expiration是与rfc 3339兼容的时间戳。作为到期日 时间临近,将再次调用该进程以获取新的凭据集。 Version表示此格式的版本,其唯一当前有效 值为1。其余的密钥是您希望使用的AWS凭据