复制这个网站码到您的网站上以设置一个投票箱在您的网站上。
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
除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。