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
также приводятся пути к файлам, где содержатся следующие сертификаты и ключи: