Механизмы управления секретами
1. Общие сведения
Механизмы управления секретами - это компоненты, которые хранят, генерируют или шифруют данные. Механизмы управления секретами невероятно гибкие, поэтому проще всего думать о них в терминах их функций. Механизмам управления секретами предоставляется некоторый набор данных, они выполняют некоторые действия с этими данными и возвращают результат.
В зависимости от требований механизмы управления секретами могут:
-
Просто хранить и читать данные — подобно зашифрованному Memcached.
-
Подключаться к различным сервисам и генерировать динамические учетные данные по требованию.
-
Предоставлять шифрование как услугу, генерацию totp, сертификаты и многое другое.
Механизмы управления секретами активируются по пути в StarVault. Когда в StarVault поступает запрос, маршрутизатор автоматически направляет все, что имеет префикс маршрута, к соответствующему механизму. Таким образом, каждый механизм секретов определяет свои собственные пути и свойства. Для пользователя механизмы управления секретами ведут себя подобно виртуальной файловой системе, поддерживая такие операции, как чтение, запись и удаление.
2. Жизненный цикл механизмов управления секретами
Большинство механизмов секретов можно включать, отключать, настраивать и перемещать с помощью CLI, API или UI.
К этапам жизненного цикла механизмов относятся:
-
Enable - активация механизма секретов по указанному пути. За некоторыми исключениями, механизмы могут быть включены по нескольким путям. Каждый механизм секретов изолирован в рамках своего пути. По умолчанию они активируются по их "типу" (например, "ssh" активируется по пути ssh/).
-
Disable - отключение существующего механизма секретов. При отключении механизма аннулируются (если это поддерживается) все его секреты, а все данные, хранящиеся для этого механизма в физическом слое хранения, удаляются.
-
Move - перемещение пути для существующего механизма секретов. В результате этого процесса все секреты аннулируются, поскольку аренда секретов связана с путем, где они были созданы. Конфигурационные данные, хранящиеся для механизма, сохраняются после перемещения.
-
Tune - настройка глобальной конфигурации механизма секретов, например TTL.
После активации механизма управления секретами вы можете взаимодействовать с ним напрямую по его пути в соответствии с его собственным API. Используйте команду starvault path-help, чтобы определить пути, на которые он отвечает.
Обратите внимание, что точки монтирования в StarVault не могут конфликтовать друг с другом. Этот факт имеет два серьёзных последствия:
-
Вы не можете иметь точку монтирования, которая начинается с уже существующей точки монтирования.
-
Вы не можете создать точку монтирования с именем, которое является префиксом уже существующей точки монтирования.
Например, точки монтирования foo/bar и foo/baz могут сосуществовать, a foo и foo/baz нет.
2.1. Управление жизненным циклом
В следующей таблице представлены возможные операции с механизмами и способы их выполнения.
| Операция | Выполнение в UI | Выполнение в CLI | Дополнительная информация |
|---|---|---|---|
Просмотр списка доступных механизмов |
На вкладке Secrets |
|
При использовании CLI возможно управление выводом списка механизмов с помощью следующих опций:
|
Активация |
На вкладке Secrets |
|
Как при использовании UI, так и CLI при активации можно задать дополнительные параметры механизма. Список параметров и их описание см. в разделе Общие параметры для механизмов. |
Деактивация |
На вкладке Secrets по кнопке Disable в дополнительном меню механизма ( |
|
|
Перемещение |
Недоступно |
|
|
Настройка |
Недоступно |
|
Список параметров и их описание см. в разделе Общие параметры для механизмов. |
2.2. Общие параметры для механизмов
В таблице ниже представлены возможные параметры для настройки механизмов и их описание.
|
Для конкретных механизмов могут быть доступны не все параметры. Подробнее см. в описании соответствующего механизма. |
| Опция команды CLI | Поле в UI | Описание параметра | ||
|---|---|---|---|---|
|
Используется для указания списка управляемых ключей, к которым конкретная точка монтирования механизма секретов имеет разрешение на доступ. Каждая указанная опция Например:
В этом примере |
|||
|
Используется для настройки списка заголовков ответа, которые разрешено возвращать клиенту при запросах к механизму секретов. Например:
В этом примере заголовки |
|||
|
Request keys excluded from HMACing in audit |
Используется для указания списка ключей запроса, которые должны быть залогированы в журналах аудита в незашифрованном виде. По умолчанию, когда запрос записывается в журнал аудита, все его ключи и значения обычно защищены с помощью хэширования HMAC, чтобы предотвратить утечку конфиденциальной информации через журналы. Например:
В этом примере |
||
|
Response keys excluded from HMACing in audit |
Используется для указания списка ключей ответа, которые должны быть залогированы в журналах аудита в незашифрованном виде. Как и в случае с ключами запроса, когда ответ записывается в журнал аудита, все его ключи и значения обычно защищены с помощью хэширования HMAC, чтобы предотвратить утечку конфиденциальной информации через журналы. Например:
В этом примере |
||
|
Default Lease TTL |
Используется для установки времени жизни (TTL) по умолчанию для всех аренд (leases), выдаваемых механизмом секретов, к которому применяется эта настройка. TTL определяет, как долго секреты или токены будут действительны, прежде чем они истекут, если не будет выполнено их обновление. Если TTL истекает, и аренда не была продлена, то секреты автоматически аннулируются и становятся недоступными для использования. Пример:
В этом примере для точки монтирования по пути |
||
|
Description |
Описание механизма секретов. |
||
|
Используется для отключения кэширования для определенной точки монтирования механизма секретов. Когда эта опция включена, StarVault не будет кэшировать ответы от механизма, что означает, что каждый запрос к этой точке монтирования будет обрабатываться без использования кэшированных данных. Пример:
|
|||
|
Опция List method when unauthenticated |
Определяет, какие ключи будут видны при выполнении запроса типа Опция имеет два возможных значения:
Пример:
В этом примере для точки монтирования по пути |
||
|
Опция Local |
Используется для указания, что данный механизм секретов должен быть локальным для сервера, на котором он настроен. Это означает, что механизм не будет реплицироваться в кластерных установках StarVault, которые используют репликацию данных. Пример:
|
||
|
Max Lease TTL |
Устанавливает максимальное время жизни (TTL) для аренды, выдаваемой механизмом секретов или методом аутентификации. Это ограничение применяется ко всем секретам и токенам, выданным через точку монтирования, и задаёт верхний предел времени, на который можно продлить аренду до её истечения. Пример:
В этом примере для точки монтирования по пути |
||
|
Allowed passthrough request headers |
Используется для указания списка HTTP заголовков запроса, которые должны быть переданы через StarVault к удалённому ресурсу или сервису. Например:
В этом примере заголовки |
||
|
Path |
Определяет путь точки монтирования, где будет активирован определенный механизм секретов. Например:
В этом примере механизм типа |
||
|
Используется для указания имени плагина, который будет использоваться при активации механизма секретов. Это имя должно соответствовать имени плагина, как оно зарегистрировано в системе StarVault. Например:
В этом примере плагин с именем |
|||
|
Используется для указания версии плагина, который вы хотите использовать при активации механизма секретов. Указание версии плагина необходимо, когда доступно несколько версий плагина и требуется контроль над тем, какая именно версия должна быть задействована. Пример:
В этом примере плагин с именем |
|||
|
Опция Seal wrap |
Используется для включения функции обертывания печати (Seal Wrapping) для всего механизма секретов или определенных ключей внутри него. Seal Wrapping — это механизм, который использует возможности автоматического запечатывания (Auto-Seal) хранилища для дополнительной защиты конфиденциальных данных. Когда опция Пример:
В этом примере для механизма секретов типа |
||
|
Version |
Используется для указания версии механизма секретов KV, которую необходимо активировать. Пример:
В этом примере активируется механизм KV версии 2.
|
3. Представление барьера
Механизмы секретов получают представление барьера на настроенное физическое хранилище StarVault. Это очень похоже на chroot.
Когда механизм секретов активируется, генерируется случайный UUID. Этот UUID становится корнем данных для этого механизма. Каждый раз, когда этот механизм записывает данные в физическое хранилище, они снабжаются префиксом UUID папки. Поскольку слой хранения StarVault не поддерживает относительный доступ (например, ../), это делает невозможным для активированного механизма доступ к другим данным.
Это важная особенность безопасности StarVault - даже вредоносный механизм не сможет получить доступ к данным любого другого механизма.
