Rotación de credenciales

En esta página, se explica cómo realizar una rotación de credenciales en Google Kubernetes Engine.

Descripción general

Puedes realizar una Rotación de credenciales a fin de revocar y generar credenciales nuevas para tu clúster.

Google recomienda que uses la rotación de credenciales con regularidad para reducir el ciclo de vida de las credenciales y agregar más seguridad a tu clúster de GKE.

Además de rotar las credenciales, la Rotación de credenciales también realiza una rotación de IP.

Antes de comenzar

Sigue estos pasos a fin de prepararte para esta tarea:

  • Asegúrate de que habilitaste la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Asegúrate de que instalaste el SDK de Cloud.
  • Establece tu ID del proyecto predeterminado:
    gcloud config set project [PROJECT_ID]
  • Si trabajas con clústeres zonales, establece tu zona de procesamiento predeterminada:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Si trabajas con clústeres regionales, establece tu región de procesamiento predeterminada:
    gcloud config set compute/region [COMPUTE_REGION]
  • Actualiza gcloud a la versión más reciente:
    gcloud components update

Funcionamiento de la rotación de credenciales

La rotación de credenciales es un proceso de varios pasos que incluye la migración a una dirección IP nueva:

  • Cuando inicias una rotación de credenciales, la instancia principal de tu clúster comienza a entregar en la dirección IP nueva, además de hacerlo en la dirección IP original. Se generan credenciales nuevas en las cargas de trabajo y el plano de control.
  • Después de iniciar una rotación, debes actualizar los clientes de la API de tu clúster (como las máquinas de desarrollo que usan la interfaz de línea de comandos kubectl) para comenzar a comunicarte con la instancia principal en la dirección IP nueva.
  • Cuando finalizas la rotación, la instancia principal deja de entregar tráfico en la dirección IP anterior y las credenciales antiguas se revocan.

Realiza una rotación de credenciales

En las siguientes secciones, se explica cómo realizar una rotación de credenciales.

Inicia la rotación

Para iniciar una rotación de credenciales, ejecuta el siguiente comando:

  1. Configura CLUSTER_NAME con el nombre del clúster.

    CLUSTER_NAME=[CLUSTER_NAME]

  2. Ejecuta el siguiente comando, que crea credenciales nuevas y las distribuye al plano de control. También configura la instancia principal del clúster para entregar en dos direcciones IP, la IP original y una IP nueva. Esto genera un tiempo de inactividad breve para la API del clúster.

    gcloud container clusters update ${CLUSTER_NAME} --start-credential-rotation
    

Una vez que la instancia principal se volvió a configurar, GKE actualiza los nodos de tu clúster de forma automática para usar la dirección IP nueva y las credenciales. Cada grupo de nodos está marcado como “requiere recreación”. GKE no finaliza la rotación de credenciales hasta que se completa la recreación automática.

Inspecciona la rotación

Para supervisar la operación de rotación, ejecuta el siguiente comando:

gcloud container operations list | grep "AUTO_UPGRADE_NODES.*RUNNING"

Este comando muestra el ID de la operación para la operación de actualización.

Para sondear la operación, pasa el ID de la operación al siguiente comando:

gcloud container operations wait [OPERATION_ID]

Los grupos de nodos se recrean uno por uno y cada cual tiene su propia operación. Si tienes varios grupos de nodos, puedes usar las instrucciones anteriores para sondear cada operación.

Actualiza clientes de la API

Una vez que se inició la rotación de credenciales, debes actualizar todos los clientes de la API fuera del clúster (como kubectl en las máquinas de desarrolladores) para usar la credencial nueva.

Si quieres actualizar los clientes de la API, ejecuta el siguiente comando para cada cliente:

gcloud container clusters get-credentials [CLUSTER_NAME]

Finaliza la rotación

Para finalizar la rotación, ejecuta los siguientes comandos:

  1. Configura CLUSTER_NAME con el nombre del clúster.

    CLUSTER_NAME=[CLUSTER_NAME]

  2. Ejecuta el siguiente comando que configura la instancia principal del clúster para que entregue solo con la credencial nueva. Esto genera un tiempo de inactividad breve para la API del clúster.

    gcloud container clusters update ${CLUSTER_NAME} --complete-credential-rotation
    

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...