与conjur v5设备交互的api

conjur-client的Python项目详细描述


conjur-api-python3

基于python3的用于Conjur OSS的api sdk。回购协议 还包括一个自包含的cli工具(conjur-cli),它包装了api 在一个简单的可执行脚本/二进制文件中。


状态:alpha

警告:命名和api仍然会受到破坏性更改的影响!


安装代码

来自Pypi

$ pip3 install conjur-client

来源

$ pip3 install .

注意:在某些计算机上,必须使用pip而不是pip3,但在大多数情况下, 如果您的平台可以使用pip3

用法

cli

cli可以与附带的可执行脚本一起使用:

conjur-cli --insecure -l https://myserver -a orgname -u admin -p secret \
  variable get foo/bar

或通过已安装的模块:

python -m conjur --insecure -l https://myserver -a orgname -u admin -p secret list

api

大多数使用是通过创建客户机实例,然后在其上调用api来完成的:

带有登录ID和密码
#!/usr/bin/env python3fromconjurimportClientclient=Client(url='https://conjur.myorg.com',account='default',login_id='admin',password='mypassword',ca_bundle='/path/to/my/ca/bundle')print("Setting variable...")client.set('conjur/my/variable','new value')print("Fetching variable...")new_value=client.get('conjur/my/variable')print("Variable value is:",new_value.decode('utf-8'))

带有登录ID和API密钥

编写与第一个示例相同的代码,但使用以下参数创建客户端:

client=Client(url='https://conjur.myorg.com',account='default',login_id='admin',api_key='myapikey',ca_bundle='/path/to/my/ca/bundle')

使用.netrc.conjurrc设置

编写与第一个示例相同的代码,但使用以下参数创建客户端:

client=Client()

当前支持的客户端方法:

get(variable_id)

根据其ID获取变量值。变量是二进制数据 它应该被解码成系统的编码(例如 get(variable_id).decode('utf-8')

get_many(variable_id[,variable_id...])

根据其ID获取多个变量值。变量是 在将变量名映射到其值的字典中返回。

set(variable_id, value)

根据变量的ID将其设置为特定值。

注意:创建变量的策略必须已经加载 否则,在调用期间将得到404错误。

apply_policy_file(policy_name, policy_file)

将基于文件的yaml应用于命名策略。仅此方法 支持附加更改。结果是构造字典对象 从返回的json数据。

replace_policy_file(policy_name, policy_file)

将命名策略替换为所提供文件中的策略。这是 通常是破坏性的召唤。结果是dictionary对象 从返回的json数据构造。

list()

返回当前 帐户。

贡献

我们存储了开发说明和如何构建和测试这个 在CONTRIBUTING.md中的项目-请参阅该文档 如果你愿意贡献。

许可证

这个项目是licensed under Apache License v2.0

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

推荐PyPI第三方库


热门话题
基于Java的遗传算法确定最优交易行为   java改型2.0无法解析Json嵌套对象   java在数组中查找最大额定值(数字),我们不能跳过数组中的一个或多个连续数字   java在spring boot中从命令行设置活动概要文件和配置位置   JavaAxis2:传输错误:404错误:未找到帮助理解其真正含义   java使用Play2WAR和Play2.2.1   java理解函数运算符:Lambda   在代理java后面读取https网页数据   java应用程序。Android单元测试中的类mock   java为什么onClick布局XML引用的方法需要是公共的?   从SMTLIB2文件解析的java显示声明   java重写给定的类以使用组合而不是继承   HTMLUnit和Java:NoSuchMethodException:createDefaultSSLContext()   java如何使用Spring和ThymeLeaf从前端正确更新后端中的对象?   来自init()Java的方法调用   使用cellrendering从数据库向JTable动态添加数据后,java无法使用JTable执行排序操作   java Android Studio 1.5.1。渲染错误(浮动操作按钮)   web服务如何使用UsenameToken和PasswordDigest为JAVA中的SOAP客户端附加wsse安全头   java为什么要在局部变量和myApplicationClass中同时删除“ArrayList.remove”?