Rota las claves de la cuenta de servicio

Para rotar las claves de cuenta de servicio en Google Distributed Cloud, debes actualizar las credenciales del clúster existentes con el comando bmctl. Esta rotación de claves de cuenta de servicio puede ser parte de tus procesos habituales para actualizar las credenciales o en respuesta a una posible exposición de las claves. Cuando actualizas las credenciales del clúster, la información nueva se pasa a los clústeres de administrador o híbridos, o se enruta automáticamente a los clústeres de usuario afectados administrados por un clúster de administración.

Credenciales de clúster que se pueden actualizar

Los clústeres de Google Distributed Cloud requieren varias credenciales cuando se crean. Debes establecer las credenciales en la configuración del clúster cuando creas un clúster administrativo, independiente o híbrido. Un clúster de administrador (o un clúster híbrido que actúa como administrador) administra los clústeres de usuario (como ya se mencionó), y volverá a usar las mismas credenciales del clúster de administrador.

Si deseas obtener más información para crear clústeres y diferentes tipos de clústeres, consulta Descripción general de la instalación: elige un modelo de implementación.

Puedes actualizar las siguientes credenciales y sus secretos correspondientes en clústeres de Google Distributed Cloud con el comando bmctl:

  • Clave privada SSH: Se usa para el acceso a los nodos.
  • Clave de Container Registry (anthos-baremetal-gcr): Es la clave de cuenta de servicio que se usa para autenticarse con Container Registry y extraer imágenes.
  • Clave de la cuenta de servicio del agente de Connect (anthos-baremetal-connect): Es la clave de la cuenta de servicio que usan los pods del agente de Connect.
  • Clave de cuenta de servicio del registro de Connect (anthos-baremetal-register): Es la clave de cuenta de servicio que se usa para autenticarse con Hub cuando se registra o anula el registro de un clúster.
  • Clave de la cuenta de servicio de operaciones en la nube (anthos-baremetal-cloud-ops): Es la clave de la cuenta de servicio para autenticarse con las APIs de Google Cloud Observability (registro y supervisión).

Actualiza las credenciales con bmctl

Cuando creas clústeres, Google Distributed Cloud crea secretos de Kubernetes basados en tus claves de credenciales. Si generas claves nuevas, debes actualizar los secretos correspondientes como se describe en los siguientes pasos. Si cambia el nombre o la ruta de acceso a tus claves, también debes actualizar el archivo de configuración del clúster correspondiente.

  1. Prepara los valores nuevos de las credenciales que deseas actualizar:

    • Puedes generar nuevas claves de cuenta de servicio de Google a través de Google Cloud CLI o de la consola de Google Cloud.

    • Genera una nueva clave privada de SSH en la estación de trabajo de administrador y asegúrate de que las máquinas de nodo del clúster tengan la clave pública correspondiente.

  2. Actualiza la sección de credenciales del archivo de configuración del clúster con las rutas de acceso a las claves nuevas.

  3. Actualiza los secretos del clúster correspondientes con el comando bmctl update credentials y agrega las marcas adecuadas.

    En el siguiente ejemplo, se actualizan las credenciales de una nueva clave privada SSH:

    bmctl update credentials --kubeconfig ADMIN_KUBECONFIG \
        --cluster CLUSTER_NAME \
        --ssh-private-key-path SSH_KEY_PATH
    

    Reemplaza lo siguiente:

    • ADMIN_KUBECONFIG: Es la ruta de acceso del archivo kubeconfig del clúster de administrador o autoadministrado.

    • CLUSTER_NAME: Es el nombre del clúster para el que actualizas la clave SSH.

    • SSH_KEY_PATH: Es la ruta de acceso al archivo de clave SSH. De forma predeterminada, bmctl verifica los archivos de claves de SSH y de la cuenta de servicio especificados en el archivo de configuración del clúster. Si bmctl encuentra un archivo de clave vencido, el comando falla. Si tienes el nuevo archivo de claves válido en una ubicación diferente a la que se especifica en el archivo de configuración, incluye la marca --ignore-validation-errors para evitar este error.

    Para obtener una lista completa de las marcas que puedes usar con el comando bmctl update credentials, consulta Cómo actualizar credenciales en la referencia del comando bmctl.