Credenciales de seguridad rotativas

En este tema se describe cómo rotar las credenciales de seguridad para el servicio de administración de GKE en AWS y los clústeres de usuarios. Para obtener más información sobre las funciones de seguridad de GKE en AWS, consulte Seguridad .

Antes de empezar

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

Certificados de servicios de gestión

Esta sección describe cómo rotar certificados para su servicio de administración.

Autoridades de certificación de gestión

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

CA raíz del servidor API de administración

Para rotar la CA raíz del servidor API, realice los siguientes pasos:

  1. Vaya al directorio con su configuración de GKE en AWS. Este directorio se creó al instalar el servicio de administración .
    cd anthos-aws
  2. Abra su anthos-gke.status.yaml en un editor de texto.
  3. Elimine todos los valores de la clave certificateAuthority . Esto incluye encryptedPrivateKey.kmsKeyARN , encryptedPrivateKey.value y encryptedPrivateKey.certificate .
  4. Ejecute anthos-gke aws management init para actualizar el archivo anthos-gke.status.yaml .

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

     anthos-gke aws management apply
    

  1. Desde su directorio anthos-aws , use anthos-gke para cambiar el contexto a su servicio de administración.
    cd anthos-aws
    anthos-gke aws management get-credentials

Otras CA de gestión

En esta sección se describe cómo puedes rotar todas las siguientes CA:

  • Webhook de autenticación CA
  • Etcd CA
  • CA firmante de cuenta de servicio

Puede rotar estas CA con uno de los siguientes métodos:

  • Elimine la sección certificateAuthority de su anthos-gke.status.yaml .

    1. Vaya al directorio con su configuración de GKE en AWS. Este directorio se creó al instalar el servicio de administración .
      cd anthos-aws
    2. Abra su anthos-gke.status.yaml en un editor de texto.
    3. Elimine todos los valores de la clave certificateAuthority . Esto incluye encryptedPrivateKey.kmsKeyARN , encryptedPrivateKey.value y encryptedPrivateKey.certificate .
    4. Ejecute anthos-gke aws management init para actualizar el archivo anthos-gke.status.yaml .

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

       anthos-gke aws management apply
      

  • Si hay una nueva versión de GKE en AWS disponible, actualice su servicio de administración de GKE en AWS .

  • Recrear la instancia EC2 del servicio de administración.

    1. Desde su directorio anthos-aws , use terraform para obtener el ID de su servicio de administración.
      cd anthos-aws
      terraform output cluster_id
      La salida incluye el ID del servicio de administración. En el ejemplo siguiente, el ID es gke-12345abc .
      terraform output cluster_id
      gke-12345abc
      
    2. Abra la consola AWS EC2 .
    3. Instancias de clic
    4. Busque la instancia denominada cluster-id -management-0 .
    5. Seleccione Acciones -> Estado de la instancia -> Terminar para eliminar la instancia. EC2 crea automáticamente una nueva instancia con el mismo volumen EBS.

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

Para rotar las claves y certificados de cliente/servidor TLS de su servicio de administración, debe recrear la instancia del servicio de administración. Para ello, siga estos pasos:

  1. Desde su directorio anthos-aws , use terraform para obtener el ID de su servicio de administración.
    cd anthos-aws
    terraform output cluster_id
    La salida incluye el ID del servicio de administración. En el ejemplo siguiente, el ID es gke-12345abc .
    terraform output cluster_id
    gke-12345abc
    
  2. Abra la consola AWS EC2 .
  3. Instancias de clic
  4. Busque la instancia denominada cluster-id -management-0 .
  5. Seleccione Acciones -> Estado de la instancia -> Terminar para eliminar la instancia. EC2 crea automáticamente una nueva instancia con el mismo volumen EBS.

Google Cloud cuentas de servicio

Cuentas de servicio del servicio de gestión

Para girar el Google Cloud cuentas de servicio para su servicio de administración, realice los siguientes pasos.

  1. Cree nuevas cuentas de servicio y descargue claves de cuentas de servicio siguiendo los pasos que se indican en Requisitos previos
  2. Vaya al directorio con su configuración de GKE en AWS. Este directorio se creó al instalar el servicio de administración .
    cd anthos-aws
  3. Si descargaste las claves en una ruta diferente, abre el archivo anthos-gke.yaml en un editor de texto. Cambia los valores de .spec.googleCloud.serviceAccountKeys.managementService , .status.googleCloud.serviceAccountKeys.connectAgent y .spec.googleCloud.serviceAccountKeys.node a 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. Ejecute anthos-gke aws management init para actualizar el archivo anthos-gke.status.yaml .

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

    anthos-gke aws management apply
    

Cuentas de servicio del clúster de usuarios

Para aplicar estas cuentas de servicio en sus AWSClusters y AWSNodePools, debe actualizarlas o eliminarlas y luego volver a crearlas .

Certificados de clúster de usuarios

Esta sección describe cómo rotar certificados para sus clústeres de usuarios.

CA de clúster de usuarios y claves SSH

La mayoría de las CA para los clústeres de usuarios se crean cuando se crea el clúster.

Cuando elimina un clúster de usuarios , GKE en AWS rota los siguientes certificados:

  • CA raíz del servidor API
  • CA de proxy frontal de API
  • etcd CA
  • CA firmante de la cuenta de servicio de Kubernetes
  • Pares de claves SSH del plano de control al nodo

Webhook de autenticación de clúster de usuarios CA

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

  1. Vaya al directorio con su configuración de GKE en AWS. Este directorio se creó al instalar el servicio de administración .
    cd anthos-aws
  2. Abra su anthos-gke.status.yaml en un editor de texto.
  3. Elimine todos los valores de la clave certificateAuthority . Esto incluye encryptedPrivateKey.kmsKeyARN , encryptedPrivateKey.value y encryptedPrivateKey.certificate .
  4. Ejecute anthos-gke aws management init para actualizar el archivo anthos-gke.status.yaml .

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

     anthos-gke aws management apply
    

Pares de claves TLS y certificados del clúster de usuarios

GKE en AWS genera pares de claves TLS y certificados al crear una instancia. Para rotar estos pares, vuelva a crear la instancia siguiendo estos pasos para el plano de control y los grupos de nodos.

Plano de control

  1. Desde su directorio anthos-aws , use anthos-gke para cambiar el contexto a su servicio de administración.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Utilice kubectl para obtener el grupo de destino AWS EC2 de su plano de control desde su AWSCluster.

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

    La salida incluye el nombre del grupo de destino EC2 de su plano de control. Por ejemplo, gke-123456a7-controlplane .

  3. Abra la consola de AWS EC2 . Seleccione "Grupos de destino" en el panel izquierdo.

  4. Haga clic en la barra de búsqueda y encuentre su grupo objetivo. Haga clic en el nombre de su grupo objetivo y, a continuación, en Objetivos . Aparecerá la lista de instancias de su plano de control.

  5. Para cada instancia del grupo de destino, realice los siguientes pasos:

    1. Haga clic en el ID de instancia de la instancia. Aparecerá la consola de instancias de AWS EC2.

    2. Haga clic en el ID de instancia .

    3. Seleccione Acciones -> Estado de la instancia -> Terminar para eliminar la instancia. EC2 crea automáticamente una nueva instancia con el mismo volumen EBS.

    4. Regresar a la página de Grupos objetivo.

  6. Después de haber finalizado todas las instancias del grupo, regrese a la página Grupos de destino.

  7. En la sección "Objetivos Registrados ", busque la columna "Estado" . Cada instancia debe tener el estado " Correcto" . Si alguna instancia está en buen estado, espere unos minutos y haga clic en el icono " ".

  8. Una vez que todas las instancias del grupo objetivo estén en buen estado, proceda al siguiente paso.

Grupos de nodos

Para rotar los certificados TLS de su grupo de nodos:

  1. Desde su directorio anthos-aws , use anthos-gke para cambiar el contexto a su servicio de administración.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Utilice kubectl para obtener el grupo de destino de AWS EC2 de su grupo de nodos desde su AWSNodePool.

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

    La salida incluye el nombre del grupo de destino EC2 de su grupo de nodos. Por ejemplo, gke-123456a7-nodepool-abc123 .

  3. Abra la consola de AWS EC2 . Seleccione "Grupos de destino" en el panel izquierdo.

  4. Haga clic en la barra de búsqueda y encuentre su grupo objetivo. Haga clic en el nombre de su grupo objetivo y, a continuación, en Objetivos . Aparecerá la lista de instancias de su plano de control.

  5. Para cada instancia del grupo de destino, realice los siguientes pasos:

    1. Haga clic en el ID de instancia de la instancia. Aparecerá la consola de instancias de AWS EC2.

    2. Haga clic en el ID de instancia .

    3. Seleccione Acciones -> Estado de la instancia -> Terminar para eliminar la instancia. EC2 crea automáticamente una nueva instancia con el mismo volumen EBS.

    4. Regresar a la página de Grupos objetivo.

  6. Después de haber finalizado todas las instancias del grupo, regrese a la página Grupos de destino.

  7. En la sección "Objetivos Registrados ", busque la columna "Estado" . Cada instancia debe tener el estado " Correcto" . Si alguna instancia está en buen estado, espere unos minutos y haga clic en el icono " ".

  8. Una vez que todas las instancias del grupo objetivo estén en buen estado, proceda al siguiente paso.