与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