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

Получение данных (get)

Получение данных из элементов и ярлыков

Этот пример демонстрирует, как получать элементы и ярлыки из Пассворка с помощью режима get, а также как извлекать из них конкретные поля.

Варианты использования

Команда get предоставляет множество вариантов использования для безопасной работы с данными из Пассворка:

  1. Извлечение конкретных полей — получение отдельных значений (название, пароль, логин, URL, описание, теги или пользовательские поля)
  2. Использование в скриптах — интеграция в bash-скрипты и другие инструменты автоматизации для безопасной работы с паролями
  3. CI/CD пайплайны — передача секретов в процессы сборки и развертывания без хранения в конфигурационных файлах
  4. Генерация TOTP кодов — создание одноразовых паролей для двухфакторной аутентификации из секретов, хранящихся в пользовательских полях
  5. Получение пользовательских данных — извлечение API ключей, токенов доступа и других кастомных полей из записей
  6. Работа с ярлыками — получение данных через ярлыки для доступа к элементам из других сейфов
  7. Безопасное управление паролями — получение паролей без сохранения на диск или в историю командной строки

Идентификация записи/ярлыка

Укажите источник данных, один из параметров обязателен:

ПараметрОписание
--password-idID записи (item)
--shortcut-idID ярлыка (shortcut)

Режимы вывода и извлечения

ОпцияЗначение/примерОписание
--fieldname, login, password, url, description, tags, <имя_пользовательского_поля>Выводит только указанное поле. Пользовательские поля указываются по их имени.
--jsonВыводит все доступные данные записи/ярлыка в формате JSON.
--totp-code<имя_поля_с_секретом>Генерирует и выводит TOTP-код из поля, содержащего секрет в base32 или otpauth://.

Базовое использование

Получить пароль из элемента по ID

passwork-cli get \
--host "https://passwork.example.com" \
--token "your_access_token" \
--master-key "your_master_key" \
--password-id "68793e13dfc88d879e0f2e39" \

По умолчанию будет получен пароль. Если поле пароля пустое, будет отображена ошибка.

Использование переменных окружения

Можно экспортировать данные Пассворка в качестве переменных окружения:

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 пайплайнов, где учетные данные могут быть безопасно сохранены в качестве переменных окружения.

Извлечение конкретных полей

# Имя элемента
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 секрета

# Сгенерировать 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, что делает его легко используемым в скриптах или для копирования.

Работа с ярлыками

Примеры для ярлыков:

# Пароль из ярлыка
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"

Описание работы

  1. CLI подключается к Пассворку, используя предоставленные данные
  2. Он получает элемент или ярлык по ID
  3. Элемент расшифровывается с помощью мастер-ключа (при использовании клиентского шифрования)
  4. Если указан --totp-code, TOTP код генерируется из указанного поля и выводится
  5. Если указан --field, выводится только значение этого поля
  6. Если ни --totp-code, ни --field не указаны, выводится значение пароля (или ошибка, если оно пустое)

Использование в скриптах

Команда get подходит для скриптов автоматизаций, где необходимо получить определённые значения в элементе:

#!/bin/bash
DB_PASSWORD=$(passwork-cli get \
--password-id "db_prod_password")

echo "Подключение к базе данных..."
mysql -u admin -p"$DB_PASSWORD" mydatabase