AWS CLI承担角色和OKTA认证。

pyokta-aws-cli-assume-role的Python项目详细描述


< div >

pyokta aws cli承担角色

pypi versionpypi downloadssourcebuild>>>>>>>><<


Okta AWS人类认证工具

如果您通过Okta Saml Federation登录到AWS并担任IAM角色,则此工具将帮助您通过AWS CLI和AWS CLI轻松实现对AWS的实际访问="nofollow">sdks。也有助于运行terraform/terraform打包程序,以及具有IAM角色的credstash

< Buff行情>

替换okta-aws cli assempt role

注意事项:该项目仍处于快速发展阶段。您可以通过github订阅新的发布通知。通过pip install--upgrade--no cache dir pyokta aws cli assempt role升级到最新版本

目录

支架

  • mfa:sms
  • MFA:Okta Mob公司ILE APP/LI>
  • 所有主要操作系统(Linux、Windows、Mac)。

请为错误或功能请求(如果路线图或其他问题中尚未提及)创建问题

为什么是新工具?

优于现有工具的优点

  • 没有路径更改或重写aws可执行文件-您仍在使用本机awscli。
  • 支持多个租户。
  • 为所有租户提供一个一致的配置文件。
  • env var更改是100%可选的。
  • 清除https错误输出。
  • 易于安装。
  • 不需要JVM。

此工具中缺少现有的工具功能

计划在不久的将来支持这些功能。请参见路线图

  • [X]从多个MFA选项中交互选择。
  • [X]通过cli args、env vars或config文件设置所需的mfa选项。
  • [X]支持OKTA移动应用程序MFA(目前只有短信可以工作)。
  • [X]跨操作系统兼容性
  • []Okta令牌缓存/刷新。

入门

要求

  • 巨蟒3.5+
  • awscli:pip安装--升级awscli

安装

pip install--upgrade--no cache dir pyokta aws cli assempt role


要检查安装并输出当前版本,请运行: pyokta aws--版本

配置

可以通过cli args、env vars或上述pyokta aws配置文件输入配置。配置采用如下方式:cli args>;env vars>;配置文件。对于所有支持的arg和env vars,运行pyokta aws--helppyokta aws[command]--help

交互式

运行pyokta aws configure进行交互式配置(WIP)。

配置文件

默认配置文件位置为~/.pyokta_aws/config

配置文件示例:

[my-aws-profile]
region = us-east-1
okta_org = example.okta.com
okta_aws_app_url = https://example.okta.com/home/amazon_aws/123456789
aws_role_to_assume = arn:aws:iam::987654321:role/AWSAdmin
aws_idp = arn:aws:iam::987654321:saml-provider/Okta
username = johnsmith
sts_duration = 14400
mfa_choice = sms
  • 区域:目标AWS区域。(将覆盖目标aws cli配置文件中的默认区域)
  • Okta_org:Okta org的基本域。
  • Okta-aws-app-url:Okta-app-url(可通过将鼠标悬停在AWS-app-chiclet上找到)。
  • AWS角色假设:可在AWS控制台的iam>;roles>;lt;role&u id>;下找到。查找arn
  • AWS IdP:可在AWS控制台的iam>;identity providers>;<;provider\u id>;下找到。查找arn
  • 用户名:(可选)OKTA用户名。
  • 密码:(可选)建议省略或留空并以交互方式输入。
  • sts_duration:(可选)保持令牌活动的持续时间(秒)。在iam>;identity providers>;<;provider>;中找到的最长持续时间
  • 多因素选择(可选)如果注册了多个多因素选择,则可以通过设置首选多因素选择跳过交互式因素选择。当前的选项是smsapp(即okta移动应用程序)。

用法

要通过OKTA进行身份验证并采用AWS配置文件,请运行:

pyokta aws auth--profile<;aws_profile>;


对于所有支持的auth参数,运行pyokta aws auth--help

对于所有支持的命令,运行pyokta aws--help

工作原理

mainpyokta aws auth命令使用okta进行身份验证,并从aws sts获取一组临时凭据。这些凭据将写入本地aws凭据文件。这一切ows的aws cli和其他工具,如terraform/terragrunt打包程序,和credstash按预期运行,而无需重写awscli可执行文件或导出环境变量。

< Buff行情>

在进行身份验证之前,您的本地aws cli配置文件将通过pyoktaaws配置文件中设置的配置文件和区域进行更新。在使用okta进行身份验证时,请将pyokta aws配置文件视为aws cli配置的唯一真实来源。

路线图

  • [X]pypi包
  • [X]cli和设置加载程序
  • [X]支持多租户设置
  • [X]ci(测试):建筑工人:
  • [X]Okta认证
  • [X]Okta 2fa(短信息)
  • [X]从Okta应用程序获取saml
  • [X]通过Okta Auth进行AWS认证
  • [X]AWS配置(如果以前没有设置的话)
  • [X]基本文档:铅笔:
  • [X]支持多个2fa方法
  • []交互式初始配置:儿童通道:
  • []阅读文档:铅笔:
  • []更多的测试
  • [X]Windows支持:方格标志:
  • []CI/CD(部署到PYPI)?
  • []互动模式下的AWS角色列表选择:儿童交叉:
  • [X]Okta 2fa(Okta移动应用程序)
  • []推送通知2fa
  • []使用上下文管理器在取消时自动取消OKTA验证
  • []OKTA令牌缓存/刷新以加速多个登录:儿童交叉口:

:狗:

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

推荐PyPI第三方库


热门话题
java接口中的每个方法都是抽象的,但在抽象类中,我们也只能使用抽象方法   初始化Java中声明的、未初始化的变量会发生什么情况?   java BouncyCastle openPGP将字节[]数组加密为csv文件   在Java中将类A(和所有子类)映射到类B的实例的字典   RSA公钥编码,在Java和Android中,代码相同,结果不同   java在安卓中实现数字检测语音识别   java取消选择复选框   java如何在其他配置中重用Maven配置XML片段   java有没有一种有效的方法来检查HashMap是否包含映射到相同值的键?   spring处理程序调度失败;嵌套的例外是java。lang.NoClassDefFoundError:org/apache/http/client/HttpClient   带有ehcache的java多层缓存   java如何访问chromium(或任何其他浏览器)cookie   java通过将两个集合与spring data mongodb data中的条件合并来获取计数   安卓中R.java的语法错误