API и интеграции

CLI утилита

22min
описание интерфейс командной строки для получения паролей из менеджера паролей пассворк и безопасного использования в скриптах и командах пассворк cli работает в двух основных режимах exec — извлекает пароли из пассворк, добавляет в переменные окружения и запускает указанную команду с доступом к этим переменным; api — предоставляет прямой доступ к api пассворка, позволяя выполнять любые методы api и получать ответы в формате json требования python 3 10+ requests>=2 31 0 python dotenv>=1 0 0 cryptography>=42 0 0 pbkdf2>=1 3 установка можно установить пакет прямо из github shell pip install git+ssh //git\@github com\ passwork me/passwork python git или через https shell pip install git+https //github com/passwork me/passwork python git общие параметры все команды поддерживают следующие параметры параметр переменная окружения описание host passwork host url сервера пассворк token passwork token токен доступа к api refresh token passwork refresh token токен обновления (необязательно) master key passwork master key мастер ключ для расшифровки no ssl verify отключение проверки ssl сертификата 1\ режим выполнения (exec) извлекает пароли из пассворка, расшифровывает их, помещает в переменные окружения и запускает указанную команду с доступом к этим переменным синтаксис shell passwork cli exec \[опции] команда для выполнения или с использованием параметра cmd shell passwork cli exec \[опции] cmd "команда для выполнения" идентификация паролей для команды exec необходимо указать хотя бы один из следующих параметров параметр описание password id id одного или нескольких паролей (через запятую) vault id id одного или нескольких хранилищ (через запятую) folder id id одной или нескольких папок (через запятую) tags теги для поиска паролей (через запятую) как это работает аутентификация подключение к серверу пассворка с использованием указанных учетных данных; получение паролей поиск паролей по заданным критериям (id, хранилище, папка, теги); расшифровка расшифровка найденных паролей с помощью мастер ключа; создание окружения формирование переменных окружения из основного значения пароля (имя переменной соответствует названию пароля); всех пользовательских полей записи выполнение команды запуск указанной команды в новом процессе с доступом к переменным окружения возможности поддержка нескольких паролей возможность использовать несколько паролей одновременно; доступ к пользовательским полям все кастомные поля доступны как переменные окружения; именование переменных пробелы и символы заменяются на ; синтаксис как у docker команда может быть указана сразу после параметров cli; сохранение кода выхода возвращается код завершения выполненной команды сценарии использования доступ к базам данных подключение без хранения паролей в конфигурации; аутентификация в api запуск скриптов, требующих токенов; деплой выполнение скриптов с учётом доступа к паролям разных сервисов; администрирование серверов выполнение задач с привилегиями; ci/cd пайплайны безопасная передача паролей в автоматические процессы примеры использования получение пароля и выполнение команды shell # экспорт переменных окружения export passwork host="https //passwork example com" export passwork token="your token" export passwork master key="your master key" \# получение пароля по id и запуск mysql клиента passwork cli exec password id "db password id" mysql u admin h localhost p $db password database name получение нескольких паролей из папки shell # получение всех паролей из папки проекта и запуск скрипта деплоя passwork cli exec folder id "project folder id" /deploy sh использование разных идентификаторов shell # получение паролей по id, тегам и из папки passwork cli exec \\ \ password id "specific password id" \\ \ tags "production,database" \\ \ folder id "api credentials" \\ /complex deployment sh команды shell shell # для shell команд нужно использовать cmd passwork cli exec password id "server creds" cmd "ssh user\@server 'cat /var/log/app log | grep error' > local errors log" подключение к серверу с самоподписанным сертификатом shell # отключение проверки ssl passwork cli exec no ssl verify password id "test server password" ssh user\@test server local 2\ режим api (api) позволяет выполнять прямые вызовы к api пассворка с получением ответов в формате json синтаксис shell passwork cli api \[опции] параметры api команде api необходимы следующие параметры параметр описание method http метод (get, post, put, delete, patch) endpoint путь api (например, v1/vaults) params json строка с параметрами (необязательно) field имя поля для извлечения из ответа (необязательно) как это работает аутентификация подключение к серверу пассворка; формирование запроса создание http запроса по указанному пути и методу; отправка запроса отправка запроса с нужными заголовками авторизации; обработка ответа получение и разбор ответа от api; фильтрация (опционально) извлечение указанного поля с помощью field ; вывод результат выводится в формате json примеры использования получение списка всех хранилищ shell passwork cli api method get endpoint "v1/vaults" получение определённого пароля и извлечение только имени shell passwork cli api method get endpoint "v1/items/password id" field "name" поиск паролей по тегам и получение их имён shell passwork cli api \\ \ method get \\ \ endpoint "v1/items/search" \\ \ params '{"tags" \["api","production"]}' \\ \ field "name" обновление access токена shell passwork cli api \\ \ host "https //passwork example com" \\ \ token "your expired token" \\ \ refresh token "your refresh token" \\ \ method post \\ \ endpoint "v1/auth/refresh token" \\ \ field "token" использование с самоподписанным сертификатом shell passwork cli api no ssl verify method get endpoint "v1/user/profile" безопасность учетные данные не сохраняются на диск; команды с паролями не попадают в историю оболочки; пароли доступны только внутри запущенного процесса; рекомендуется использовать переменные окружения для хранения учетных данных примеры примеры дополнительных сценариев расположены в examples cli директории