Compartir a través de


Habilitación del cifrado de secretos en un clúster de AKS Edge Essentials

Siguiendo los procedimientos recomendados de seguridad de Kubernetes, se recomienda cifrar el almacén de secretos de Kubernetes en clústeres de AKS Edge Essentials. Puede realizar este cifrado activando el proveedor del Servicio de administración de claves (KMS) para AKS Edge Essentials, que permite el cifrado en reposo para los secretos almacenados en el almacén de clave-valor etcd. Habilita este cifrado generando una clave de cifrado de claves (KEK) y girando automáticamente cada 30 días. La KEK está protegida con credenciales de administrador y solo es accesible para los administradores.

Para obtener información más detallada sobre el uso de KMS, consulte la documentación oficial del proveedor de KMS.

En este artículo se describe cómo activar el proveedor de KMS para clústeres de AKS Edge Essentials.

Prerrequisitos

El proveedor de KMS es compatible con todos los clústeres de AKS Edge Essentials, versión 1.10.868.0 y versiones posteriores.

Nota:

El proveedor de KMS solo se puede usar para clústeres de nodo único. El proveedor no se puede usar con características experimentales, como varios nodos.

Habilitación del proveedor de KMS

En el archivoaksedge-config.json, en la Init sección , establezca Init.KmsPlugin.Enabletrueen :

"Init": {
 "KmsPlugin": {
     "Enable": true
  }
}

La salida siguiente se muestra durante la implementación, en la que se muestra que el proveedor de KMS está habilitado:

Preparing to install kms-plugin as encryption provider...

Para obtener instrucciones de implementación, consulte Implementación de una sola máquina.

Nota:

Solo puede habilitar o deshabilitar el proveedor de KMS al crear una nueva implementación. Una vez establecida la marca, no se puede cambiar.

Compruebe que el proveedor de KMS está habilitado

Para comprobar que el proveedor de KMS está habilitado, ejecute el siguiente comando y asegúrese de que el estado de mantenimiento de kms-providers es Correcto:

kubectl get --raw='/readyz?verbose'
[+]ping ok
[+]Log ok
[+]etcd ok
[+]kms-providers ok
[+]poststarthook/start-encryption-provider-config-automatic-reload ok

Para crear secretos en clústeres de AKS Edge Essentials, consulte Administración de secretos mediante kubectl en la documentación de Kubernetes.

Si encuentra errores, consulte la sección Solución de problemas .

Cómo actualizar tus secretos después de la rotación del KEK

La KEK se actualiza automáticamente cada 30 días. En ese momento, cada secreto permanece cifrado con la KEK que estaba en uso al crearlo. Cuando actualice el secreto la próxima vez, se vuelve a cifrar con la KEK actual. Si no actualiza periódicamente los valores de secreto como parte de los procesos normales, considere la posibilidad de volver a escribirlos (con el mismo valor) cada 30 días de todos modos. Esto garantiza que sigue los procedimientos recomendados de Kubernetes y que todos los secretos se cifran con la KEK más reciente. Para clústeres más grandes, considere la posibilidad de actualizar los secretos de cada espacio de nombres a su vez, o desarrollar un script u otra automatización para simplificar el proceso:

kubectl get secrets --all-namespaces -o json | kubectl replace -f - 

Solución de problemas

Si hay errores con el proveedor de KMS, siga este procedimiento:

  1. Compruebe que la versión de AKS es 1.10.868.0 o posterior. Use el comando siguiente para comprobar la versión actual de AKS Edge Essentials:

    Get-Command -Module AKSEdge | Format-Table Name, Version
    

    Si la versión es anterior, actualice a la versión más reciente. Para más información, consulte Actualización de un clúster de Azure Kubernetes Service.

  2. Vea la readyz API. Si el problema persiste, compruebe que el proveedor de KMS está habilitado. Consulte la sección Comprobar que el proveedor de KMS está habilitado .

    Si recibe "!", antes del kms-providers campo, recopile registros de diagnóstico para la depuración. Para más información, consulte Obtención de registros de kubelet de nodos de clúster.

  3. Si todavía hay errores, la máquina que ejecuta el clúster de AKS Edge Essentials podría pausarse o desactivarse durante un período de tiempo prolongado (más de 30 días). Para devolver KMS a un estado correcto, puede usar el Repair-Kms comando para restaurar los tokens necesarios:

    Repair-AksEdgeKms
    
  4. Si todavía encuentra errores, póngase en contacto con el servicio de soporte al cliente de Microsoft y recopile registros.

Pasos siguientes