密钥环后端从Bitwarden读取密码数据
项目描述
Bitwarden Keyring
从Bitwarden使用Bitwarden-cli读取机密的Keyring后端代码实现
概述
Keyring python包提供了一个方便的单点访问任何秘密持有系统的入口,允许将这些系统无缝集成到需要秘密的应用程序中,如twine。
本项目实现了Keyring,使其能够从开源的多平台云/自托管密码管理器Bitwarden读取秘密。
此后端假设它将在CLI应用程序的上下文中使用,并且可以使用sdtin
、stdout
和stderr
与用户通信。我们可以实现一个用于库的后台,假设一切都已经解锁,或者使用pinentry
来询问用户。
需求
该项目在底层使用官方的bitwarden CLI,因为没有简单的官方Python bitwarden库。以下是截至2018年10月的安装说明以及最新说明的链接
您可以通过多种方式安装Bitwarden CLI
NPM
如果您已经在系统上安装了Node.js运行时,则可以使用NPM安装CLI。NPM使保持安装更新变得容易,如果您已经使用Node.js,则应首选此安装方法。
npm install -g @bitwarden/cli
本地可执行文件
为每个平台提供原生封装的CLI版本,这些版本不要求安装Node.js运行时。您可以从Bitwarden文档的下载部分获取这些版本。
其他包管理器
- Chocolatey
choco install bitwarden-cli
- Homebrew
brew install bitwarden-cli
- Snap
sudo snap install bw
安装和配置
pip install bitwarden-keyring
Python打包生态系统可能会非常混乱。
因此,您的设置可能与我设置大相径庭。Keyring 支持一个配置文件,允许显式定义后端路径的选项。您可能需要这个选项来安装,也可能不需要。
使用方法
作为正常密钥环后端使用。它以10的优先级安装,因此很可能会首先被选中。
如果您想与twine一起使用,好消息是您已经准备好了。只需确保该软件包与twine安装在同一位置。
bitwarden-keyring
在需要时会自动请求凭证。如果您不希望每次都解锁保险库,可以将保险库会话导出到您的环境中(使用bw unlock
并按照说明操作,或启动export BW_SESSION=$(bw unlock --raw)
)。
注意事项
bitwarden-keyring
仅与以下系统进行过测试
- macOS,使用Homebrew的
bitwarden-cli
- ubuntu,使用Snap的
bw
如前所述,bitwarden-keyring
仅在具有访问标准输入和输出的CLI应用程序的上下文中工作。如果您需要读取静默或使用其他通信方法的东西,最好的办法可能是创建另一个后端,并且大多数功能都可以重用。
许可
bitwarden-keyring
根据MIT许可协议发布。Bitwarden这个名字很可能属于8bit Solutions LLC。
贡献和行为准则
项目详情
bitwarden-keyring-0.3.1.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c46e15c2fcb3cfbf99636be9911166bfe5a813c8029e1bf2730e65870640617f |
|
MD5 | 98d3b2f67de714989e93a3b8fc1bf7f5 |
|
BLAKE2b-256 | 4da3c44874b6b28f2c0d002922bed5b871cbb446671f1ae0584d6896bb301179 |