Rotar credenciales de seguridad

En este tema se describe cómo rotar las credenciales de seguridad de tu servicio de gestión y tus clústeres de usuario de GKE en AWS. Para obtener más información sobre las funciones de seguridad de GKE en AWS, consulta Seguridad.

Antes de empezar

Para completar los pasos de esta página, debes tener acceso al directorio con tu configuración de GKE en AWS.

Certificados de servicio de gestión

En esta sección se describe cómo rotar los certificados de tu servicio de gestión.

Gestionar autoridades de certificación

En esta sección se explica cómo rotar los certificados de firma de la autoridad de certificación (CA) de los componentes de GKE en AWS.

CA raíz del servidor de la API Management

Para rotar la CA raíz del servidor de la API, sigue estos pasos:

  1. Cambia al directorio con tu configuración de GKE en AWS. Has creado este directorio al instalar el servicio de gestión.
    cd anthos-aws
  2. Abre el archivo anthos-gke.status.yaml en un editor de texto.
  3. Elimina todos los valores de la clave certificateAuthority. Esto incluye encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value y encryptedPrivateKey.certificate.
  4. Ejecuta anthos-gke aws management init para actualizar el archivo anthos-gke.status.yaml.

     anthos-gke aws management init
    
  5. Ejecuta anthos-gke aws management apply para actualizar el servicio de gestión.

     anthos-gke aws management apply
    

  1. En tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio de gestión.
    cd anthos-aws
    anthos-gke aws management get-credentials

Otras autoridades de certificación de gestión

En esta sección se describe cómo puedes rotar todas las siguientes autoridades de certificación:

  • CA de webhook de autenticación
  • CA de etcd
  • CA de firma de cuenta de servicio

Puedes rotar estas autoridades de certificación con uno de los siguientes métodos:

  • Quita la sección certificateAuthority de tu anthos-gke.status.yaml.

    1. Cambia al directorio con tu configuración de GKE en AWS. Has creado este directorio al instalar el servicio de gestión.
      cd anthos-aws
    2. Abre el archivo anthos-gke.status.yaml en un editor de texto.
    3. Elimina todos los valores de la clave certificateAuthority. Esto incluye encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value y encryptedPrivateKey.certificate.
    4. Ejecuta anthos-gke aws management init para actualizar el archivo anthos-gke.status.yaml.

       anthos-gke aws management init
      
    5. Ejecuta anthos-gke aws management apply para actualizar el servicio de gestión.

       anthos-gke aws management apply
      

  • Si hay una nueva versión de GKE on AWS disponible, actualiza tu servicio de gestión de GKE on AWS.

  • Vuelve a crear la instancia de EC2 del servicio de gestión.

    1. En el directorio anthos-aws, usa terraform para obtener el ID de tu servicio de gestión.
      cd anthos-aws
      terraform output cluster_id
      La salida incluye el ID de tu servicio de gestión. En el ejemplo de abajo, el ID es gke-12345abc.
      terraform output cluster_id
      gke-12345abc
      
    2. Abre la consola de AWS EC2.
    3. Haz clic en Instancias.
    4. Busca la instancia llamada cluster-id-management-0.
    5. Selecciona Actions -> Instance state -> terminate (Acciones -> Estado de la instancia -> Terminar) para eliminar la instancia. EC2 crea automáticamente una nueva instancia con el mismo volumen de EBS.

Gestión de claves y certificados de cliente y servidor TLS

Para rotar las claves y los certificados de cliente y servidor TLS de tu servicio de gestión, debes volver a crear la instancia del servicio de gestión. Para volver a crear la instancia, sigue estos pasos:

  1. En el directorio anthos-aws, usa terraform para obtener el ID de tu servicio de gestión.
    cd anthos-aws
    terraform output cluster_id
    La salida incluye el ID de tu servicio de gestión. En el ejemplo de abajo, el ID es gke-12345abc.
    terraform output cluster_id
    gke-12345abc
    
  2. Abre la consola de AWS EC2.
  3. Haz clic en Instancias.
  4. Busca la instancia llamada cluster-id-management-0.
  5. Selecciona Actions -> Instance state -> terminate (Acciones -> Estado de la instancia -> Terminar) para eliminar la instancia. EC2 crea automáticamente una nueva instancia con el mismo volumen de EBS.

Google Cloud cuentas de servicio

Cuentas de servicio del servicio de gestión

Para rotar las Google Cloud cuentas de servicio de tu servicio de gestión, sigue estos pasos.

  1. Crea cuentas de servicio y descarga claves de cuenta de servicio siguiendo los pasos que se indican en la sección Requisitos previos.
  2. Cambia al directorio con tu configuración de GKE en AWS. Has creado este directorio al instalar el servicio de gestión.
    cd anthos-aws
  3. Si has descargado las claves en otra ruta, abre el archivo anthos-gke.yaml en un editor de texto. Cambia el valor de .spec.googleCloud.serviceAccountKeys.managementService, .status.googleCloud.serviceAccountKeys.connectAgent y .spec.googleCloud.serviceAccountKeys.node por las nuevas rutas.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSManagementService
    metadata:
     name: management
    spec:
     googleCloud:
       serviceAccountKeys:
         managementService: MANAGEMENT_KEY_PATH
         connectAgent: CONNECT_KEY_PATH
         node: NODE_KEY_PATH
     ...
    
  4. Ejecuta anthos-gke aws management init para actualizar el archivo anthos-gke.status.yaml.

    anthos-gke aws management init
    
  5. Ejecuta anthos-gke aws management apply para actualizar el servicio de gestión.

    anthos-gke aws management apply
    

Cuentas de servicio de clústeres de usuario

Para aplicar estas cuentas de servicio en tus AWSClusters y AWSNodePools, debes actualizarlos o eliminarlos y, a continuación, volver a crearlos.

Certificados de clústeres de usuarios

En esta sección se describe cómo rotar los certificados de los clústeres de usuario.

CAs y claves SSH de clústeres de usuarios

La mayoría de las autoridades certificadoras de tus clústeres de usuarios se crean cuando se crea el clúster.

Cuando eliminas un clúster de usuario, GKE on AWS rota los siguientes certificados:

  • CA raíz del servidor de la API
  • CA de proxy frontal de API
  • CA de etcd
  • Autoridad certificadora de firma de cuenta de servicio de Kubernetes
  • Pares de claves SSH del plano de control a los nodos

CA de webhook de autenticación de clústeres de usuarios

Para rotar la CA del webhook de autenticación del clúster de usuarios, edita el archivo anthos-gke.status.yaml y aplica los cambios.

  1. Cambia al directorio con tu configuración de GKE en AWS. Has creado este directorio al instalar el servicio de gestión.
    cd anthos-aws
  2. Abre el archivo anthos-gke.status.yaml en un editor de texto.
  3. Elimina todos los valores de la clave certificateAuthority. Esto incluye encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value y encryptedPrivateKey.certificate.
  4. Ejecuta anthos-gke aws management init para actualizar el archivo anthos-gke.status.yaml.

     anthos-gke aws management init
    
  5. Ejecuta anthos-gke aws management apply para actualizar el servicio de gestión.

     anthos-gke aws management apply
    

Pares de claves y certificados TLS de clústeres de usuarios

GKE en AWS genera pares de claves y certificados TLS al crear una instancia. Para rotar estos pares, vuelve a crear la instancia siguiendo los pasos que se indican a continuación para el plano de control y los grupos de nodos.

Plano de control

  1. En tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio de gestión.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Usa kubectl para obtener el grupo de destino de AWS EC2 de tu plano de control de tu AWSCluster.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awscluster cluster-name \
      -o jsonpath='{.status.targetGroupName}{"\n"}'
    

    El resultado incluye el nombre del grupo de destino de EC2 de tu plano de control. Por ejemplo, gke-123456a7-controlplane.

  3. Abre la consola de AWS EC2. En el panel de la izquierda, elige Grupos de destino.

  4. Haz clic en la barra de búsqueda y busca el grupo objetivo. Haga clic en el Nombre del grupo objetivo y, a continuación, en Objetivos. Aparecerá la lista de tus instancias del plano de control.

  5. Sigue estos pasos con cada instancia del grupo de destino:

    1. Haz clic en el ID de instancia de la instancia. Aparece la consola de instancias de EC2 de AWS.

    2. Haz clic en ID de instancia.

    3. Selecciona Actions -> Instance state -> terminate (Acciones -> Estado de la instancia -> Terminar) para eliminar la instancia. EC2 crea automáticamente una nueva instancia con el mismo volumen de EBS.

    4. Vuelve a la página Grupos objetivo.

  6. Una vez que haya terminado todas las instancias del grupo, vuelva a la página Grupos de destino.

  7. En la sección Registered Targets (Objetivos registrados) de la página, busque la columna Status (Estado). Cada una de tus instancias debe tener el estado Healthy (Correcto). Si alguna de las instancias está en buen estado, espera varios minutos y haz clic en el icono Actualizar ().

  8. Cuando todas las instancias del grupo de destino estén en buen estado, vaya al siguiente paso.

Grupos de nodos

Para rotar los certificados TLS de tu pool de nodos, sigue estos pasos:

  1. En tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio de gestión.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Usa kubectl para obtener el grupo de destino de AWS EC2 de tu grupo de nodos desde tu AWSNodePool.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awsnodepool -o jsonpath='{.items[*].status.autoScalingGroupName}{"\n"}'
    

    El resultado incluye el nombre del grupo de destino de EC2 de tu grupo de nodos. Por ejemplo, gke-123456a7-nodepool-abc123.

  3. Abre la consola de AWS EC2. En el panel de la izquierda, elige Grupos de destino.

  4. Haz clic en la barra de búsqueda y busca el grupo objetivo. Haga clic en el Nombre del grupo objetivo y, a continuación, en Objetivos. Aparecerá la lista de tus instancias del plano de control.

  5. Sigue estos pasos con cada instancia del grupo de destino:

    1. Haz clic en el ID de instancia de la instancia. Aparece la consola de instancias de EC2 de AWS.

    2. Haz clic en ID de instancia.

    3. Selecciona Actions -> Instance state -> terminate (Acciones -> Estado de la instancia -> Terminar) para eliminar la instancia. EC2 crea automáticamente una nueva instancia con el mismo volumen de EBS.

    4. Vuelve a la página Grupos objetivo.

  6. Una vez que haya terminado todas las instancias del grupo, vuelva a la página Grupos de destino.

  7. En la sección Registered Targets (Objetivos registrados) de la página, busque la columna Status (Estado). Cada una de tus instancias debe tener el estado Healthy (Correcto). Si alguna de las instancias está en buen estado, espera varios minutos y haz clic en el icono Actualizar ().

  8. Cuando todas las instancias del grupo de destino estén en buen estado, vaya al siguiente paso.