AWS过程凭据提供程序。

awsprocesscreds35的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.x

基于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第三方库


热门话题
Java例外。Lang.Stringindexoutofboundsexception索引超出范围(0)   java Spring引导Freemarker从2.2.0升级失败   重构Java反模式名称?包含对象的对象包含。。。等   用java处理JDBC可能出现的死锁的最佳方法   java无法访问主线程上的数据库,因为它可能会在很长一段时间内锁定UI   java如何将固定大小的画布包装在边框窗格中的滚动窗格居中?   java解析xsd文件后得到空结果   在html页面中表示XML文件的java   socketjava对象流   sql Java越界异常数据库   JavaJBoss7.1.1不会在Mavericks上启动   Twincat ADS事件驱动读取在一段时间后停止工作(Java)   java MyBatis使用生成的ID插入所有   Mojave上缺少MacOS Java控制面板   JavaGuice:如果多次注入相同的依赖项,是否注入了该依赖项的相同实例?