复制这个网站码到您的网站上以设置一个投票箱在您的网站上。

Conjur的Python项目详细描述


conjur python2 api客户端

conjur api的python2客户端。

如果您正在寻找python3 api客户端,请转到我们的新项目页面https://github.com/cyberark/conjur-api-python3

重要信息:当前不支持此API客户端

安装

这个conjur python2 api需要python2.7。

PyPI安装

pip install conjur

注意:如果安装了pandoc软件包,则可能需要卸载它,才能使上述命令生效。你 可以通过pip uninstall pypandoc来实现。

API文档

有关详细信息,请参见API documentation 所有的类和方法。

用法

配置

# The `config` member of the conjur.config module is a "global" Configuration# used by new API instances by default.fromconjur.configimportconfig# Set the conjur appliance url.  This can also be provided# by the CONJUR_APPLIANCE_URL environment variable.config.appliance_url='https://conjur.example.com/api'# Set the (PEM) certificate file. This is also configurable with the# CONJUR_CERT_FILE environment variable.config.cert_file='/path/to/conjur-account.pem'

创建和使用api实例

importconjur# For God's sake, don't put passwords in your source code!password='super-secret'login='alice'# Create an API instance that can perform actions as the user 'alice'api=conjur.new_from_key(login,password)# Use the API to fetch the value of a variablesecret=api.variable('my-secret').value()print("The secret is '{}'".format(secret))

new_from_key接受一个conjur用户名和一个api密钥或密码 (see the Conjur developer documentation了解有关区别的详细信息)。如果您的脚本将身份验证为特定的魔术师身份,而不是代表已提供其令牌的用户行事,则此功能非常有用。

当使用此方法创建时,API将尝试在方法第一次需要 调用授权。要强制它立即进行身份验证,可以使用authenticate()方法。 使用new_from_key创建的实例将无限期缓存其身份验证令牌。 由于conjur auth令牌在8分钟后过期,因此可以强制api实例更新其令牌 通过调用api.authenticate(cached=False)或设置api.token = None

创建api实例的其他方法

如果运行应用程序的主机被分配了一个魔术师标识 new_from_netrc是创建api实例的最简单方法。

importconjurfromconjur.configimportconfigconfig.load('/etc/conjur.conf')api=conjur.new_from_netrc('/etc/conjur.identity',config=config)

如果您有一个现有的身份验证令牌,例如处理时 包含最终用户令牌的http请求,使用new_from_token创建api实例。

importconjur# ... some web magicapi=conjur.new_from_token(request.get_json()['user_token'])salesforce_apikey=api.variable('sales/salesforce/api_key')

yaml文件

共轭主机将此文件放置在/etc/conjur.conf

在本地运行这将是您的~/.conjurrc文件。

fromconjur.configimportconfigconfig.load('/etc/conjur.conf')

变量

您可以创建、获取和更新如下变量:

importosimportconjurapi=conjur.new_from_key(login='danny',api_key=os.getenv('CONJUR_API_KEY'))loggly_token=api.create_variable(id='monitoring/loggly.com/api-token',value='dEet7Hib1oSh9g')gis_database_password=api.variable('gis/postgres/password')print(gis_database_password.value())gis_database_password.add_value('lij6det8eJ7pIx')

如果没有给定id,将生成唯一的id。如果提供一个值,它将 用于设置变量的初始值。获取变量时,可以传递 检索特定版本的version关键字参数。

用户

使用密码创建用户alice

alice=api.create_user('alice',password='super-secret')

创建不带密码的用户bob,并保存api密钥。创建时 作为调用器用户,api在响应中可用。但是,检索 将来的用户不会返回api密钥。

bob=api.create_user('bob')bob_api_key=bob.api_keyprint("Created user 'bob' with api key '{}'".format(bob_api_key))

获取名为“otto”的用户,并检查是否找到该用户:

ifapi.user('otto').exists():print("Otto exists!")else:print("Sorry, otto doesn't exist :-(")

创建一个名为^ {CD18>}的组,并将现有用户{{CD15}}添加到它。

devs=api.create_group('developers')

开发

克隆此项目并运行:

pip install -r requirements.txt -r requirements_dev.txt

使用:

./jenkins.sh

Pypi

要发布到pypi,您需要将此文档转换为 使用pandoc的文本:

pandoc --from=markdown --to=rst --output=README.rst README.md

此外,您可能需要安装pypandoc包 使标记正确显示在pypi站点上。

许可证

版权所有2016-2017 Cyberark

根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此软件。 您可以在

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

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

推荐PyPI第三方库


热门话题
java Jetty:以编程方式停止会导致“1个线程无法停止”   java将位图对象转换为有问题的base64字符串   java Hibernate JPA映射具有一个值为列表的映射   java I无法将数据写入多个客户端小程序   mysql Java更新查询并非每次都有效   java佯装客户端和来自属性的名称   java DatainputStream的readUTF()方法单独读取文本数据,将报告EOF异常。为什么?   Java Date getTime函数返回负值   java为什么我的var返回不兼容问题出现错误13?   使用反射将List<SomeObject>作为参数的java How get方法   java处理与改型不一致的API响应   从BuffereImage渲染精灵时出现java问题   添加删除端点时,由于Spring MVC中的MIME类型,java资源被阻止   java在变量声明中使用double vs double   java itext和dotmatrix打印机   java如何在google cloud storage builder中设置项目ID?   ResourceConfig中的java依赖解析程序   java从NetBeans启动ImageJ插件会抛出一个JNI错误。仅从ImageJ启动它就可以了