Lo que usa Connect

Última actualización del tema: 4 de noviembre de 2021

Cuando registras tus clústeres de Kubernetes con Google Cloud mediante Connect, se establece una conexión autenticada y encriptada de larga duración entre tus clústeres y el plano de control de Google Cloud. La conexión muestra información sobre los clústeres en la consola de Google Cloud y te permite administrar, así como también implementar configuraciones y recursos en los clústeres por medio de los componentes y las funciones de GKE Enterprise como Config Management.

En este tema, se describe la naturaleza de la conexión entre Google Cloud y Connect, y se proporcionan detalles sobre los controladores de Google Cloud que operan en tus clústeres mediante Connect.

Acerca de la conexión entre Google Cloud y Connect

Como se describe en el tema Funciones de seguridad, solo el plano de control de Google Cloud realiza solicitudes a través de Connect a cada clúster conectado (por ejemplo, al servidor de una API del clúster) y el clúster envía las respuestas al plano de control. (Los servicios y recursos del clúster no pueden iniciar solicitudes al plano de control mediante Connect). La conexión permite que los usuarios autorizados y la automatización de Google lleguen a los clústeres y se autentiquen en ellos.

Por ejemplo, Connect permite que la consola de Google Cloud obtenga información sobre cargas de trabajo y servicios, o le permite a Config Management instalar o actualizar el agente de Connect en el clúster y observar el estado de sincronización. Conectar también permite que el agente de medición tenga en cuenta la cantidad de CPU virtuales en un clúster conectado.

Connect no proporciona transporte de datos para imágenes de contenedor, balanceo de cargas, conexiones de base de datos, Logging o Monitoring. Debes establecer la conectividad para quienes estén en paralelo mediante sus propios mecanismos.

Acceso de usuario de la consola de Google Cloud a los clústeres mediante Connect

Después de que los usuarios de tu organización acceden a un clúster a través de la consola de Google Cloud, tienen permisos específicos del clúster determinados por los controles de acceso basados en funciones (RBAC) asignados a ellos. El clúster (no Connect) aplica los permisos. Los registros estándar de Kubernetes te permiten auditar las acciones que realizó cada usuario en la administración de un clúster.

En la siguiente tabla, se muestra qué partes de la consola de Google Cloud permiten a los usuarios interactuar con los clústeres a través de Connect.

Sección de la consola de Google Cloud Qué pueden hacer los usuarios
GKE Enterprise Administrar las cargas de trabajo y los clústeres registrados en la flota; administrar componentes de GKE Enterprise.
Kubernetes Engine Administra clústeres y cargas de trabajo registrados en la flota.
Knative serving Compila, implementa y administra servicios y aplicaciones.
Marketplace Implementar y administrar aplicaciones de terceros.

Acceso del controlador de Google Cloud a clústeres a través de Connect

Los controladores de Google Cloud acceden a un clúster desde el plano de control de Google Cloud con el agente de Connect. Estos controladores proporcionan administración y automatización para la funcionalidad que habilitas en tus clústeres. Por ejemplo, Config Management tiene un controlador de Google Cloud que ayuda a dirigir el ciclo de vida de los agentes en el clúster y proporciona una IU para configurar y ver el estado de Config Management que se ejecuta en varios clústeres.

Los diferentes controladores acceden a los clústeres mediante diferentes identidades, y puedes auditar las actividades de cada controlador en los registros de auditoría de Kubernetes.

En la siguiente tabla, se resume cómo operan los controladores de Google Cloud en Connect. En la tabla, se destacan los detalles clave sobre los controladores: los permisos que necesitan, sus ID en los registros de auditoría de Kubernetes y si puedes inhabilitarlos o no.

Inhabilitar un componente en este contexto significa desactivarlo por completo, sin que ninguna pieza individual del componente pueda usarse en los clústeres.

Nombre del componente ¿Se puede inhabilitar? Función de clúster / permisos de RBAC Descripción ID en los registros de auditoría del clúster
Autorizador de función No (habilitado de forma predeterminada) cluster-admin

El Autorizador de función agrega RBAC para componentes habilitados para la flota, o funciones que operan en clústeres de Kubernetes, y se garantiza que cada uno solo tenga los permisos específicos necesarios para ejecutar sus funciones.

No puedes inhabilitar el Autorizador de función, siempre y cuando haya membresías registradas en el proyecto.

Consulta Autorización de atributos en una flota para obtener más información.

service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com
Config Management Sí (inhabilitado de forma predeterminada) cluster-admin

El controlador de Config Management administra sus propios agentes en el clúster y proporciona una IU que muestra el estado de Config Management en todos los clústeres de una flota.

El controlador instala sus componentes en clúster y crea una cuenta de servicio local con los permisos adecuados para implementar todos los tipos de configuraciones de Kubernetes en nombre de los usuarios. Cuando no se instalan ni administran componentes en el clúster, el controlador de Config Management lee la información de estado de su agente en el clúster.

service-project-number@gcp-sa-acm.iam.gserviceaccount.com
Medición de uso No (habilitado de forma predeterminada) Consulta la definición de RBAC

El controlador de medición lee la información básica sobre los clústeres conectados para proporcionar servicios de facturación.

Este control requiere sus permisos para lo siguiente:

  • Obtener mediciones basadas en la capacidad de CPU virtual de nodos.
  • Mirar y borrar el recurso personalizado metering.gke.io/usagerecords.
  • Crear y actualizar el recurso personalizado anthos.gke.io/entitlements.

No puedes inhabilitar la medición, siempre y cuando haya membresías registradas en el proyecto.

service-project-number@gcp-sa-mcmetering.iam.gserviceaccount.com

RBAC para componentes específicos que operan a través de Connect

En las siguientes definiciones de API, se muestran los permisos de control de acceso para diferentes recursos de componentes que operan en Connect.

RBAC de medición de uso mediante Connect

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    hub.gke.io/owner-feature: metering
    hub.gke.io/project: [PROJECT_ID]
  name: metering
  selfLink: /apis/rbac.authorization.k8s.io/v1/clusterroles/metering
rules:
- apiGroups:
  - ""
  resources:
  - nodes
  verbs:
  - get
  - watch
  - list
- apiGroups:
  - metering.gke.io
  resources:
  - usagerecords
  verbs:
  - get
  - list
  - watch
  - delete
- apiGroups:
  - anthos.gke.io
  resources:
  - entitlements
  verbs:
  - create
  - delete
  - get
  - list
  - update
  - watch
- apiGroups:
  - apiextensions.k8s.io
  resources:
  - customresourcedefinitions
  verbs:
  - create
  - list
  - watch
- apiGroups:
  - apiextensions.k8s.io
  resourceNames:
  - entitlements.anthos.gke.io
  resources:
  - customresourcedefinitions
  verbs:
  - get