Получение данных (get)
Получение данных из элементов и ярлыков
Этот пример демонстрирует, как получать элементы и ярлыки из Пассворка с помощью режима get, а также как извлекать из них конкретные поля.
Варианты использования
Команда get предоставляет множество ва риантов использования для безопасной работы с данными из Пассворка:
- Извлечение конкретных полей — получение отдельных значений (название, пароль, логин, URL, описание, теги или пользовательские поля)
- Использование в скриптах — интеграция в bash-скрипты и другие инструменты автоматизации для безопасной работы с паролями
- CI/CD пайплайны — передача секретов в процессы сборки и развертывания без хранения в конфигурационных файлах
- Генерация TOTP кодов — создание одноразовых паролей для двухфакторной аутентификации из секретов, хранящихся в пользовательских полях
- Получение пользовательских данных — извлечение API-ключей, токенов доступа и других кастомных полей из записей
- Работа с ярлыками — получение данных через ярлыки для доступа к элементам из других сейфов
- Безопасное управление паролями — получение паролей без сохранения на диск или в историю командной строки
Идентификация записи/ярлыка
Укажите источник данных, один из параметров обязателен:
| Параметр | Описание |
|---|---|
--password-id | ID записи (item) |
--shortcut-id | ID ярлыка (shortcut) |
Режимы вывода и извлечения
| Опция | Описание |
|---|---|
--field | Выводит указанное поле элемента или ярлыка |
--json | Выводит все доступные данные элемента/ярлыка в JSON формате |
--totp-code | Генерирует и выводит TOTP-код из поля, содержащего секрет в base32 или otpauth:// |
Поля, поддерживаемые --field:
name,login,password,url,description,tags- Пользовательские поля по имени, например
API_KEY,SERVICE_ACCOUNT
Базовое использование
Получить пароль из записи по ID
- shell
passwork-cli get \
--host "https://passwork.example.com" \
--token "your_access_token" \
--master-key "your_master_key" \
--password-id "68793e13dfc88d879e0f2e39" \
По умолчанию будет получен пароль. Если поле пароля пустое, будет отображена ошибка.
Использование переменных окружения
Можно экспортировать данные Пассворка в качестве переменных окружения:
- shell
export PASSWORK_HOST="https://passwork.example.com"
export PASSWORK_TOKEN="your_access_token"
export PASSWORK_MASTER_KEY="your_master_key"
# Затем получить без указания учетных данных
passwork-cli get --password-id "68793e13dfc88d879e0f2e39"
Это полезно для скриптов автоматизаций и CI/CD пайплайнов, где учетные данные могут быть безопасно сохранены в качестве переменных окружения.
Извлечение конкретных полей
- shell
# Имя элемента
passwork-cli get --password-id "68793e13dfc88d879e0f2e39" --field name
# Пользовательское поле (например, API_KEY)
passwork-cli get --password-id "68793e13dfc88d879e0f2e39" --field API_KEY
Генерация TOTP кодов
Можно генерировать TOTP (Time-based One-Time Password) коды из секретов, хранящихся в пользовательских полях. Это полезно для двухфакторной аутентификации.
Использование поля TOTP секрета
- shell
# Сгенерировать TOTP код из пользовательского поля, содержащего секрет
passwork-cli get \
--password-id "68793e13dfc88d879e0f2e39" \
--totp-code "TOTP_SECRET" \
Параметр --totp-code ожидает имя поля (пользовательского), которое содержит:
- Сырой TOTP секрет (строка в кодировке base32)
- Или URL
otpauth://(например,otpauth://totp/Service:user@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Service)
TOTP код будет выведен в stdout, что делает его легко используемым в скриптах или для копирования.
Работа с ярлыками
Примеры для ярлыков:
- shell
# Пароль из ярлыка
passwork-cli get --shortcut-id "68d6c94bec3a3fe41209546e"
# Поле name из ярлыка
passwork-cli get --shortcut-id "68d6c94bec3a3fe41209546e" --field name
# TOTP из поля totp_secret
passwork-cli get --shortcut-id "68d6c94bec3a3fe41209546e" --totp-code "totp_secret"
Описание работы
- CLI подключается к Пассворку, используя предоставленные данные
- Он получает элемент или ярлык по ID
- Элемент расшифровывается с помощью мастер-ключа (при использовании клиентского шифрования)
- Если указан
--totp-code, TOTP код генерируется из указанного поля и выводится - Если указан
--field, выводится только значение этого поля - Если ни
--totp-code, ни--fieldне указаны, выводится значение пароля (или ошибка, если оно пустое)
Использование в скриптах
Команда get подходит для скриптов автоматизаций, где необходимо получить определённые значения в элементе:
- shell
#!/bin/bash
DB_PASSWORD=$(passwork-cli get \
--password-id "68d6c94bec3a3fe41209546e")
echo "Подключение к базе данных..."
mysql -u admin -p"$DB_PASSWORD" mydatabase