Usa la encriptación de secretos siempre activa

La versión 1.9 de clústeres de Anthos alojados en VMware (GKE On-Prem) admite secretos de encriptación sin necesidad de un KMS externo (servicio de administración de claves) ni ninguna otra dependencia.

Habilita la encriptación de secretos siempre activa

La encriptación de secretos siempre activa funciona mediante la generación automática de una clave de encriptación que se usa a fin de encriptar los secretos antes de que se almacenen en la base de datos etcd para ese clúster.

La versión de clave es un número de versión para indicar la clave que está actualmente en uso.

Puedes habilitar la encriptación de secretos después de crear un clúster.

  • Para el clúster de administrador:

    1. Edita el archivo de configuración del clúster de administrador para agregar la sección secretsEncryption.

    2. Ejecuta el comando gkectl update.

      gkectl update admin --config ADMIN_CLUSTER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
  • Para un clúster de usuario:

    1. Edita el archivo de configuración del clúster de usuario para agregar la sección secretsEncryption.

    2. Ejecuta el comando gkectl update.

      gkectl update cluster --config USER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Reemplaza lo siguiente:

  • ADMIN_KUBECONFIG: la ruta de acceso al archivo kubeconfig del clúster de administrador
  • ADMIN_CLUSTER_CONFIG por la ruta de acceso del archivo de configuración del clúster de administrador
  • USER_CLUSTER_CONFIG es la ruta de acceso del archivo de configuración del clúster de usuario.

Los comandos gkectl update que se proporcionan en esta sección también se pueden usar para cualquier otra actualización del clúster correspondiente.

Almacenamiento de claves

Las claves de encriptación del clúster de administrador se almacenan en el disco de datos del clúster de administrador. Este disco se activa en la máquina de la instancia principal del administrador en /opt/data y las claves de encriptación se pueden encontrar en /opt/data/gke-k8s-kms-plugin/generatedkeys/. Se debe crear una copia de seguridad de estas claves para conservar el acceso a los secretos encriptados que usa esa clave.

Rotación de claves

Para rotar una clave de encriptación existente en un clúster, aumenta la keyVersion en el archivo de configuración del clúster de administrador o en el archivo de configuración del clúster de usuarios y ejecuta el comando gkectl update adecuado. Esto crea una clave nueva que coincide con el número de versión nuevo, vuelve a encriptar cada secreto y borra el anterior de forma segura. Todos los secretos nuevos posteriores se encriptan con la clave de encriptación nueva.

Inhabilita la encriptación de secretos siempre activa

Para inhabilitar la encriptación de secretos en un clúster existente, quita el campo keyVersion y agrega un campo disabled: true. A continuación, ejecuta el comando gkectl update correspondiente. Esta actualización desencripta cada secreto existente y almacena cada secreto en texto sin formato. Todos los secretos nuevos posteriores se almacenan en texto sin formato.

secretsEncryption:
  mode: GeneratedKey
  generatedKey:
    disabled: true