Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Механизм секретов Cubbyhole

Механизм секретов cubbyhole используется для хранения в настроенном физическом хранилище StarVault произвольных секретов, привязанных к токену. В cubbyhole пути ограничены областью действия каждого токена. Ни один токен не может получить доступ к cubbyhole другого токена. Когда токен истекает, его cubbyhole уничтожается.

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

1. Активация

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

Для механизма секретов cubbyhole недоступно управление жизненным циклом. Он включен по умолчанию, его нельзя отключить, переместить или включить несколько раз.

2. Использование

После того как механизм секретов настроен и у пользователя/машины есть токен StarVault с соответствующими правами, он может генерировать учетные данные. Механизм секретов cubbyhole позволяет записывать ключи с произвольными значениями.

UI

Через пользовательский интерфейс можно выполнять все основные операции с секретами в механизме cubbyhole.

Для выполнения описанных ниже операций необходимо перейти в UI и авторизоваться с токеном или учетной записью.

Создание секрета

В примере ниже создается секрет my-cubby-secret с двумя ключами: name и password.

  1. На странице Secrets нажмите на карточку cubbyhole.

    secrets engine
  2. Нажмите Create Secret.

    cubby create secret 1
  3. Введите необходимые данные:

    • Путь к секрету.

    • Имя ключа.

    • Значение ключа.

    cubby create secret 2

    Если необходимо добавить несколько ключей, нажмите кнопку Add.

    Данные секрета также можно ввести в формате JSON. Для этого активируйте переключатель JSON.

    cubby create secret 3
  4. Нажмите Save для сохранения.

Изменение секрета
  1. На странице Secrets нажмите на карточку cubbyhole.

    secrets engine
  2. В строке нужного секрета нажмите Edit или нажмите на секрет для перехода на страницу просмотра секрета и нажмите Edit secret.

    cubby edit secret
  3. Внесите необходимые изменения и нажмите Save.

Удаление секрета
  1. На странице Secrets нажмите на карточку cubbyhole.

    secrets engine
  2. В строке нужного секрета нажмите кнопку удаления (delete) или нажмите на секрет для перехода на страницу просмотра секрета, нажмите Delete и подтвердите удаление кнопкой Delete.

CLI

Механизм cubbyhole поддерживает следующие команды StarVault CLI для работы с секретами.

Команда Описание

starvault write <secret-path> <key=value list>

Создание нового секрета или изменение существующего по пути <secret-path>. Данные для записи в секрет передаются в формате key=value. Для добавления нескольких ключей со значениями, их необходимо перечислить через пробел.

starvault read [-format=<string>] <secret-path>

Возвращает содержимое секрета по пути <secret-path>.

С помощью опции -format=<string> можно указать формат представления данных. Допустимые значения: table (по умолчанию), yaml, 'json', 'raw'.

starvault list [-format=<string>] <path>

Возвращает список секретов в пути <path>.

С помощью опции -format=<string> можно указать формат представления данных. Допустимые значения: table (по умолчанию), yaml, 'json'.

starvault delete <secret-path>

Удаляет секрет по указанному пути.

Для использования StarVault CLI подключитесь к любому серверу в кластере по SSH и аутентифицируйтесь с вашим токеном:

starvault login
Token (will be hidden):

Success! You are now authenticated. The token information displayed below
is already stored in the token helper. You do NOT need to run "starvault login"
again. Future StarVault requests will automatically use this token.

<Output omitted>

При использовании самоподписанного сертификата ЦС его обязательно необходимо добавить в доверенные. Подробнее см. в разделе Подготовка рабочей среды.

Примеры
Пример 1. Создание секрета по пути cubbyhole/my-cubby с ключами name и password
starvault write cubbyhole/my-cubby name=user password=pass
Пример 2. Просмотр списка секретов по пути cubbyhole
starvault list cubbyhole

Keys
----
my-cubby
Пример 3. Просмотр содержимого секрета по пути cubbyhole/my-cubby в формате YAML
starvault read -format=yaml cubbyhole/mycubby

data:
  name: user
  password: pass
lease_duration: 0
lease_id: ""
renewable: false
request_id: 407f9034-c59b-524d-53bf-911c95f8f694
warnings: null
Пример 4. Изменение секрета по пути cubbyhole/my-cubby

В примере ниже в секрете cubbyhole/my-cubby из предыдущего примера будет изменено значение ключа name, а также добавлен ключ domain.

starvault write cubbyhole/my-cubby name=new-user password=pass domain=example.com
Обратите внимание, что в команде также присутствует ключ password. Если не указать его - он будет удалён из секрета, поскольку команда write перезаписывает содержимое секрета новыми данными.
Пример 5. Удаление секрета по пути cubbyhole/my-cubby
starvault delete cubbyhole/my-cubby