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 приводятся пути к файлам, где содержатся секреты для следующих параметров:
Секреты указываются в следующем формате key:value
где:
<key> - имя переменной окружения;<value> - полный путь до секрета в хранилище секретов, после которого через знак @ указывается имя ключа секрета, создаваемого в хранилище.Например: POSTGRES_USER: kv/secret/kcs/psql@POSTGRES_USER
В разделе vault.certificate для получения сертификатов в значении полей необходимо указать следующее:
ca указывается значение true. При этом путь доступа к сертификату формируется на основе стандартного пути обращения cert/ca на основе имени в инфраструктуре открытых ключей (англ. Public Key Infrastructure, PKI). Если СА-сертификат не является корневым, с помощью параметра caList необходимо указать в виде списка все сертификаты, включая корневой сертификат. Например, cert-ca:
ca: true
tls.crt: pki_kcs/cert/ca
caList:
- pki/cert/ca
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 также приводятся пути к файлам, где содержатся следующие сертификаты и ключи: