Descripción general del agente de Connect

Cuando registras un clúster fuera de Google Cloud en tu flota, Google Cloud usa una Implementación llamada Agente de Connect para establecer una conexión entre el clúster y tu proyecto de Google Cloud, y controlar las solicitudes de Kubernetes.

Esto permite el acceso al clúster y a las funciones de administración de cargas de trabajo en Google Cloud, incluida una interfaz de usuario unificada, Console, para interactuar con el clúster.

Si tu red está configurada para permitir solicitudes salientes, puedes configurar el agente de Connect a fin de desviar NAT, proxies de salida y firewalls para establecer una conexión encriptada de larga duración entre el servidor de la API de Kubernetes del clúster y el proyecto de Google Cloud. Una vez que se habilite esta conexión, podrás usar tus propias credenciales para volver a acceder a tus clústeres y a sus detalles sobre sus recursos de Kubernetes. Esto replica de forma efectiva la experiencia de IU que, de lo contrario, solo está disponible para clústeres de GKE.

Una vez establecida la conexión, el software del agente de Connect puede intercambiar credenciales de cuentas, detalles técnicos y metadatos sobre infraestructura conectada y cargas de trabajo necesarias para administrarlas con Google Cloud, incluidos los detalles de recursos, aplicaciones, y hardware.

Estos datos del servicio de clúster se asocian a tu cuenta y proyecto de Google Cloud. Google usa estos datos para mantener un plano de control entre tu clúster y Google Cloud a fin de proporcionarte cualquier servicio de Google Cloud y las funciones que solicitas, lo que incluye facilitar la asistencia, la facturación, las actualizaciones y la medición, y mejorar la confiabilidad, la calidad, la capacidad y la funcionalidad de los servicios de Connect y Google Cloud disponibles a través de Connect.

Tú controlas los datos que se envían a través de Connect: tu servidor de la API de Kubernetes realiza la autenticación, la autorización y el registro de auditoría en todas las solicitudes mediante Connect. Google y los usuarios pueden acceder a los datos o las API mediante Connect después de que el administrador del clúster los haya autorizado (por ejemplo, a través de RBAC). El administrador del clúster puede revocar esa autorización.

Roles de IAM de Connect

Identity and Access Management (IAM) permite que los usuarios, los grupos y las cuentas de servicio accedan a las API de Google Cloud y realicen tareas dentro de los productos de Google Cloud.

Debes proporcionar roles de IAM específicos para iniciar el agente de Connect e interactuar con tu clúster mediante la consola de Google Cloud o Google Cloud CLI. Estas funciones no permiten el acceso directo a clústeres conectados.

Algunas de estas funciones te permiten acceder a la información sobre los clústeres, incluidos los siguientes:

  • Nombres de clústeres
  • Claves públicas
  • Direcciones IP
  • Proveedores de identidades
  • Versiones de Kubernetes
  • Tamaño del clúster
  • Otros metadatos de clústeres

Connect usa las siguientes funciones de IAM:

Nombre de la función Título de la función Descripción Permisos
roles/gkehub.editor Editor de Hub Proporciona acceso de edición a los recursos de GKE Hub.

Permisos para Google Cloud

  • resourcemanager.projects.get
  • resourcemanager.projects.list

Permisos para Hub

  • gkehub.memberships.list
  • gkehub.memberships.get
  • gkehub.memberships.create
  • gkehub.memberships.update
  • gkehub.memberships.delete
  • gkehub.memberships.generateConnectManifest
  • gkehub.memberships.getIamPolicy
  • gkehub.locations.list
  • gkehub.locations.get
  • gkehub.operations.list
  • gkehub.operations.get
  • gkehub.operations.cancel
  • gkehub.features.list
  • gkehub.features.get
  • gkehub.features.create
  • gkehub.features.update
  • gkehub.features.delete
  • gkehub.features.getIamPolicy
  • gkehub.fleet.*
roles/gkehub.viewer Visualizador de Hub Proporciona acceso de solo lectura a Hub y a los recursos relacionados.

Permisos para Google Cloud

  • resourcemanager.projects.get
  • resourcemanager.projects.list

Permisos para Hub

  • gkehub.memberships.list
  • gkehub.memberships.get
  • gkehub.memberships.generateConnectManifest
  • gkehub.memberships.getIamPolicy
  • gkehub.locations.list
  • gkehub.locations.get
  • gkehub.operations.list
  • gkehub.operations.get
  • gkehub.features.list
  • gkehub.features.get
  • gkehub.features.getIamPolicy
roles/gkehub.connect Agente de GKE Connect Proporciona la capacidad de establecer conexiones nuevas entre clústeres externos y Google. gkehub.endpoints.connect

Accede mediante Connect

Autenticación

Google Cloud ofrece múltiples opciones para acceder a clústeres registrados desde la consola de Google Cloud. Las opciones disponibles dependen de cómo el administrador del clúster configuró la autenticación:

  1. Si el clúster se configuró para usar la puerta de enlace de Connect, puedes acceder con tu identidad de Google Cloud, de la misma manera que lo haces con los clústeres de GKE en Google Cloud.
  2. Si el clúster se configuró para usar Anthos Identity Service con un proveedor de OpenID Connect (OIDC), como Okta o ADFS, o un proveedor de LDAP, puedes acceder con una identidad de ese proveedor.
  3. Puedes acceder con un token del portador. Se admiten muchos tipos de tokens del portador, como se especifica en autenticación de Kubernetes. El método más fácil es crear una cuenta de servicio de Kubernetes (KSA) en el clúster y usar su token del portador para acceder.

Puedes encontrar más información sobre cómo usar estas opciones en Acceder a los clústeres desde la consola.

Autorización

El servidor de la API del clúster realiza las verificaciones de autorización con la identidad que usas cuando realizas la autenticación a través de Google Cloud Console.

Todas las cuentas que acceden a un clúster deben conservar al menos los siguientes roles de RBAC de Kubernetes en el clúster:

Estos roles proporcionan acceso de solo lectura a un clúster y detalles sobre sus nodos. Los roles no proporcionan acceso a todos los recursos, por lo que es posible que algunas funciones de Google Cloud Console no estén disponibles. Por ejemplo, estos roles no permiten el acceso a los secretos de Kubernetes ni a los registros de Pods.

Se pueden otorgar permisos de RBAC a otras cuentas, como a través de edit o cluster-admin, para hacer mucho más dentro del clúster. Para obtener más información, consulta la documentación de RBAC.

Auditoría

Los accesos a través de la consola de Google Cloud se registran en la auditoría en el servidor de la API del clúster.

Uso y requisitos de recursos

Por lo general, el agente Connect conectado en el registro utiliza 500 m de CPU y 200 Mi de memoria. Sin embargo, este uso puede variar según la cantidad de solicitudes que se realicen al agente por segundo y el tamaño de esas solicitudes. Estos pueden verse afectados por varios factores, como el tamaño del clúster, la cantidad de usuarios que acceden a él a través de la consola (más usuarios o cargas de trabajo, más solicitudes) y la cantidad de funciones habilitadas para la flota.