AWS过程凭证提供者。

mnawsprocesscreds的Python项目详细描述


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

要与AWS CLI一起使用的基于进程的凭据提供程序的集合 以及相关工具。在

这是一个实验性的软件包,任何次要的都可能发生突破性的变化 版本碰撞。在

这个软件包支持多个HTML表单,因此也支持旧的ADFS设置。在

安装

最简单的安装方法是使用pip:

pip install mnawsprocesscreds

要求

此包需要安装python版本。当前支持 python版本包括:

  • 2.7.9以上
  • 3.3.x条
  • 3.4.x条
  • 3.5.x条
  • 3.6.x条

基于SAML表单的身份验证

如果您有一个SAML标识提供程序,那么可以使用awsproccescrides 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配置示例:

^{pr2}$

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:Invent 2017录制演讲: AWS CLI: 2107 and Beyond

CLI将调用作为credential_process的值提供的进程。 此进程必须以以下JSON格式返回stdout上的凭据:

{
   "Version": 1,
   "AccessKeyId": "string",
   "SecretAccessKey": "string",
   "SessionToken": "string",
   "Expiration": "2019-01-31T21:45:41+00:00"
}

其中Expiration是RFC3339兼容的时间戳。作为到期日 时间越来越近,将再次调用该进程以获取一组新的凭据。 Version表示此格式的版本,其当前唯一有效 值为1。其余的密钥是您希望使用的AWS凭据。在

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

推荐PyPI第三方库


热门话题
virtualbox无法从java移动共享文件夹中的文件   java如何连接Android 4.3.5(GA)的apache HttpClient库?   片段中的java Recyclerview未立即显示警报对话框结果   javac(n,r)计算器程序不工作   java使用BooleanQuery还是编写更多索引?   如何在java中设置y/n循环?   java不兼容的通用通配符捕获   java如何在安卓xml中编写数据绑定时的三元操作条件   java如何使用FileDialog?   java如何创建单元测试来检测是否有人使用错误的编码编辑了文件?   java如何从唯一的字符串生成唯一的int?   java gradletomcatplugin:log4j:WARN找不到记录器的附加程序   java我的动态编程解决方案(Kefa和第一步)在codeforces中有什么问题?   java每天更新两个数据库,使它们都包含相同的有效数据集   java如何检查给定的时间是否在时间限制之间   java在单个json POST上保存父级和子级   java如何获取Solr字段类型