Kaspersky Container Security permite transferir de forma segura contraseñas, tokens y secretos mediante HashiCorp Vault, un servicio de almacenamiento externo. La solución genera anotaciones en el pod, que el inyector Vault utiliza para montar los secretos necesarios del almacenamiento en el inicio.
Kaspersky Container Security es compatible con la integración a HashiCorp Vault 1.7 o una versión posterior.
La versión 2.0 de Kaspersky Container Security es compatible con HashiCorp Vault solo en el modo secundario con contenedores secundarios. En este caso, solo se admite la autenticación de Kubernetes.
Si el servicio considera pods no definidos y se utilizan cuentas predeterminadas del servicio, no recomendamos asignar los roles específicos del almacenamiento a dichas cuentas del servicio, en cumplimiento de los requisitos de seguridad críticos.
Los valores de la configuración de HashiCorp Vault se especifican en el archivo de configuración values.yaml y se despliegan al iniciar el paquete de Helm Chart.
La configuración de HashiCorp en el archivo de configuración values.yaml es de la siguiente manera:
enabled
del bloque vault
tiene el valor false
, no se realizará la integración a Vault.enabled
del bloque vault
tiene el valor true
, se realizará la integración a Vault y se priorizarán los valores de las variables en el bloque de la configuración de vault
. El bloque de la configuración de vault
tiene las siguientes secciones:
secret
: para especificar secretos y credenciales.certificate
: para especificar certificados y claves de certificados.En la sección secret
, se enumeran las rutas a los archivos que contienen los secretos para estos parámetros:
Los secretos se especifican con el formato key:value
donde:
<key>
es el nombre de la variable de entorno<value>
es la ruta completa al secreto en el almacenamiento, seguida del símbolo @ y el nombre de la clave del secreto creado en el almacenamientoPor ejemplo, POSTGRES_USER:kv/secret/kcs/psql@POSTGRES_USER
Para obtener un certificado, en la sección vault.certificate
, debe especificar los siguientes parámetros:
ca
debe tener el valor true.
En este caso, la ruta para acceder al certificado se forma a partir de la ruta estándar cert/ca
según el nombre de la infraestructura de clave pública (PKI). Si el certificado de CA no es un certificado raíz, use el parámetro caList
para enumerar todos los certificados, incluido el certificado raíz. Por ejemplo: cert-ca:
ca: true
tls.crt: pki_kcs/cert/ca
caList:
- pki/cert/ca
issue
y el nombre del rol creado. El nombre común (cn
) y todos los nombres alternativos posibles (altname
) se añaden automáticamente al certificado. De ser necesario, puede especificar los valores de cn
, altname
e ipsans
de forma manual, como se muestra debajo para una base de datos externa: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
. El valor predeterminado es 8760.El valor del parámetro no puede ser mayor del valor establecido en la PKI de HashiCorp Vault.
La sección certificate
, también contiene las rutas a los archivos que contienen los certificados y las claves siguientes: