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

Механизм секретов KV (key-value / ключ-значение)

Механизм секретов PKI (Публичной инфраструктуры ключей / Public Key Infrastructure)

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

Механизм секретов Identity - это решение для управления идентификацией в Deckhouse Stronghold. Внутри системы хранятся клиенты, которые распознаются Deckhouse Stronghold. Каждый клиент называется сущностью. Сущность может иметь несколько псевдонимов (aliases).

Например, один пользователь, имеющий учетные записи на GitHub и LDAP, может быть сопоставлен с одной сущностью в Deckhouse Stronghold, имеющей два псевдонима: один типа GitHub, другой типа LDAP. При успешной аутентификации клиента через любой из бэкендов (кроме бэкенда Token) Deckhouse Stronghold создает новую сущность и прикрепляет к ней новый псевдоним, если соответствующая сущность еще не существует. Идентификатор сущности будет привязан к аутентифицированному токену. При использовании таких токенов их идентификаторы сущностей регистрируются в журнале аудита, что позволяет проследить за действиями конкретных пользователей.

Хранилище идентификаторов позволяет операторам управлять сущностями в Deckhouse Stronghold. Можно создавать сущности и привязывать к ним псевдонимы с помощью ACL API. Для сущностей могут быть установлены политики, которые добавляют возможности токенам, привязанным к идентификаторам сущностей. Возможности, предоставляемые токенам через сущности, являются дополнением к существующим возможностям токена, а не заменой. Возможности токена, наследуемые от сущностей, вычисляются динамически во время запроса. Это обеспечивает гибкость в управлении доступом к уже выпущенным токенам.

ПРИМЕЧАНИЕ: Этот механизм секретов будет установлен по умолчанию. Этот механизм секретов нельзя отключить или переместить. Более подробный концептуальный обзор идентификации см. в документации по идентификации.

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

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

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

Запись в ключ в механизме секретов cubbyhole полностью заменит старое значение.

Настройка

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

Механизм секретов cubbyhole включен по умолчанию. Его нельзя отключить, переместить или включить несколько раз.

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

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

  1. Запись произвольных данных:

    $ vault write cubbyhole/my-secret my-value=s3cr3t
    
    Success! Data written to: cubbyhole/my-secret
    
  2. Чтение произвольных данных:

    $ vault read cubbyhole/my-secret
    
    Key         Value
    
    ---         -----
    
    my-value    s3cr3t