Descripción general de Connect

Connect te permite conectarte a cualquiera de los clústeres de Kubernetes a Google Cloud. Esto permite el acceso al clúster y a las funciones de administración de cargas de trabajo, incluida una interfaz de usuario unificada, Cloud 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.

Connect Agent

Connect usa una Implementación llamada Connect Agent para establecer una conexión entre los clústeres y el proyecto de Google Cloud y manejar las solicitudes de Kubernetes.

Funciones Connect de IAM

La administración de identidades y accesos (IAM) permite que los usuarios, grupos y cuentas de servicio accedan a las API de Google Cloud y realicen tareas dentro de los productos de Google Cloud.

Debes proporcionar funciones de IAM específicas para iniciar el agente de Connect e interactuar con tu clúster mediante Google Cloud Console o el SDK de Cloud. 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.admin Administrador de Hub Proporciona acceso completo a Hub y sus recursos relacionados.

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.memberships.setIamPolicy
  • 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.features.setIamPolicy
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

Authentication

Google Cloud ofrece varias opciones para acceder a clústeres registrados desde Google Cloud Console. Las opciones disponibles dependen de cómo el administrador del clúster haya configurado 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 obtener más información sobre el uso de estas opciones en Accede a los clústeres desde Cloud Console.

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 las siguientes funciones de RBAC de Kubernetes en el clúster:

Estas funciones proporcionan acceso de solo lectura a un clúster y detalles sobre sus nodos. Las funciones 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, estas funciones 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.

En auditoría

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