Утилита Passwork CLI
10 мин
Passwork CLI — это инструмент командной строки для получения паролей из Пассворка и безопасной работы с ними в скриптах, автоматизации и CI/CD.
Основные режимы работы
- exec — извлекает пароли из элементов или ярлыков, добавляет в переменные окружения и запускает указанную команду с доступом к этим переменным;
- get — получает значение поля из элемента или ярлыка, расшифровывает его локально и выводит в STDOUT;
- update — обновляет поле элемента или ярлыка через CLI с учётом безопасности;
- api — предоставляет прямой доступ к API Пассворка, позволяя выполнять любые методы API и получать ответы в формате JSON.
Для чего нужен Passwork CLI
- Безопасное подключение к базам данных и сервисам — пароли не сохраняются на диск, не попадают в историю команд, а подставляются только на время выполнения команды.
- Автоматизация деплоя и CI/CD — секреты из Пассворка автоматически доступны в пайплайнах.
- Администрирование серверов — выполнение задач с использованием временных переменных окружения.
- Интеграция с DevOps-инструментами — быстрое получение паролей для скриптов, Ansible, Terraform и других инструментов.
Дополнительные преимущества Passwork CLI
- Доступ к паролям возможен только во время выполнения процесса.
- Поддержка работы с самоподписанными сертификатами.
- Гибкая фильтрация элементов по тегам, папкам и сейфам.
- Все данные шифруются на стороне клиента (при включенном режиме клиентского шифрования).
Установка
Пакет можно установить прямо из gitVerse:
- shell
pip install git+ssh://git@gitverse.ru:2222/passwork-ru/passwork-python.git
Или через HTTPS:
- shell
pip install git+https://gitverse.ru/passwork-ru/passwork-python.git
Примеры использования
Режим EXEC — запуск команд с переменными окружения
Запуск клиента БД с паролем из записи:
- shell
passwork-cli exec --password-id "db_password_id" \
mysql -u admin -h localhost -p"$DB_PASSWORD" database_name
Режим GET — получение данных
Получить пароль из элемента по ID:
- shell
passwork-cli get --password-id "68793e13dfc88d879e0f2e39"
Режим UPDATE — обновление данных
Обновить пароль в элементе:
- shell
passwork-cli update \
--password-id "68793e13dfc88d879e0f2e39" \
--password "new-password-value"
Режим API — прямые вызовы к API
Получить список всех сейфов:
- shell
passwork-cli api --method GET --endpoint "v1/vaults"
подсказка
Рекомендуется использовать переменные окружения для хранения токенов и мастер-ключей