Kf proporciona un conjunto de funciones de Kubernetes que permiten que varios equipos compartan un clúster de Kf. En esta página, se describen las funciones y las prácticas recomendadas que debes seguir cuando uses estas funciones.
Cuándo usar funciones de Kf
Las funciones de Kf permiten que varios equipos compartan un clúster de Kubernetes con Kf instalado. Las funciones proporcionan acceso a espacios de Kf individuales.
Usa las funciones de Kf para compartir el acceso a un clúster si se cumplen las siguientes condiciones:
- Equipos de confianza usan el clúster.
- Las cargas de trabajo en el clúster comparten las mismas suposiciones sobre el nivel de seguridad que proporciona el entorno.
- El clúster existe en un proyecto de Google Cloud que está controlado de forma estricta.
Las funciones de Kf no realizan lo siguiente:
- Proteger el clúster de las cargas de trabajo o los desarrolladores que no sean de confianza. Consulta el modelo de responsabilidad compartida de GKE para obtener más información.
- Proporcionar aislamiento para las cargas de trabajo. Consulta la guía para endurecer tu clúster para obtener más información.
- Evitar que se definan las funciones adicionales de Kubernetes que interactúan con Kf.
- Evitar el acceso de los administradores que tienen acceso al proyecto o clúster de Google Cloud.
Funciones de Kf
En las siguientes secciones, se describen las funciones de RBAC de Kubernetes que proporciona Kafka y cómo interactúan con IAM de Google Kubernetes Engine (GKE).
Funciones predefinidas
Kf brinda varias funciones predefinidas de Kubernetes para ayudarte a proporcionar acceso a diferentes asuntos con distintas funciones. Cada función predefinida se puede vincular a un asunto dentro de un espacio de nombres de Kubernetes que administra un espacio de Kf.
Cuando un asunto está vinculado a una función dentro de un espacio de nombres de Kubernetes, el acceso se limita a los objetos que existen en el espacio de nombres que coinciden con los otorgamientos en la función. En Kf, algunos recursos se definen a nivel del clúster. Kf observa cambios en los asuntos del espacio de nombres y otorga funciones adicionales, limitadas a nivel del clúster.
Función | Título | Descripción | Permiso |
---|---|---|---|
space-auditor |
Auditor de espacios | Permite el acceso de solo lectura a un espacio. | Espacio |
space-developer |
Desarrollador de espacio | Permite a los desarrolladores de aplicaciones implementar y administrar aplicaciones dentro de un espacio. | Espacio |
space-manager |
Administrador de espacios | Permite la administración y la capacidad de administrar auditores, desarrolladores y administradores en un espacio. | Espacio |
SPACE_NAME-manager |
Administrador dinámico de espacios | Proporciona acceso de escritura a un solo objeto de espacio, que se otorga automáticamente a todos los asuntos con la función space-manager dentro del espacio con nombre. |
Clúster |
kf-cluster-reader |
Lector de clústeres | Permite el acceso de solo lectura a objetos Kf con alcance de clúster, otorgados automáticamente a todos los space-auditor , space-developer y space-manager . |
Clúster |
La información sobre las reglas de políticas que conforman cada función predefinida se encuentra en la documentación de referencia de las funciones de Kf.
Funciones de IAM
Las funciones de Kf proporcionan control de acceso para los objetos dentro de un clúster de Kubernetes. También se debe otorgar una función de IAM a los asuntos para llevar a cabo la autenticación en el clúster:
Se les debe otorgar la función de IAM
roles/container.admin
a los administradores de la plataforma. Esto les permitirá instalar, actualizar y borrar Kf, así como crear y borrar objetos Kf con alcance de clúster como Spaces o ClusterServiceBokers.Se deben otorgar las funciones de IAM
roles/container.viewer
a los usuarios finales de Kf. Esta función le permitirá autenticarse en un clúster con permisos limitados que se pueden expandir con funciones de Kf.
IAM ofrece funciones predefinidas adicionales para GKE a fin de resolver casos de uso más avanzados:
Role | Title | Description | Lowest resource |
---|---|---|---|
roles/ |
Kubernetes Engine Admin |
Provides access to full management of clusters and their Kubernetes API objects.
To set a service account on nodes, you must also have the Service Account User role
( |
|
roles/ |
Kubernetes Engine KMS Crypto Key User | Allow the Kubernetes Engine service agent in the cluster project to call KMS with user provided crypto keys to sign payloads. | |
roles/ |
Kubernetes Engine Cluster Admin |
Provides access to management of clusters.
To set a service account on nodes, you must also have the Service Account User role
( |
|
roles/ |
Kubernetes Engine Cluster Viewer |
Provides access to get and list GKE clusters. |
|
roles/ |
Kubernetes Engine Default Node Service Account | Least privilege role to use as the default service account for GKE Nodes. | |
roles/ |
Kubernetes Engine Developer |
Provides access to Kubernetes API objects inside clusters. |
|
roles/ |
Kubernetes Engine Host Service Agent User |
Allows the Kubernetes Engine service account in the host project to configure shared network resources for cluster management. Also gives access to inspect the firewall rules in the host project. |
|
roles/ |
Kubernetes Engine Viewer |
Provides read-only access to resources within GKE clusters, such as nodes, pods, and GKE API objects. |
|
Asigna las funciones de Cloud Foundry a Kf
Cloud Foundry proporciona funciones que son similares a las funciones predefinidas de Kf. Cloud Foundry tiene dos tipos principales de funciones:
- Funciones asignadas por el subsistema de cuenta de usuario y de autenticación (UAA) que proporciona alcances de OAuth poco específicos para todos los extremos de la API de Cloud Foundry.
- Funciones otorgadas dentro de la API de Cloud Controller (CAPI) que proporcionan acceso detallado a los recursos de la API.
Funciones de UAA
Las funciones que proporciona UAA son más similares a las funciones de IAM a nivel del proyecto:
- Los usuarios administradores de Cloud Foundry pueden realizar actividades administrativas para todas las organizaciones y espacios de Cloud Foundry. La función es más similar a la función
roles/container.admin
de IAM. - Los usuarios administradores de solo lectura de Cloud Foundry pueden acceder a todos los extremos de la API de Cloud Foundry. La función es más similar a la función
roles/container.admin
de IAM. - Los usuarios auditores globales de Cloud Foundry tienen acceso de lectura a todos los extremos de la API de Cloud Foundry, excepto los secretos. No existe una función de IAM equivalente, pero puedes crear una función personalizada con permisos similares.
Funciones de la API de Cloud Controller
Las funciones que proporciona CAPI son más similares a las funciones de Kf otorgadas dentro de un clúster a los sujetos que tienen la función de IAM roles/container.viewer
en el proyecto propietario:
- Los auditores de espacios de Cloud Foundry tienen acceso de lectura a los recursos en un espacio de CF.
La función es más similar a la función
space-auditor
de Kf. - Los desarrolladores de espacios de Cloud Foundry tienen la capacidad de implementar y administrar aplicaciones en un espacio de CF.
La función es más similar a la función
space-developer
de Kf. - Los administradores de espacios en Cloud Foundry pueden modificar la configuración del espacio de CF y asignar usuarios a las funciones.
La función es más similar a la función
space-manager
de Kf.
¿Qué sigue?
- Obtén más información sobre la seguridad de GKE en la Descripción general de seguridad.
- Asegúrate de comprender el modelo de responsabilidad compartida de GKE.
- Obtén más información sobre el control de acceso en GKE.
- Lee la descripción general de clústeres de instancia múltiple de GKE.
- Obtén información sobre el endurecimiento de tu clúster de GKE.
- Información sobre los permisos de Kubernetes que conforman cada función predefinida de Kf.