迁移脚本

Bitwarden 公共 API 允许管理员使用脚本自动执行管理任务。本文所描述的脚本是为了帮助 Bitwarden 客户将现有的设置从之前的 Bitwarden 密码管理器环境迁移到新的组织而编写的,提供了一种将组织密码库数据、群组以及相关联的群组和成员的权限迁移到新安装的方法。

该脚本使用 Python 编写,可以在任何安装了 Python v3 的操作系统上运行。在此处下载脚本和示例配置文件。

安装和设置

系统要求

除了大多数 Python 发行版附带的默认库(Linux 和 macOS 上默认包含,Windows 也可用)之外,此脚本还需要安装一个名为 requests 的附加模块,然后才能成功运行该脚本。

安装 Python 模块的常用工具称为 pip。要使用 pip 安装此模块:

pip3 install requests

pip3 - 有些机器会安装多个版本的 Python。使用 pip3(而不仅仅是 pip)指定您使用 Python v3 安装 requests。如果您的计算机仅安装了一个 Python 版本,请改用 pip

所需文件

上述下载包含两个文件:

  • bwAdminTools.py:这是执行迁移所需的脚本。它需要一个完整配置的配置文件。

  • config-example.cfg:这是迁移所需的配置文件,您需要在运行脚本之前创建和设置该文件。

解压 .zip 并将这些文件保存到同一目录中。完成后,将以下文件添加到同一目录:

创建目标组织

在继续之前,您必须创建要迁移到的目标组织。了解如何创建组织

环境配置

在运行任何 bwAdminTools.py 脚本函数之前,您需要创建一个配置文件。将 config-example.cfg 的内容复制到同一目录中的新 config.cfg 文件中,并填写以下变量。请注意,由于这是迁移脚本,因此本文档中的变量分为目标两部分:

源组织变量变量描述

bw_vault_uri=

您的来源网页密码库的 FQDN,例如如果您是自托管,为 https://company.bitwarden.com;如果您使用的是美国区域的 Bitwarden 云服务,则为 https://vault.bitwarden.com。

bw_org_client_id=

源组织 API 密钥客户端 ID。了解在哪里可以找到它

bw_org_client_secret=

源组织 API 密钥客户端机密。了解在哪里可以找到它

bw_org_id=

源组织的 GUID。复制 _client_id= 值并删除 organization. 块。

bw_acc_client_id

源组织管理员或所有者的个人 API 密钥客户端 ID。了解在哪里可以找到它

bw_acc_client_secret=

源组织管理员或所有者的个人 API 密钥客户端机密。了解在哪里可以找到它

目标组织变量变量描述

dest_bw_vault_uri=

您的目标网页密码库的 FQDN,例如如果您是自托管,为 https://company.bitwarden.com;如果您使用的是欧盟区域的 Bitwarden 云服务,则为 https://vault.bitwarden.eu。

dest_bw_org_client_id=

目标组织 API 密钥客户端 ID。了解在哪里可以找到它

dest_bw_org_client_secret=

目标组织 API 密钥客户端机密。了解在哪里可以找到它

dest_bw_org_id=

目标组织的 GUID。复制 _client_id= 值并删除 organization. 块。

dest_bw_acc_client_id=

目标组织管理员或所有者的个人 API 密钥客户端 ID。了解在哪里可以找到它

dest_bw_ac_client_secret=

目标组织管理员或所有者的个人 API 密钥客户端机密。了解在哪里可以找到它

脚本功能

从存储 bwAdminTools.py 文件、config.cfg 文件和密码管理器 CLI 可执行文件的目录中,您可以运行以下命令:

python3 - 有些机器会安装多个版本的 Python。使用 python3(而不仅仅是 python)指定命令使用 Python v3 运行。如果您的计算机仅安装了一个 Python 版本,请改用 python。某些发行版还将提供 python 而不是 v3 的 python3 二进制文件。

要显示脚本帮助文本:

python3 bwAdminTools.py -h

要比较源组织和目标组织:

python3 bwAdminTools.py -c diffbw

要将组织库数据、群组和群组权限从源组织迁移到目标组织:

python3 bwAdminTools.py -c migratebw

要将成员的权限(群组以外的)从源组织迁移到目标组织:

python3 bwAdminTools.py -c migratebwusers

要从源组织中删除所有集合:

python3 bwAdminTools.py -c purgecol

要从目标组织中删除所有集合:

python3 bwAdminTools.py -c purgecoldest

要从源组织中删除所有群组:

python3 bwAdminTools.py -c purgegroup

要从目标组织中删除所有群组:

python3 bwAdminTools.py -c purgegroupdest

最后更新于