Перейти к основному содержимому

Включение использования локального хранилища секретов для подключения к Vector DB

Шаги сценария

  1. Пользователь запускает генерацию криптографических ключей командой copywala-vdb init keys.

    Справка по команде copywala-vdb init keys

    Описание:

    Запускает генерацию пары криптографических ключей (приватного и публичного), необходимых для защитного преобразования учетных данных.

    В результате выполнения будет сгенерирована пара ключей:

    • приватный – /var/pbr/copywala/priv.key;
    • публичный – /var/pbr/copywala/priv.key.pub.

    Ключи защитного преобразования хранятся локально в зашифрованном виде и используются только внутренними механизмами copywala-vdb.

    Путь к приватному ключу настраивается в конфигурационном файле copywala-vdb.yaml параметром:

    app:
    creds_private_key_path: /var/pbr/copywala/priv.key # значение по умолчанию

    Публичный ключ с постфиксом .pub будет сохранен в той же директории, что и приватный.

    Синтаксис:

    copywala-vdb init keys [flags]

    Обязательные параметры:

    Нет.

    Опциональные параметры:

    [flags] – доступны следующие флаги:

    ФлагОписание
    -h|--helpПоказать справку по команде
    -c|--config <path to copywala-vdb config>Использовать конфигурационный файл, отличный от файла по умолчанию: /etc/pbr/copywala-vdb.yaml
    --forceПринудительная замена существующего файла с ключом (повторная генерация), если он уже существует
    Важно

    При принудительной повторной генерации (--force) необходимо повторно инициализировать локальное хранилище copywala-vdb init creds vdb также с флагом --force.

  2. Продукт выполнят команду, в CLI выводится сообщение об успешной генерации ключей.

  3. Пользователь инициализирует локальное хранилище секретов командой copywala-vdb init creds vdb.

    Справка по команде copywala-vdb init creds vdb

    Описание:

    Выполнение инициализации локального хранилища секретов, содержащего учетные данные для подключения к Vector DB. Выполнение команды возможно только после запуска copywala-vdb init keys, так как над файлом, который создается командой copywala-vdb init creds vdb, выполняется защитное преобразование с использованием ранее сгенерированного приватного ключа.

    В результате выполнения будет создан файл /var/pbr/copywala/vdb.creds, содержащий данные, прошедшие защитное преобразование.

    Путь для хранения данного файла настраивается в конфигурационном файле copywala-vdb.yaml параметром:

    vdb:
    use_enc_creds: true
    enc_creds_path: /var/pbr/copywala/vdb.creds

    При включении use_enc_creds учетные данные для доступа к Vector DB загружаются из файла, расположенного по пути enc_creds_path.

    Синтаксис:

    copywala-vdb init creds vdb [flags]

    Обязательные параметры:

    Нет.

    Опциональные параметры:

    [flags] – доступны следующие флаги:

    ФлагОписание
    -h|--helpПоказать справку по команде
    -c|--config <path to copywala-vdb config>Использовать конфигурационный файл, отличный от файла по умолчанию: /etc/pbr/copywala-vdb.yaml
    --forceПринудительная замена существующего файла с учетными данными
    --file <path to file>Загрузка секретов из json-файла

    Способы передачи учетных данных:

    • Передача через стандартный ввод. Пример:

      echo '{"username": "user_example", "password": "password_example"}' | copywala-vdb init creds vdb
    • Передача через файл с помощью флага --file:

      copywala-vdb init creds vdb --file vdb.creds.json

      Файл должен быть в формате JSON и обязательно содержать поля username и password:

      {
      "username": "<user_example>",
      "password": "<password_example>"
      }
  4. Продукт выполнят команду, в CLI выводится сообщение об успешной инициализации хранилища.

  5. Пользователь выполняет проверку возможности чтения из локального хранилища секретов командой copywala-vdb init creds check.

    Справка по команде copywala-vdb init creds check

    Описание:

    Запускает проверку возможности чтения из локального хранилища секретов. В результате выполнения команды отображается загруженное из хранилища имя пользователя.

    Синтаксис:

    copywala-vdb init creds check [flags]

    Обязательные параметры:

    Нет.

    Опциональные параметры:

    [flags] – доступны следующие флаги:

    ФлагОписание
    -h|--helpПоказать справку по команде
    -c|--config <path to copywala-vdb config>Использовать конфигурационный файл, отличный от файла по умолчанию: /etc/pbr/copywala-vdb.yaml
    --forceДанный флаг не применим к этой команде
    --file <path to file>Проверка секретов из json-файла
  6. Продукт выполнят команду, в CLI выводится сообщение с указанием имени пользователя, загруженного в хранилище.

  7. Пользователь в конфигурационном файле copywala-vdb.yaml в секции vdb для параметра use_enc_creds устанавливает значение true.

  8. Пользователь в конфигурационном файле copywala-vdb.yaml убеждается, что для параметров username и password не заданы значения. Если значения указаны — удаляет их.

Исключительные сценарии

В CLI выводится сообщение об ошибке для случаев:

  • Повторной инициализации пары ключей, если инициализация уже была выполнена ранее.
  • Повторной инициализации хранилища, если инициализация уже была выполнена ранее.
  • Недоступности для пользователя или отсутствия файла хранилища.
  • При попытке выполнить обратное защитное преобразование хранилища с использованием ключа, отличного от исходного сгенерированного ключа.