Vault asyncio
项目描述
aiovault 1.1.1版本发布
小型错误修复
aiovault 1.0.0版本发布
首次重大发布。应该相当稳定……所有测试都通过,所以应该不会太糟糕。
这个库主要是围绕aiohttp调用许多Vault URL进行包装。最终我想添加一些辅助方法,使使用vault与微服务更容易,比如有一个协程将一直在那里续订令牌/密钥等...
示例
使用vault进行身份验证并写入然后读取密钥的简单示例
import aiovault
with aiovault.VaultClient(token='6c84fb90-12c4-11e1-840d-7b25c5ee775a') as client:
is_authed = await client.is_authenticated()
print(is_authed) # True
await client.secrets.generic.create('some_secret', key1='value1', key2='value2')
secret = await client.secrets.generic.read('some_secret')
print(secret['key1']) # value1
print(secret['key2']) # value2
文档
https://pyaiovault.readthedocs.io/en/latest/
功能
令牌、GitHub、AppRole、LDAP、RADIUS和用户/密码身份验证后端
通用密钥、Consul、TOTP和Transit后端
文件和Syslog审计后端
策略管理
后端重命名
初始化、密封和健康管理
待办事项(近期)
提高代码覆盖率
密钥后端:数据库、RabbitMQ、Cubbyhole
身份验证后端:Okta、AWS(希望如此)
待办事项(长期)
更多文档、更多示例
可能包括像持续续订令牌/密钥的协程这样的实用函数
使用hcl库进行策略验证?
套接字审计后端
TLS身份验证支持
PKI、SSH密钥支持
测试
尽可能多的单元测试直接与Vault/Consul/LDAP/RADIUS交互,而不是模拟。目前我的理由是,这样,如果改变决定Vault版本和REST接口中引入的不兼容性变量,它们会立即出现在大量失败的单元测试中。
鸣谢
我使用了 _Cookiecutter 包来设置初始项目。相当不错。
大部分功劳归功于这个出色的 _aiohttp 库,这个库几乎就是它的包装。
许可证
免费软件:GNU 通用公共许可证 v3
历史
1.1.1 (2017-11-16)
更新了README
1.1.0 (2017-11-16)
修复了verify=False的bug
1.0.0 (2017-07-29)
第一个稳定版本
0.2.0 (2017-07-20)
切换到使用Python 2.6的开发版本
修复了README中的链接目标
修复了README代码示例中的拼写错误
添加了AppRole认证后端
添加了Transit密钥后端
创建了在非开发模式下运行Vault的测试工具
添加了Seal/Unseal、初始化和健康方法
0.1.3 (2017-07-17)
修复了PyPI上README的渲染问题
0.1.2 (2017-07-17)
主要是仓库维护。
更新了requirements_dev.txt和setup.py
修复了tox未传递环境变量的问题
限制覆盖率范围到库而不是测试套件
0.1.1 (2017-07-17)
PyPI上的第一个版本。
项目详情
下载文件
下载适用于您平台的自定义文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。