Rota las claves de firma de KSA

Los clústeres de Anthos alojados en VMware (GKE On-Prem) usan una clave criptográfica privada para firmar los tokens de la cuenta de servicio de Kubernetes que emite a los pods. Usa la clave pública correspondiente para validar los tokens cuando los Pods envían solicitudes al servidor de la API de Kubernetes. Cuando un pod usa Workload Identity para llamar a las API de Google Cloud, Google Cloud usa la misma clave pública para autenticar la identidad del pod.

Durante la creación del clúster de usuario, los clústeres de Anthos alojados en VMware generan las claves privadas y públicas. Además, durante la creación del clúster, los clústeres de Anthos alojados en VMware registran el clúster en una flota y proporcionan la clave pública a Google Cloud.

Más adelante, puedes rotar el par de claves pública/privada. La rotación emite tokens nuevos de manera automática con la nueva clave privada. Al final de la rotación, el clúster tiene una nueva clave privada, una nueva clave pública y tokens actualizados. Además, Google Cloud tiene la clave pública nueva.

Tokens de vínculo y tokens heredados

Un pod puede usar un token heredado o un token vinculado para la autenticación y autorización cuando llama al servidor de la API de Kubernetes. Los tokens vinculados tienen una duración limitada y se distribuyen a los pods mediante volúmenes proyectados. Los tokens heredados no se conservan nunca y se guardan en Secretos de Kubernetes. Recomendamos los tokens vinculados porque son más seguros.

Los tokens vinculados y los tokens heredados se actualizan durante una rotación de clave.

Inicia una rotación de claves

Antes de iniciar una rotación de claves, considera los siguientes puntos:

  • Durante una rotación de clave, no puedes iniciar otra rotación de clave, rotación de autoridad certificada ni actualización de clúster.

  • La rotación de claves no se puede pausar ni revertir. Se borran todas las claves anteriores.

  • Una rotación de claves borra los nodos de clúster existentes y crea nodos nuevos.

Para iniciar una rotación de claves, haz lo siguiente:

gkectl update credentials ksa-signing-key rotate \
    --config USER_CLUSTER_CONFIG \
    --kubeconfig ADMIN_CLUSTER_KUBECONIFG \
    [--skip-prompt]

Reemplaza lo siguiente:

  • USER_CLUSTER_CONFIG: La ruta del archivo de configuración del clúster de usuario

  • ADMIN_KUBECONFIG_FILE: Es la ruta de acceso del archivo kubeconfig del clúster de administrador.

Incluye --skip-prompt si no quieres que se te solicite.

Ver el estado de una rotación de claves

Sigue estos pasos para ver el estado de una rotación de claves:

gkectl update credentials ksa-signing-key status \
    --config USER_CLUSTER_CONFIG \
    --kubeconfig ADMIN_CLUSTER_KUBECONIFG

Si la rotación de claves ya se completó, verás un mensaje similar a este:

State of KSASigningKeyRotation with KSASigningKeyVersion 2 is -
status: True,
reason: KSASigningKeyRotationCompleted,
message:{"tokenVersion":2,"privateKeyVersion":2,"publicKeyVersions":[2]}

Si la rotación de la clave de firma de KSA aún está en curso, verás un mensaje similar al siguiente:

State of KSASigningKeyRotation with KSASigningKeyVersion 2 is -
status: False,
reason: KSASigningKeyRotationProcessedReason,
message:{"tokenVersion":2,"privateKeyVersion":2,"publicKeyVersions":[1,2]}