Перейти к основному содержимому
Версия: 7.0

Импорт из Bitwarden

Пассворк 7 поддерживает перенос данных из Bitwarden через Python-скрипт на базе Python-коннектора. Миграция выполняется через API и позволяет сохранить структуру данных при переходе на on-premise версию Пассворка.

осторожно

Перед запуском импорта рекомендуем создать резервную копию базы данных Пассворка и протестировать процесс в тестовой среде.

Что переносится

Переносится

  • элементы Bitwarden типа login и secure note;
  • коллекции Bitwarden;
  • папки из личного сейфа Bitwarden;
  • имя, описание (notes), логин, пароль;
  • URL из login.uris (как список URL);
  • TOTP (как дополнительное поле типа totp);
  • кастомные поля:
    • type 0 и type 2 -> text;
    • type 1 -> password.

Не переносится

  • вложения Bitwarden;
  • элементы других типов (они пропускаются);
  • поля неподдерживаемого типа (в лог-файл записывается предупреждение).

Файлы

Шаг 1. Экспорт данных из Bitwarden

В примере используется web-версия Bitwarden, так как экспорт данных организации выполняется через веб-интерфейс.

к сведению

Если нужно экспортировать только личный сейф из браузерного расширения, десктопного или мобильного приложения, нужно использовать соответствующий раздел в документации Bitwarden.

  1. Открыть Bitwarden и перейти в ToolsExport.
Открыть раздел Export в Bitwarden
  1. Выбрать экспорт всей организации или отдельного сейфа, формат JSONExport.
Выбор формата JSON для экспорта Bitwarden
  1. Подтвердить экспорт, введя мастер-пароль Bitwarden.
Подтверждение экспорта в Bitwarden мастер-паролем
  1. Убедиться, что файл .json получен. Он будет входным файлом для import.py.

Шаг 2. Подготовка окружения и запуск скрипта

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 import.py ./bitwarden_export.json --host "https://passwork.example.com" --token "YOUR_ACCESS_TOKEN"

Параметры запуска

Обязательно

  • file — путь к JSON-файлу Bitwarden;
  • --host — URL адрес Пассворка;
  • --token — токен доступа (accessToken).

Опционально

  • --master-key — мастер-ключ (если используется клиентское шифрование);
  • --refresh-token — токен обновления (refreshToken);
  • --vault-id — ID сейфа, куда выполнять импорт;
  • --collections — список коллекций через запятую (имя или ID).

Примеры запуска

Импорт в сейфы (по коллекциям)

python3 import.py ./bitwarden_export_org.json \
--host "https://passwork.example.com" \
--token "YOUR_ACCESS_TOKEN"

Импорт выбранных коллекций

python3 import.py ./bitwarden_export_org.json \
--host "https://passwork.example.com" \
--token "YOUR_ACCESS_TOKEN" \
--collections "Collection 1,Collection 2"

Импорт в существующий сейф

python3 import.py ./bitwarden_export_org.json \
--host "https://passwork.example.com" \
--token "YOUR_ACCESS_TOKEN" \
--vault-id "VAULT_ID"

Шаг 3. Интерактивные запросы

Если часть параметров не передана в CLI, скрипт запросит их в интерактивном режиме:

Input comma-separated list of collection IDs or names to export (optional):
Input Passwork vault ID to import data to (optional):

Для пропуска, нажать Enter.

Шаг 4. Подтверждение и логирование

Перед импортом скрипт показывает сводку и запрашивает подтверждение:

The following collections will be exported: Private vault
Continue operation? (Y/N):

Во время выполнения создаётся лог-файл в директории запуска:

import-YYYY-MM-DD_HH-MM-SS.log

Лог содержит этапы импорта, созданные сейфы/папки и предупреждения о пропущенных данных.

Аргументы

Чтобы посмотреть список всех аргументов:

python3 import.py --help
Справка по параметрам import.py