跳转到主要内容

从1Password保险库导入元数据,并允许批量操作标签

项目描述

Project generated in Python Project generated with PyScaffold

python-one-password

1Password标签编辑器

从1Password数据库收集保险库和凭据的JSON元数据;允许批量操作标签

入门指南

在运行这些工具之前,您需要为您的操作系统安装1Password CLI。

1Password CLI <https://developer.1password.com/docs/cli/get-started/>

安装

可以使用标准的Python PIP命令从PyPI安装python-one-password工具及其依赖项

% python3 -m pip install python_one_password

交互式帮助

主要命令和子命令具有嵌入的帮助,可以通过以下方式访问

% python-one-password --help
% python-one-password credentials --help
% python-one-password tags --help

导入凭据

开始使用1Password数据库所需的第一个步骤是从一个或多个保险库导入凭据。

第一个与1Password CLI工具交互的命令可能会生成一个认证提示。

注意:如果提示,请提供您的密码和/或生物识别数据以解锁1Password数据库

然后,您可以导入一个或多个保险库的凭据,如下所示,对于名为“Testing”的保险库

% python-one-password credentials fetch -n -i Testing
Importing data from 1Password database...
Total number of vaults: 20
Vaults imported into cache: 1

########## Vault Summary ##########

ID                          Name
cnx76s6avkg3xikw6u5bf7jdki  Testing

Importing credential metadata from 1Password database...
Credential data gathered for: 1 vault(s)
Credential metadata records loaded: 5
Loaded cached JSON metadata: [5] records

Review current credential state? (y/n): y

### Credentials: Current State ###

yczzflaacyziwew2ahy24kqdxi  Test4
gbikz2upboavuksupx65xb5fie  Test5
fkn3cp42ouua47rqtnergchm6q  Test3
rfoxd64sumvzbk2m7nkruyvr5e  Test1
xiu64ukcwxtxfco7j2wjcf36eq  Test2

加载一组凭据后,您可以使用以下方式查看它们

% python-one-password credentials show
Loaded cached JSON metadata: [5] records

### Credentials: Current State ###

gbikz2upboavuksupx65xb5fie  []      Test5
fkn3cp42ouua47rqtnergchm6q  ['c3po', 'luke', 'r2d2', 'chewbacca']   Test3
yczzflaacyziwew2ahy24kqdxi  []      Test4
rfoxd64sumvzbk2m7nkruyvr5e  ['c3po', 'luke', 'chewbacca']   Test1
xiu64ukcwxtxfco7j2wjcf36eq  ['c3po', 'luke', 'r2d2', 'chewbacca']   Test2

然后,您可以使用匹配/拒绝搜索模式进一步精炼您的选择

% python-one-password credentials refine --reject chewbacca
Loaded cached JSON metadata: [5] records
Matching query:        [3] chewbacca
Subsequently rejected: 3/5

Credentials now selected: 2

Review current credential state? (y/n): y

### Credentials: Current State ###

yczzflaacyziwew2ahy24kqdxi  []      Test4
gbikz2upboavuksupx65xb5fie  []      Test5

Update working credential set to selection? (y/n): y

当你获取到一组合适的凭证来工作时,你可以继续进行标签操作。

处理标签

标签操作的说明可以通过以下方式调用:

% python-one-password tags --help

基本的标签操作包括:

  • add 添加标签(到选定的凭证) │

  • allocate 从列表中循环分配标签(到选定的凭证) │

  • replace 用另一个标签替换给定的标签(从选定的凭证) │

  • strip 从选定的凭证中移除标签

这些涵盖了使用元数据标签的广泛用例。

大多数操作都有一个选项,既可以追加到现有标签,也可以覆盖现有标签并丢弃它们。

如果追加会创建重复项,则在应用之前将列表去重,以防止在更改过程中意外复制。

简要讨论“allocate”选项的操作是值得的。这在您有一份团队成员(员工)名单,他们可能作为轮换任务/项目的一部分被分配一组凭证时很有用。您可以在命令行上指定团队成员列表,然后该列表将被迭代,以循环分配凭证。

% python-one-password tags allocate -o bob sarah steve
Loaded cached JSON metadata: [5] records

Review current credential state? (y/n): y

### Credentials: Current State ###

gbikz2upboavuksupx65xb5fie  []      Test5
yczzflaacyziwew2ahy24kqdxi  []      Test4
fkn3cp42ouua47rqtnergchm6q  ['c3po', 'luke', 'r2d2', 'chewbacca']   Test3
rfoxd64sumvzbk2m7nkruyvr5e  ['c3po', 'luke', 'chewbacca']   Test1
xiu64ukcwxtxfco7j2wjcf36eq  ['c3po', 'luke', 'r2d2', 'chewbacca']   Test2

Tags to allocate: ['bob', 'sarah', 'steve']

### Credentials: Future State ###

gbikz2upboavuksupx65xb5fie  ['bob'] Test5
yczzflaacyziwew2ahy24kqdxi  ['sarah']       Test4
fkn3cp42ouua47rqtnergchm6q  ['steve']       Test3
rfoxd64sumvzbk2m7nkruyvr5e  ['bob'] Test1
xiu64ukcwxtxfco7j2wjcf36eq  ['sarah']       Test2

Commit these updates to the 1Password database? (y/n): y
[5] Credentials updated

修改和贡献

此项目使用pre-commit,请在进行任何更改之前确保安装它

% pip install pre-commit
% cd python-one-password
% pre-commit install

更新钩子到最新版本是一个好主意

``% pre-commit autoupdate``

别忘了告诉您的贡献者也要安装并使用pre-commit。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

python_one_password-0.1.1.tar.gz (38.9 kB 查看哈希值)

上传时间

构建分布

python_one_password-0.1.1-py3-none-any.whl (22.7 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页