Интеграция с хранилищем HashiCorp Vault
Kaspersky Security для контейнеров обеспечивает возможность безопасной передачи паролей, токенов и секретов с помощью внешнего хранилища HashiCorp Vault. Решение генерирует аннотации подам, по которым инжектор Vault при старте пода монтирует необходимые секреты из хранилища.
Kaspersky Security для контейнеров поддерживает возможность интеграции с внешним хранилищем секретов Hashicorp Vault версии 1.7 или выше.
В версии 2.0 Kaspersky Security для контейнеров работа с внешним хранилищем HashiCorp Vault осуществляется только в режиме sidecar с использованием sidecar-контейнеров, при этом поддерживается только метод аутентификации Kubernetes.
Если учетные записи служб для работы подов не были определены и используются учетные записи служб, установленные по умолчанию, мы рекомендуем выполнять критичное требование по обеспечению безопасности и не назначать выделенные для работы хранилища роли таким учетным записям служб.
Значения параметров HashiCorp Vault указываются в конфигурационном файле values.yaml и разворачиваются при запуске пакета Helm Chart.
Параметры использования HashiCorp Vault в конфигурационном файле values.yaml настраиваются следующим образом:
- Если в блоке
vault
параметрenabled
имеет значениеfalse
, интеграция с хранилищем не используется. - Если в блоке
vault
параметрenabled
имеет значениеtrue
, интеграция с хранилищем задействована, и для решения приоритетными становятся значения переменных в блоке параметровvault
.
В блоке параметров vault
содержатся следующие разделы:
secret
– используется для указания секретов и учетных идентификационных данных.certificate
– предназначен для указания сертификатов и ключей к сертификатам.
В разделе secret
приводятся пути к файлам, где содержатся секреты для следующих параметров:
- Секреты прокси-серверов для запросов во внешнюю информационную среду.
- Учетные данные для базы данных PostgreSQL.
- Учетные данные для s3-совместимого файлового хранилища для хранения файлов, которые формируются в результате работы решения.
- Учетные данные для системы управления базами данных ClickHouse.
Секреты указываются в следующем формате key:value
где:
<key>
- имя переменной окружения;<value>
- полный путь до секрета в хранилище секретов, после которого через знак @ указывается имя ключа секрета, создаваемого в хранилище.
Например: POSTGRES_USER: kv/secret/kcs/psql@POSTGRES_USER
В разделе vault.certificate
для получения сертификатов в значении полей необходимо указать следующее:
- Для получения CA-сертификата параметру
ca
указывается значениеtrue.
При этом путь доступа к сертификату формируется на основе стандартного пути обращенияcert/ca
на основе имени в инфраструктуре открытых ключей (англ. Public Key Infrastructure, PKI). Если СА-сертификат не является корневым, с помощью параметраcaList
необходимо указать в виде списка все сертификаты, включая корневой сертификат. Например,cert-ca:
ca: true
tls.crt: pki_kcs/cert/ca
caList:
- pki/cert/ca
- Для генерирования сертификатов и ключей нужно указать путь из имени PKI со стандартным путем обращения
issue
и именем созданной роли. В сертификат автоматически добавятся общее имя (cn
) и все возможные альтернативные имена (altname
). При необходимости, значенияcn
,altname
иipsans
можно указать вручную как показано ниже для внешней базы данных:cert-pguser:
cn: pguser
altname: pguser,pguser.psql,pguser.psql.svc,pguser.psql.svc.cluster.local,localhost
ipsans: 0.0.0.0,127.0.0.1
- Для определения времени жизни сертификатов необходимо указать значение параметра
ttl
. По умолчанию установлено значение 8760 часов.Значение параметра не может быть больше значения, установленного в PKI HashiCorp Vault.
В разделе certificate
также приводятся пути к файлам, где содержатся следующие сертификаты и ключи:
- СА-сертификат и сертификат клиента для внешней базы данных PostgreSQL.
- Сертификаты, необходимые для работы компонентов решения:
- СА-сертификат и ключ к СА-сертификату для обеспечения работы контроллера доступа.
- Сертификат и ключ к сертификату для функционирования модуля лицензирования Kaspersky Security для контейнеров.
- Сертификат и ключ к сертификату для работы модуля основной бизнес-логики решения.
- Сертификат и ключ к сертификату для платформы удаленного вызова процедур (GRPC).
- Сертификат и ключ к сертификату для функционирования сканер-сервера.
- Сертификат и ключ к сертификату для API сканер-сервера.
- Сертификат и ключ к сертификату для работы файл-сервера обновлений для закрытых контуров.
- Сертификат и ключ к сертификату для s3-совместимого файлового хранилища.
- Сертификат и ключ к сертификату для брокера событий.
- Сертификат и ключ к сертификату для брокера агентов.
- Сертификат и ключ к сертификату для системы управления базами данных ClickHouse.