Управление секретами через passwork-cli
Что такое passwork-cli
passwork-cli — консольная утилита для работы с секретами Пассворка. Основные возможности:
| Возможность | Описание |
|---|---|
| Получение секретов | Чтение пароля, полей, TOTP-кодов по ID записи |
| Подстановка в окружение | Запуск команд с секретами в переменных окружения |
| Обновление секретов | Изменение значения пароля и других полей — для ротации и автоматизации |
| Прямой доступ к API | Выполнение любых HTTP-запросов к Пассворку |
Zero-Knowledge
passwork-cli реализует клиентское шифрование: сервер Пассворка хранит только зашифрованные данные, а расшифровка и шифрование происходят локально на стороне CLI. Это означает, что даже при перехвате трафика или компрометации сервера злоумышленник не получит доступ к секретам.
Установка
Python-пакет (pip)
passwork-cli входит в пакет pw-connector — устанавливать нужно именно ег о. Проще всего через pip install pw-connector из PyPI; если нужны исходники или отдельная ветка, ставьте с gitVerse по SSH или HTTPS:
# PyPI
pip install pw-connector
# SSH
pip install git+ssh://git@gitverse.ru:2222/passwork-ru/passwork-python.git
# HTTPS
pip install git+https://gitverse.ru/passwork-ru/passwork-python.git
После установки в системе появляется команда passwork-cli.
Docker-образ
Для CI/CD и серверов без Python используйте Docker-образ:
docker run --rm \
-e PASSWORK_HOST="https://passwork.example.com" \
-e PASSWORK_TOKEN="your_access_token" \
-e PASSWORK_MASTER_KEY="your_master_key" \
passwork/passwork-cli exec --password-id "<item-id>" ./deploy.sh
Подробнее: Docker-контейнер для CLI.
Конфигурация
passwork-cli настраивается через переменные окружения:
| Переменная | Описание | Обязательная |
|---|---|---|
PASSWORK_HOST | URL сервера Пассворка | ✅ |
PASSWORK_TOKEN | Access token для аутентификации | ✅ |
PASSWORK_MASTER_KEY | Мастер-ключ для расшифровки (если используется) | Зависит от настроек |
Для CI/CD храните PASSWORK_TOKEN и PASSWORK_MASTER_KEY в защищённых переменных CI-системы (GitLab CI Variables, GitHub Secrets и т.д.), а не в коде репозитория.
Режимы работы
passwork-cli поддерживает четыре режима. Выбор режима зависит от задачи:
| Режим | Назначение | Криптография | Типичный сценарий |
|---|---|---|---|
exec | Запуск команды с секретами в ENV | ✅ На клиенте | CI/CD, деплой-скрипты |
get | Получение одного значения в STDOUT | ✅ На клиенте | Bash-скрипты, точечные запросы |
update | Обновление полей записи | ✅ На клиенте | Ротация паролей |
api | Прямые HTTP-запросы к API | ❌ Вручную | Сложная автоматизация, отчёты |
Режимы exec, get и update автоматически расшифровывают и шифруют данные на клиенте. Режим api возвращает «сырой» ответ API — работа с шифрованием остаётся на вашей стороне.
Подробная документация по каждому режиму: CLI-утилита.