与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如何在没有代码气味的情况下编写遵循Liskov替代和其他可靠原则的不可变映射?   java最新jre上的压缩字符串对旧编译代码有好处吗?   java是否可以在javascript中取消PrimeFaces menuitem onclick函数   mysql从SQL数据库中访问java中xml名称空间标记的值   从java程序打开excel文件   java在方法中使用“var”是否会使执行(并发)线程不安全?   java使搜索视图以一种关于AndroidManifest的通用方式可用。xml   java对如何准确使用正则表达式感到困惑?   mule如何访问java文件中的记录变量   java在从2D数组引发异常后继续   枚举当前设置为的java值   java当listview只有几个项目时,如何使alert对话框显示listview的所有项目?   java getTableRow()返回大于项大小的索引   c用java传输二进制文件(数据)   java更改多选列表项复选框颜色