Rota credenciales de seguridad

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

Antes de comenzar

Para completar los pasos de esta página, debes tener acceso al directorio con tu configuración de clústeres de Anthos alojados en AWS.

Certificados del servicio de administración

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

Autoridades certificadoras de administración

En esta sección, se explica cómo rotar los certificados de firma de la autoridad certificadora (CA) para los componentes de clústeres de Anthos alojados en AWS.

CA raíz del servidor de API de administración

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

  1. Cambia al directorio con tu configuración de clústeres de Anthos alojados en AWS. Creaste este directorio cuando instalaste el servicio de administración.
    cd anthos-aws
  2. Abre anthos-gke.status.yaml en un editor de texto.
  3. Quita todos los valores en 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 administración.

     anthos-gke aws management apply
    

  1. Desde tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio administrado.
    cd anthos-aws
    anthos-gke aws management get-credentials

Otras CA de administración

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

  • CA de webhook de autenticación
  • CA de Etcd
  • CA del firmante de la cuenta de servicio

Puedes rotar estas CA 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 clústeres de Anthos alojados en AWS. Creaste este directorio cuando instalaste el servicio de administración.
      cd anthos-aws
    2. Abre anthos-gke.status.yaml en un editor de texto.
    3. Quita todos los valores en 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 administración.

       anthos-gke aws management apply
      

  • Si hay una nueva versión de clústeres de Anthos alojados en AWS, actualiza tu servicio de administración de clústeres de Anthos alojados en AWS.

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

    1. Desde tu directorio de anthos-aws, usa terraform para obtener el ID del servicio de administración.
      cd anthos-aws
      terraform output cluster_id
      El resultado incluye el ID del servicio de administración. En el siguiente ejemplo, 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 Acciones -> Estado de la instancia -> Finalizar para quitar la instancia. EC2 crea automáticamente una instancia nueva con el mismo volumen de EBS.

Claves y certificados de cliente/servidor de TLS de administración

Para rotar el cliente TLS, las claves y los certificados del servidor de tu servicio de administración, vuelve a crear tu instancia de servicio de administración. Para volver a crear la instancia, completa los pasos siguientes:

  1. Desde tu directorio de anthos-aws, usa terraform para obtener el ID del servicio de administración.
    cd anthos-aws
    terraform output cluster_id
    El resultado incluye el ID del servicio de administración. En el siguiente ejemplo, 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 Acciones -> Estado de la instancia -> Finalizar para quitar la instancia. EC2 crea automáticamente una instancia nueva con el mismo volumen de EBS.

Cuentas de servicio de Google Cloud

Cuentas de servicio del servicio de administración

Para rotar las cuentas de servicio de Google Cloud de tu servicio de administración, realiza los siguientes pasos.

  1. Crea cuentas de servicio nuevas y descarga claves de cuenta de servicio mediante los pasos en Requisitos.
  2. Cambia al directorio con tu configuración de clústeres de Anthos alojados en AWS. Creaste este directorio cuando instalaste el servicio de administración.
    cd anthos-aws
  3. Si descargaste claves en una ruta diferente, abre tu 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 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. 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 administración.

    anthos-gke aws management apply
    

Cuentas de servicio del clúster de usuario

Para aplicar estas cuentas de servicio en AWSClusters y AWSNodePools, debes hacer lo siguiente:mejorar o borrar y, luego, volver a crear.

Certificados de clúster de usuario

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

CA del clúster de usuario y claves SSH

La mayoría de las CA para tus clústeres de usuario se crean cuando creas el clúster de usuario.

Cuando borras un clúster de usuario, los clústeres de Anthos alojados en AWS rotan los siguientes certificados:

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

CA de webhook de autenticación del clúster de usuario

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

  1. Cambia al directorio con tu configuración de clústeres de Anthos alojados en AWS. Creaste este directorio cuando instalaste el servicio de administración.
    cd anthos-aws
  2. Abre anthos-gke.status.yaml en un editor de texto.
  3. Quita todos los valores en 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 administración.

     anthos-gke aws management apply
    

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

Los clústeres de Anthos alojados en AWS generan certificados y pares de claves TLS cuando se crea una instancia. A fin de rotar estos pares, recrea la instancia mediante los siguientes pasos para tu plano de control y grupos de nodos.

Plano de control

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

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

    En el resultado, se 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. Selecciona Grupos de destino en el panel izquierdo.

  4. Haz clic en la barra de búsqueda y busca tu grupo de destino. Haz clic en el Nombre del grupo de destino y, luego, en Destinos. Aparecerá la lista de las instancias de tu plano de control.

  5. Para cada instancia en el grupo de destino, realiza los siguientes pasos:

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

    2. Haz clic en el ID de instancia.

    3. Selecciona Acciones -> Estado de la instancia -> Finalizar para quitar la instancia. EC2 crea automáticamente una instancia nueva con el mismo volumen de EBS.

    4. Regresa a la página Grupos de destino.

  6. Después de finalizar todas las instancias en el grupo, regresa a la página Grupos de destino.

  7. En la sección Destinos registrados de la página, busca la columna Estado. Cada una de las instancias debe tener un Estado de en buen estado. Si alguna de las instancias está en buen estado, espera varios minutos y haz clic en el ícono Actualizar ().

  8. Después de que todas las instancias en el grupo de destino estén en buen estado, continúa con el siguiente paso.

Grupos de nodos

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

  1. Desde tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio administrado.
    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"}'
    

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

  3. Abre la consola de AWS EC2. Selecciona Grupos de destino en el panel izquierdo.

  4. Haz clic en la barra de búsqueda y busca tu grupo de destino. Haz clic en el Nombre del grupo de destino y, luego, en Destinos. Aparecerá la lista de las instancias de tu plano de control.

  5. Para cada instancia en el grupo de destino, realiza los siguientes pasos:

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

    2. Haz clic en el ID de instancia.

    3. Selecciona Acciones -> Estado de la instancia -> Finalizar para quitar la instancia. EC2 crea automáticamente una instancia nueva con el mismo volumen de EBS.

    4. Regresa a la página Grupos de destino.

  6. Después de finalizar todas las instancias en el grupo, regresa a la página Grupos de destino.

  7. En la sección Destinos registrados de la página, busca la columna Estado. Cada una de las instancias debe tener un Estado de en buen estado. Si alguna de las instancias está en buen estado, espera varios minutos y haz clic en el ícono Actualizar ().

  8. Después de que todas las instancias en el grupo de destino estén en buen estado, continúa con el siguiente paso.