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:
- 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
- Abre el archivo
anthos-gke.status.yaml
en un editor de texto. - Elimina todos los valores de la clave
certificateAuthority
. Esto incluyeencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
yencryptedPrivateKey.certificate
. Ejecuta
anthos-gke aws management init
para actualizar el archivoanthos-gke.status.yaml
.anthos-gke aws management init
Ejecuta
anthos-gke aws management apply
para actualizar el servicio de gestión.anthos-gke aws management apply
- En tu directorio de
anthos-aws
, usaanthos-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 tuanthos-gke.status.yaml
.- 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
- Abre el archivo
anthos-gke.status.yaml
en un editor de texto. - Elimina todos los valores de la clave
certificateAuthority
. Esto incluyeencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
yencryptedPrivateKey.certificate
. Ejecuta
anthos-gke aws management init
para actualizar el archivoanthos-gke.status.yaml
.anthos-gke aws management init
Ejecuta
anthos-gke aws management apply
para actualizar el servicio de gestión.anthos-gke aws management apply
- Cambia al directorio con tu configuración de GKE en AWS.
Has creado este directorio al instalar el servicio de gestión.
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.
- En el directorio
anthos-aws
, usaterraform
para obtener el ID de tu servicio de gestión. La salida incluye el ID de tu servicio de gestión. En el ejemplo de abajo, el ID escd anthos-aws terraform output cluster_id
gke-12345abc
.terraform output cluster_id
gke-12345abc - Abre la consola de AWS EC2.
- Haz clic en Instancias.
- Busca la instancia llamada
cluster-id-management-0
. - 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.
- En el directorio
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:
- En el directorio
anthos-aws
, usaterraform
para obtener el ID de tu servicio de gestión. La salida incluye el ID de tu servicio de gestión. En el ejemplo de abajo, el ID escd anthos-aws terraform output cluster_id
gke-12345abc
.terraform output cluster_id
gke-12345abc - Abre la consola de AWS EC2.
- Haz clic en Instancias.
- Busca la instancia llamada
cluster-id-management-0
. - 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.
- Crea cuentas de servicio y descarga claves de cuenta de servicio siguiendo los pasos que se indican en la sección Requisitos previos.
- 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
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 ...
Ejecuta
anthos-gke aws management init
para actualizar el archivoanthos-gke.status.yaml
.anthos-gke aws management init
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.
- 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
- Abre el archivo
anthos-gke.status.yaml
en un editor de texto. - Elimina todos los valores de la clave
certificateAuthority
. Esto incluyeencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
yencryptedPrivateKey.certificate
. Ejecuta
anthos-gke aws management init
para actualizar el archivoanthos-gke.status.yaml
.anthos-gke aws management init
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
- En tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio de gestión.cd anthos-aws anthos-gke aws management get-credentials
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
.Abre la consola de AWS EC2. En el panel de la izquierda, elige Grupos de destino.
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.
Sigue estos pasos con cada instancia del grupo de destino:
Haz clic en el ID de instancia de la instancia. Aparece la consola de instancias de EC2 de AWS.
Haz clic en ID de instancia.
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.
Vuelve a la página Grupos objetivo.
Una vez que haya terminado todas las instancias del grupo, vuelva a la página Grupos de destino.
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 (
).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:
- En tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio de gestión.cd anthos-aws anthos-gke aws management get-credentials
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
.Abre la consola de AWS EC2. En el panel de la izquierda, elige Grupos de destino.
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.
Sigue estos pasos con cada instancia del grupo de destino:
Haz clic en el ID de instancia de la instancia. Aparece la consola de instancias de EC2 de AWS.
Haz clic en ID de instancia.
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.
Vuelve a la página Grupos objetivo.
Una vez que haya terminado todas las instancias del grupo, vuelva a la página Grupos de destino.
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 (
).Cuando todas las instancias del grupo de destino estén en buen estado, vaya al siguiente paso.