AWS过程凭据提供程序。

awsprocesscreds的Python项目详细描述


https://travis-ci.org/awslabs/awsprocesscreds.svg?branch=master

要与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凭据

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

推荐PyPI第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用