En esta página se describen las prácticas de gestión de identidades y accesos (IAM) para el operador de aplicaciones (AO) en el dispositivo aislado de Google Distributed Cloud (GDC).
Un proveedor de identidades (IdP) es una entidad del sistema que crea, mantiene y gestiona información de identidad de las entidades. El IdP también proporciona servicios de autenticación a las aplicaciones de una federación o una red distribuida.
Iniciar sesión
En esta sección se describe cómo acceder a tus cargas de trabajo a través de la interfaz de usuario (IU) web o de la interfaz de línea de comandos (CLI).
Iniciar sesión en la interfaz de usuario web
En esta página se explica cómo acceder a tus cargas de trabajo y recursos, y cómo gestionarlos, en el dispositivo air-gapped de Google Distributed Cloud (GDC). En él se describe cómo autenticar, generar archivos kubeconfig para un servidor de la API Management y un clúster de Kubernetes, y gestionar la inactividad de las sesiones. Conocer estos procesos garantiza un acceso seguro y fiable a tus proyectos y cargas de trabajo.
Accede a tus cargas de trabajo a través de la consola de GDC o de la CLI de gdcloud.
Iniciar sesión
Para iniciar sesión en la consola de GDC o en un clúster, sigue estos pasos:
Consola
Abre la siguiente URL en una nueva pestaña del navegador para acceder a la interfaz de usuario del dispositivo aislado de GDC:
https://GDC_URL
Sustituye GDC_URL por el nombre de dominio que usas para acceder a GDC y que te proporciona el operador de infraestructura (IO). Cuando abres cualquier URL por primera vez, GDC te redirige a la página de inicio de sesión de tu proveedor de identidades si el operador de infraestructura (IO) ha configurado la página.
Por ejemplo, la página siguiente se muestra después de iniciar sesión en la consola de una organización llamada `org-1`:

CLI
Puedes iniciar sesión en cualquier clúster al que tengas permiso para acceder. El proceso de inicio de sesión de la CLI es el mismo para todos los clústeres. Solo debes proporcionar el nombre del clúster y su archivo kubeconfig relacionado, así como iniciar sesión por separado en cada clúster.
Antes de iniciar sesión, haz lo siguiente:
- Descarga el archivo binario de la CLI de gdcloud e instálalo en tu sistema. Para obtener más información, consulta Descargar la CLI de gdcloud.
- Configura e inicializa la configuración predeterminada de la CLI de gdcloud. Asegúrate de definir la URL de la organización correcta, que se usa para obtener el endpoint de configuración de inicio de sesión. Para obtener más información, consulta Instalación de la CLI de gdcloud.
- Instala el complemento de autenticación
gdcloud-k8s-auth-plugin. Para obtener más información, consulta Autenticación de la CLI de gdcloud.
Para iniciar sesión en un clúster, sigue estos pasos:
Autentica tu instancia de la CLI gdcloud para iniciar sesión. Hay dos formas de autenticarte:
Inicio de sesión estándar en el navegador: usa este flujo de autenticación cuando inicies sesión desde un navegador.
gdcloud auth loginInicio de sesión en un dispositivo secundario: usa este flujo de autenticación si tu dispositivo principal no tiene un navegador disponible. Este flujo inicia la sesión en el dispositivo principal sin acceso al navegador y continúa la sesión con el dispositivo secundario, que sí tiene acceso al navegador.
Inicia sesión en tu dispositivo principal sin navegador:
gdcloud auth login --no-browserEl comando del dispositivo principal imprime otro comando
gdcloudque debes ejecutar en el dispositivo secundario en el paso c.Repite el paso 1 de Iniciar sesión en un clúster para descargar el certificado en el dispositivo secundario.
Completa el inicio de sesión en el dispositivo secundario introduciendo el comando impreso en el dispositivo principal en el paso a.
Con esta acción, se abre un navegador para iniciar sesión en el proveedor de identidades (IdP) configurado. Proporciona el usuario y la contraseña que definiste durante la configuración inicial de la CLI de gdcloud para iniciar sesión.
Exporta tu archivo
kubeconfigde identidad de usuario como una variable:export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yamlGenera un archivo
kubeconfigcon tu identidad de usuario:gdcloud clusters get-credentials CLUSTER_NAMESe genera un archivo
kubeconfigcon tu identidad de usuario. En el siguiente archivo YAML se muestra un ejemplo:apiVersion: v1 clusters: - cluster: certificate-authority-data: <REDACTED> server: https://10.200.0.32:443 name: cluster-name contexts: - context: cluster: cluster-name user: cluster-name-anthos-default-user name: cluster-name-cluster-name-anthos-default-user current-context: cluster-name-cluster-name-anthos-default-user kind: Config preferences: {} users: - name: cluster-name-anthos-default-user user: exec: apiVersion: client.authentication.k8s.io/v1 args: - --audience=root-admin command: gdcloud-k8s-auth-plugin env: null installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin interactiveMode: Never provideClusterInfo: falsePara verificar que puedes acceder al clúster, inicia sesión con el archivo
kubeconfiggenerado con una identidad de usuario:kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
Cierra sesión
Para cerrar sesión en la consola de GDC, sigue estos pasos:
Consola
En la barra de menús, haga clic en Cerrar sesión.

CLI
Cierra sesión en la CLI:
gdcloud auth revoke
Generar manualmente el archivo kubeconfig
Si gestionas recursos con la CLI de kubectl llamando directamente a las APIs de KRM, debes generar el archivo kubeconfig del clúster que aloja tu recurso, en función del tipo de recurso que estés gestionando. Consulta la documentación del recurso para determinar el archivo kubeconfig que necesitas.
Completa la configuración correspondiente según el tipo de recurso.
Recursos del servidor de la API Management
Sigue estos pasos para generar el archivo kubeconfig del servidor de la API Management:
Define la variable de entorno
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER="root-admin"Genera el archivo kubeconfig del servidor de la API Management y valida las credenciales:
export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"El comando
rm ${KUBECONFIG:?}elimina el archivo kubeconfig del directorio principal. Cuando generas un archivo kubeconfig, se sobrescribe el archivo que ya tenías. Si no quieres sobrescribir ni eliminar el archivo, haz una copia de seguridad en otra ubicación segura.
Recursos de clúster de Kubernetes
Sigue estos pasos para generar el archivo kubeconfig del clúster de Kubernetes de hardware desnudo:
Define la variable de entorno
KUBERNETES_CLUSTER:export KUBERNETES_CLUSTER="root-infra"Genera el archivo kubeconfig del clúster de Kubernetes y valida las credenciales:
export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"El comando
rm ${KUBECONFIG:?}elimina el archivo kubeconfig del directorio principal. Cuando generas un archivo kubeconfig, se sobrescribe el archivo que ya tenías. Si no quieres sobrescribir ni eliminar el archivo, haz una copia de seguridad en otra ubicación segura.
Cierre de sesión por inactividad
Después de quince minutos o más de inactividad en una sesión, la consola de GDC y la CLI de gdcloud cierran tu sesión. GDC considera que una sesión está inactiva cuando no hay ninguna interacción activa por tu parte durante una sesión abierta, como el movimiento del cursor o el teclado. Una sesión activa dura hasta doce horas si el usuario realiza alguna actividad.
Consola
En caso de inactividad en la sesión, la consola de GDC cierra tu sesión. Dos minutos antes de que la consola de GDC cierre tu sesión por inactividad, recibirás un cuadro de diálogo que te avisará de que se va a cerrar la sesión:

Después de cerrar tu sesión por inactividad, verás la siguiente pantalla:

Para volver a iniciar sesión en la consola de GDC, selecciona tu proveedor de identidad y añade tus credenciales de inicio de sesión. Si usas un servicio, como el panel de control de monitorización, y la consola de GDC cierra tu sesión por inactividad, vuelve a iniciar sesión para obtener acceso.
CLI
En el caso de inactividad en la sesión, la CLI de gdcloud cierra la sesión. Después de que la CLI de gdcloud cierre tu sesión y tú intentes ejecutar un comando, recibirás un error de autorización:
Error: error when creating kube client: unable to create k8sclient: Unauthorized
Para volver a iniciar sesión en la CLI de gdcloud, sigue los pasos de la CLI que se indican en Iniciar sesión.
kubectl
La CLI de gdcloud hace que tus archivos kubeconfig caduquen tras un periodo de inactividad de la sesión. Si intentas ejecutar un comando kubectl después de un periodo de inactividad, recibirás un error de autorización:
error: You must be logged in to the server (Unauthorized)
Para volver a iniciar sesión y usar el archivo kubeconfig, sigue los pasos de la CLI que se indican en Iniciar sesión. Cada vez que se agote el tiempo de espera de una sesión, debes volver a generar los archivos kubeconfig.
Definir políticas de gestión de identidades y accesos de permiso
Descripciones de los roles predefinidos
Un operador de aplicaciones (AO) es miembro del equipo de desarrollo de la organización del administrador de la plataforma (PA). Los AOs interactúan con recursos a nivel de proyecto. Puedes asignar los siguientes roles predefinidos a los miembros del equipo:
- Administrador de gestión de identidades y accesos de proyectos: gestiona las políticas de permiso de gestión de identidades y accesos de los proyectos.
- Desarrollador de OCR con IA: accede al servicio de reconocimiento óptico de caracteres para detectar texto en imágenes.
- Desarrollador de voz con IA: accede al servicio Speech-to-Text para reconocer la voz y transcribir audio.
- Desarrollador de traducción con IA: accede al servicio Vertex AI Translation para traducir texto.
- Administrador de gestión de artefactos: tiene acceso de administrador a los recursos de todos los proyectos de Harbor del espacio de nombres del proyecto.
- Editor de gestión de artefactos: tiene acceso de lectura y escritura a los recursos de todos los proyectos de Harbor del espacio de nombres del proyecto.
- Administrador del servicio de autoridades de certificación: tiene acceso para gestionar autoridades de certificación y solicitudes de certificados en su proyecto.
- Administrador del servicio de certificados: tiene acceso para gestionar certificados y emisores de certificados en su proyecto.
- Editor de panel de control: tiene acceso de lectura y escritura a los
Dashboardrecursos personalizados. - Lector del panel de control: tiene acceso de solo lectura a los
Dashboardrecursos personalizados. - Administrador de instancias de Harbor: tiene acceso completo para gestionar instancias de Harbor en un proyecto.
- Lector de instancias de Harbor: tiene acceso de solo lectura para ver instancias de Harbor en un proyecto.
- Creador de proyectos de Harbor: tiene acceso para gestionar proyectos de instancias de Harbor.
- Administrador de políticas de red de K8s: gestiona las políticas de red en clústeres de Kubernetes.
- Creador de LoggingRule: crea recursos personalizados de
LoggingRuleen el espacio de nombres del proyecto. - Editor de LoggingRule: edita recursos personalizados de
LoggingRuleen el espacio de nombres del proyecto. - LoggingRule Viewer: ve los recursos personalizados de
LoggingRuleen el espacio de nombres del proyecto. - Creador de LoggingTarget: crea recursos personalizados
LoggingTargeten el espacio de nombres del proyecto. - Editor LoggingTarget: edita recursos personalizados de
LoggingTargeten el espacio de nombres del proyecto. - LoggingTarget Viewer: ve los recursos personalizados de
LoggingTargeten el espacio de nombres del proyecto. - Administrador de balanceadores de carga: tiene permisos de lectura y escritura en todos los recursos de balanceadores de carga del espacio de nombres del proyecto.
- Editor de MonitoringRule: tiene acceso de lectura y escritura a los recursos de
MonitoringRule. - Visor de MonitoringRule: tiene acceso de solo lectura a los
MonitoringRulerecursos personalizados. - Editor de MonitoringTarget: tiene acceso de lectura y escritura a los
MonitoringTargetrecursos personalizados. - Visor de MonitoringTarget: tiene acceso de solo lectura a los
MonitoringTargetrecursos personalizados. - Lector de NAT: tiene acceso de solo lectura a las implementaciones en clústeres de Kubernetes.
- Administrador del espacio de nombres: gestiona todos los recursos del espacio de nombres del proyecto.
- Editor de ObservabilityPipeline: tiene acceso de lectura y escritura a los recursos personalizados de
ObservabilityPipeine. - ObservabilityPipeline Viewer (Visor de ObservabilityPipeline): tiene acceso de solo lectura a los recursos personalizados de
ObservabilityPipeline. - Administrador de segmentos de proyectos: gestiona los segmentos de almacenamiento y los objetos de los segmentos.
- Administrador de objetos de segmento de proyecto: tiene acceso de solo lectura a los segmentos de un proyecto y acceso de lectura y escritura a los objetos de esos segmentos.
- Lector de objetos de segmentos de proyectos: tiene acceso de solo lectura a los segmentos de un proyecto y a los objetos de esos segmentos.
- Editor de Alertmanager de Project Cortex: otorga permisos para editar la instancia de Alertmanager de Cortex en el espacio de nombres del proyecto.
- Lector de Alertmanager de Project Cortex: concede permisos para acceder a la instancia de Alertmanager de Cortex en el espacio de nombres del proyecto.
- Lector de Prometheus de Project Cortex: concede permisos para acceder a la instancia de Prometheus de Cortex en el espacio de nombres del proyecto.
- Lector de Grafana del proyecto: accede a la instancia de Grafana en el espacio de nombres del proyecto del clúster de administrador de la flota.
- Administrador de NetworkPolicy de proyecto: gestiona las políticas de red del proyecto en el espacio de nombres del proyecto.
- Lector de proyectos: tiene acceso de solo lectura a todos los recursos de los espacios de nombres del proyecto.
- Administrador de máquinas virtuales del proyecto: gestiona las VMs en el espacio de nombres del proyecto.
- Administrador de imágenes de máquina virtual de proyecto: gestiona las imágenes de máquina virtual en el espacio de nombres del proyecto.
- Administrador de secretos: gestiona los secretos de Kubernetes en los proyectos.
- Lector de secretos: consulta los secretos de Kubernetes en los proyectos.
- Administrador de configuración de servicios: tiene acceso de lectura y escritura a las configuraciones de servicios de un espacio de nombres de un proyecto.
- Lector de configuración de servicio: tiene acceso de lectura a las configuraciones de servicio en un espacio de nombres de proyecto.
- Administrador de replicación de volúmenes: gestiona los recursos de replicación de volúmenes.
- Administrador de cuadernos de Workbench: obtiene acceso de lectura y escritura a todos los recursos de cuadernos de un espacio de nombres de un proyecto.
- Lector de cuadernos de Workbench: obtiene acceso de solo lectura a todos los recursos de cuadernos de un espacio de nombres de un proyecto y puede ver la interfaz de usuario de Vertex AI Workbench.
- Lector de cargas de trabajo: tiene acceso de lectura a las cargas de trabajo de un proyecto.
Roles comunes
Los siguientes roles comunes predefinidos se aplican a todos los usuarios autenticados:
- Visor de AI Platform: otorga permisos para ver servicios preentrenados.
- Visor de sufijos DNS: accede al mapa de configuración del sufijo del servicio de nombres de dominio (DNS).
- Administrador de registros de flujo: tiene acceso de lectura y escritura a todos los recursos de registros de flujo.
- Lector de registros de flujo: tiene acceso de solo lectura a todos los recursos de registros de flujo.
- Lector de Project Discovery: tiene acceso de lectura para todos los usuarios autenticados a la vista del proyecto.
- Visor de imágenes públicas: tiene acceso de lectura para todos los usuarios autenticados en las imágenes de VM públicas del espacio de nombres
vm-images. - Monitor de secretos de Artifact Registry del sistema anthos-creds: tiene acceso de solo lectura a los secretos del espacio de nombres
anthos-creds. - Monitor de secretos de Artifact Registry del sistema gpc-system: tiene acceso de solo lectura a los secretos del espacio de nombres
gpc-system. - Monitor de secretos de harbor-system del registro de artefactos del sistema: tiene acceso de solo lectura a los secretos del espacio de nombres
harbor-system. - Visor de tipos de máquinas virtuales: tiene acceso de lectura a los tipos de máquinas virtuales con ámbito de clúster.
- Visor de tipos de VM: tiene acceso de lectura a los tipos de máquinas virtuales predefinidos en los clústeres de administrador.
Definiciones de roles
En las tablas de esta sección se describen los diferentes roles predefinidos y sus permisos. Las tablas contienen las siguientes columnas:
- Nombre: el nombre de un rol que se muestra en la interfaz de usuario.
- Nombre del recurso de Kubernetes: nombre del recurso personalizado de Kubernetes correspondiente.
- Nivel: especifica si este rol se limita a la organización o a un proyecto.
- Type: el tipo de este rol. Por ejemplo, algunos valores posibles son
Role,ProjectRole,ClusterRoleoProjectClusterRole. - Tipo de vinculación: el tipo de vinculación que debes aplicar a este rol.
- Permisos del servidor de la API de gestión o del clúster de Kubernetes: los permisos que tiene este rol para el servidor de la API de gestión o el clúster de Kubernetes. Por ejemplo, algunos valores posibles son lectura, escritura, lectura y escritura, o no aplicable (N/A).
- Deriva a: especifica si este rol deriva a otros roles o no.
Perfil de AO, identidad predefinida y roles de acceso
| Perfil de AO | ||||
|---|---|---|---|---|
| Nombre | Nombre del recurso de Kubernetes | Administrador inicial | Nivel | Tipo |
| Administrador de gestión de identidades y accesos de proyectos | project-iam-admin |
Verdadero | Proyecto | Role |
| Desarrollador de OCR con IA | ai-ocr-developer |
Falso | Proyecto | Role |
| Visor de AI Platform | ai-platform-viewer |
Falso | Proyecto | Role |
| Desarrollador de IA de voz | ai-speech-developer |
Falso | Proyecto | Role |
| Desarrollador de traducción con IA | ai-translation-developer |
Falso | Proyecto | Role |
| Administrador de gestión de artefactos | artifact-management-admin |
Falso | Proyecto | Role |
| Editor de gestión de artefactos | artifact-management-editor |
Falso | Proyecto | Role |
| Administrador del Servicio de Autoridades de Certificación | certificate-authority-service-admin |
Falso | Proyecto | Role |
| Administrador del servicio de certificados | certificate-service-admin |
Falso | Proyecto | Role |
| Editor de paneles de control | dashboard-editor |
Falso | Proyecto | Role |
| Lector del panel de control | dashboard-viewer |
Falso | Proyecto | Role |
| Administrador de instancias de Harbor | harbor-instance-admin |
Falso | Proyecto | Role |
| Visor de instancias de Harbor | harbor-instance-viewer |
Falso | Proyecto | Role |
| Creador de proyectos de Harbor | harbor-project-creator |
Falso | Proyecto | Role |
| Administrador de políticas de red de K8s | k8s-networkpolicy-admin |
Falso | Proyecto | ProjectRole |
| Administrador de balanceadores de carga | load-balancer-admin |
Falso | Proyecto | ProjectRole |
| LoggingRule Creator | loggingrule-creator |
Falso | Proyecto | Role |
| Editor de LoggingRule | loggingrule-editor |
Falso | Proyecto | Role |
| Visualizador de LoggingRule | loggingrule-viewer |
Falso | Proyecto | Role |
| LoggingTarget Creator | loggingtarget-creator |
Falso | Proyecto | Role |
| Editor de LoggingTarget | loggingtarget-editor |
Falso | Proyecto | Role |
| Lector de LoggingTarget | loggingtarget-viewer |
Falso | Proyecto | Role |
| Editor de MonitoringRule | monitoringrule-editor |
Falso | Proyecto | Role |
| MonitoringRule Viewer | monitoringrule-viewer |
Falso | Proyecto | Role |
| Editor de MonitoringTarget | monitoringtarget-editor |
Falso | Proyecto | Role |
| Lector de MonitoringTarget | monitoringtarget-viewer |
Falso | Proyecto | Role |
| Administrador de espacios de nombres | namespace-admin |
Falso | Proyecto | ProjectRole |
| Visor de NAT | nat-viewer |
Falso | Proyecto | ProjectRole |
| Editor de ObservabilityPipeline | observabilitypipeline-editor |
Falso | Proyecto | Role |
| Lector de ObservabilityPipeline | observabilitypipeline-viewer |
Falso | Proyecto | Role |
| Administrador de cubos de proyectos | project-bucket-admin |
Falso | Proyecto | Role |
| Administrador de objetos de segmentos de proyectos | project-bucket-object-admin |
Falso | Proyecto | Role |
| Lector de objetos de segmentos de proyectos | project-bucket-object-viewer |
Falso | Proyecto | Role |
| Editor de Alertmanager de Project Cortex | project-cortex-alertmanager-editor |
Falso | Proyecto | Role |
| Lector de Alertmanager de Project Cortex | project-cortex-alertmanager-viewer |
Falso | Proyecto | Role |
| Visor de Prometheus de Project Cortex | project-cortex-prometheus-viewer |
Falso | Proyecto | Role |
| Lector de Grafana de proyectos | project-grafana-viewer |
Falso | Proyecto | Role |
| Administrador de NetworkPolicy de proyecto | project-networkpolicy-admin |
Falso | Proyecto | Role |
| Lector de proyectos | project-viewer |
Falso | Proyecto | Role |
| Administrador de VirtualMachine de proyectos | project-vm-admin |
Falso | Proyecto | Role |
| Administrador de imágenes de máquinas virtuales de proyectos | project-vm-image-admin |
Falso | Proyecto | Role |
| Administrador de secretos | secret-admin |
Falso | Proyecto | Role |
| Lector de secretos | secret-viewer |
Falso | Proyecto | Role |
| Administrador de configuración de servicios | service-configuration-admin |
Falso | Proyecto | Role |
| Lector de configuración de servicios | service-configuration-viewer |
Falso | Proyecto | Role |
| Administrador de cuadernos de Workbench | workbench-notebooks-admin |
Falso | Proyecto | Role |
| Administrador de replicación de volumen | app-volume-replication-admin |
Falso | Clúster | Role |
| Visor de cuadernos de Workbench | workbench-notebooks-viewer |
Falso | Proyecto | Role |
| Lector de cargas de trabajo | workload-viewer |
Falso | Proyecto | Role |
Perfil de AO, identidad predefinida y roles de acceso
| Perfil de AO | ||||
|---|---|---|---|---|
| Nombre | Tipo de vinculación | Permisos del servidor de la API Management | Permisos de clúster de Kubernetes | Derivar a |
| Administrador de gestión de identidades y accesos de proyectos | RoleBinding |
|
N/A | Todos los demás roles de AO |
| Desarrollador de OCR con IA | RoleBinding |
Recursos de reconocimiento óptico de caracteres: lectura y escritura | N/A | N/A |
| Desarrollador de IA de voz | RoleBinding |
Recursos de voz: lectura y escritura | N/A | N/A |
| Desarrollador de traducción con IA | RoleBinding |
Recursos de traducción: lectura y escritura | N/A | N/A |
| Administrador de gestión de artefactos | RoleBinding |
HarborProjects: administrador, crear, leer, escribir, eliminar y ver |
N/A | N/A |
| Editor de gestión de artefactos | RoleBinding |
HarborProjects: leer, escribir y ver |
N/A | N/A |
| Administrador del Servicio de Autoridades de Certificación | RoleBinding |
Autoridades de certificación y solicitudes de certificados: obtener, enumerar, monitorizar, actualizar, crear, eliminar y parchear | N/A | N/A |
| Administrador del servicio de certificados | RoleBinding |
Certificados y emisores de certificados: obtener, mostrar, monitorizar, actualizar, crear, eliminar y aplicar parches | N/A | N/A |
| Editor de paneles de control | RoleBinding |
Dashboard recursos personalizados: obtener, leer, crear, actualizar, eliminar y parchear |
N/A | N/A |
| Lector del panel de control | RoleBinding |
Dashboard: obtener y leer |
N/A | N/A |
| Administrador de instancias de Harbor | RoleBinding |
Instancias de Harbor: crear, leer, actualizar, eliminar y aplicar parches | N/A | N/A |
| Visor de instancias de Harbor | RoleBinding |
Instancias de Harbor: lectura | N/A | N/A |
| Creador de proyectos de Harbor | RoleBinding |
Proyectos de instancias de Harbor: crear, obtener y ver | N/A | N/A |
| Administrador de NetworkPolicy de K8s | ProjectRoleBinding |
N/A | Recursos de NetworkPolicy: crear, leer, obtener, actualizar, eliminar y parchear |
N/A |
| Administrador de balanceadores de carga | RoleBinding |
N/A |
|
N/A |
| LoggingRule Creator | RoleBinding |
LoggingRule recursos personalizados: crear, leer, actualizar, eliminar y aplicar parches |
N/A | N/A |
| Editor de LoggingRule | RoleBinding |
LoggingRule recursos personalizados: crear, leer, actualizar, eliminar y aplicar parches |
N/A | N/A |
| Visualizador de LoggingRule | RoleBinding |
LoggingRule recursos personalizados: consulta |
N/A | N/A |
| LoggingTarget Creator | RoleBinding |
LoggingTarget recursos personalizados: crear, leer, actualizar, eliminar y aplicar parches |
N/A | N/A |
| Editor de LoggingTarget | RoleBinding |
LoggingTarget recursos personalizados: crear, leer, actualizar, eliminar y aplicar parches |
N/A | N/A |
| Lector de LoggingTarget | RoleBinding |
LoggingTarget recursos personalizados: consulta |
N/A | N/A |
| Editor de MonitoringRule | RoleBinding |
MonitoringRule recursos personalizados: crear, leer, actualizar, eliminar y aplicar parches |
N/A | N/A |
| MonitoringRule Viewer | RoleBinding |
MonitoringRule recursos personalizados: consulta |
N/A | N/A |
| Editor de MonitoringTarget | RoleBinding |
MonitoringTarget recursos personalizados: crear, leer, actualizar, eliminar y aplicar parches |
N/A | N/A |
| Lector de MonitoringTarget | RoleBinding |
MonitoringTarget recursos personalizados: consulta |
N/A | N/A |
| Administrador de espacios de nombres | ProjectRoleBinding |
N/A | Todos los recursos: acceso de lectura y escritura en el espacio de nombres del proyecto | N/A |
| Visor de NAT | ProjectRoleBinding |
N/A | Despliegues: obtener y leer | N/A |
| Editor de ObservabilityPipeline | RoleBinding |
Recursos de ObservabilityPipeline: obtener, leer, crear, actualizar, eliminar y parchear |
N/A | N/A |
| Lector de ObservabilityPipeline | RoleBinding |
Recursos de ObservabilityPipeline: obtener y leer |
N/A | N/A |
| Administrador de cubos de proyectos | RoleBinding |
Bucket: leer y escribir en el espacio de nombres del proyecto | N/A | N/A |
| Administrador de objetos de segmentos de proyectos | RoleBinding |
|
N/A | N/A |
| Lector de objetos de segmentos de proyectos | RoleBinding |
Segmentos y objetos: lectura | N/A | N/A |
| Editor de Alertmanager de Project Cortex | RoleBinding |
Sistema Cortex y Cortex Alertmanager: lectura y escritura | N/A | N/A |
| Lector de Alertmanager de Project Cortex | RoleBinding |
Sistema Cortex y Cortex Alertmanager: lee | N/A | N/A |
| Visor de Prometheus de Project Cortex | RoleBinding |
Sistema Cortex y Cortex Prometheus: lee | N/A | N/A |
| Lector de Grafana de proyectos | RoleBinding |
Sistema Grafana y Grafana: lectura y escritura | N/A | N/A |
| Administrador de NetworkPolicy de proyecto | RoleBinding |
Políticas de red del proyecto: lectura y escritura en el espacio de nombres del proyecto | N/A | N/A |
| Lector de proyectos | RoleBinding |
Todos los recursos del espacio de nombres del proyecto: lectura | N/A | N/A |
| Administrador de VirtualMachine de proyectos | RoleBinding |
|
N/A | N/A |
| Administrador de imágenes de máquinas virtuales de proyectos | RoleBinding |
|
N/A | N/A |
| Administrador de secretos | RoleBinding |
Secretos de Kubernetes: leer, crear, actualizar, eliminar y aplicar parches | N/A | N/A |
| Lector de secretos | RoleBinding |
Secretos de Kubernetes: lectura | N/A | N/A |
| Administrador de configuración de servicios | RoleBinding |
ServiceConfigurations: lectura y escritura
|
N/A | N/A |
| Lector de configuración de servicios | RoleBinding |
ServiceConfigurations: leído
|
N/A | N/A |
| Administrador de replicación de volumen | ClusterRoleBinding |
Volume failovers, volume relationship replicas:
Crear, obtener, enumerar, ver y eliminar
|
N/A | N/A |
| Administrador de cuadernos de Workbench | RoleBinding |
N/A |
|
N/A |
| Visor de cuadernos de Workbench | RoleBinding |
N/A |
|
N/A |
| Lector de cargas de trabajo | ProjectRoleBinding |
N/A |
|
N/A |
Roles de identidad y acceso predefinidos comunes
| Roles habituales | ||||
|---|---|---|---|---|
| Nombre | Nombre del recurso de Kubernetes | Administrador inicial | Nivel | Tipo |
| Visor de AI Platform | ai-platform-viewer |
Falso | Proyecto | Role |
| Visor de sufijos DNS | dnssuffix-viewer |
Falso | Organización | Role |
| Administrador de registros de flujo | flowlog-admin |
Falso | Organización | ClusterRole |
| Visualizador de registros de flujo | flowlog-viewer |
Falso | Proyecto | ClusterRole |
| Visor de descubrimiento de proyectos | projectdiscovery-viewer |
Falso | Proyecto | ClusterRole |
| Visor de imágenes públicas | public-image-viewer |
Falso | Organización | Role |
| Monitor de secretos de Artifact Registry del sistema anthos-creds | sar-anthos-creds-secret-monitor |
Falso | Organización | Role |
| Monitor de secretos de gpc-system de Artifact Registry del sistema | sar-gpc-system-secret-monitor |
Falso | Organización | Role |
| Monitor de secretos de Artifact Registry del sistema de Harbor | sar-harbor-system-secret-monitor |
Falso | Organización | Role |
| Visor de tipo de máquina virtual | virtualmachinetype-viewer |
Falso | Organización | OrganizationRole |
| Lector de tipos de VM | vmtype-viewer |
Falso | Organización | Role |
Roles de identidad y acceso predefinidos comunes
| Roles habituales | ||||
|---|---|---|---|---|
| Nombre | Tipo de vinculación | Permisos de clúster de administrador | Permisos de clúster de Kubernetes | Derivar a |
| Visor de AI Platform | RoleBinding |
Servicios preentrenados: Read | N/A | N/A |
| Visor de sufijos DNS | ClusterRoleBinding |
Maps de configuración de sufijos DNS: lectura | N/A | N/A |
| Administrador de registros de flujo | ClusterRoleBinding |
Recursos de registro de flujo: obtener y leer | Recursos de registro de flujo: obtener y leer | N/A |
| Visualizador de registros de flujo | ClusterRoleBinding |
Recursos de registros de flujo: crear, obtener, leer, parchear, actualizar y eliminar | Recursos de registros de flujo: crear, obtener, leer, parchear, actualizar y eliminar | N/A |
| Visor de descubrimiento de proyectos | ClusterRoleBinding |
Proyectos: lectura | N/A | N/A |
| Visor de imágenes públicas | RoleBinding |
Imágenes de máquinas virtuales: leer | N/A | N/A |
| Monitor de secretos de Artifact Registry del sistema anthos-creds | RoleBinding |
anthos-creds secretos: obtener y leer |
anthos-creds secretos: obtener y leer |
N/A |
| Monitor de secretos de gpc-system de Artifact Registry del sistema | RoleBinding |
gpc-system secretos: obtener y leer |
gpc-system secretos: obtener y leer |
N/A |
| Monitor de secretos de Artifact Registry del sistema de Harbor | RoleBinding |
harbor-system secretos: obtener y leer |
harbor-system secretos: obtener y leer |
N/A |
| Visor de tipo de máquina virtual | OrganizationRoleBinding |
N/A | Tipos de máquinas virtuales: lectura | N/A |
| Lector de tipos de VM | ClusterRoleBinding |
Tipos de máquinas virtuales: lectura | N/A | N/A |
Hay dos formas de conceder acceso a los recursos:
Configurar vinculaciones de roles mediante la CLI
Acceso de AO en el clúster de administración
A diferencia de los operadores de infraestructura (IO) y los administradores de plataformas (PA),
GDC vincula a los operadores de aplicaciones (AO) a un Project
mediante un RoleBinding, en lugar de un ClusterRoleBinding.
Para conceder acceso a un AO al clúster de administrador, sigue estos pasos:
Exporta el correo que usas para acceder a la cuenta de administrador. Por ejemplo, un correo como el siguiente:
ao-alice@example.com.export AO_EMAIL=AO_EMAILCrea un enlace de rol para conceder acceso de
${AO_EMAIL}administrador de gestión de identidades y accesos de proyectosiam-testen el espacio de nombres${AO_EMAIL}iam-test:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-iam-admin \ --role=project-iam-admin --user=$AO_EMAIL \ --namespace=iam-testEl rol
project-iam-admines un rol predefinido para GDC. El espacio de nombres de Kubernetesiam-testcorresponde al proyectoiam-testdel clúster de administrador.Verifica que la cuenta de AO tenga permisos para crear enlaces de roles en el espacio de nombres
iam-test:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n iam-testVerás el siguiente resultado:
yesCrea un enlace de rol para conceder acceso de lector de proyectos
${AO_EMAIL}en el espacio de nombresbar:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-viewer \ --role=project-viewer --user=$AO_EMAIL \ --namespace=barEl rol
project-vieweres un rol predefinido de GDC. El espacio de nombres de Kubernetesbarcorresponde al proyectobardel clúster orgadmin.Verifica que la cuenta de AO no tenga permisos para crear enlaces de rol en el espacio de nombres
bar:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n barVerás el siguiente resultado:
noOpcional: Elimina el enlace de rol para revocar el permiso concedido a la cuenta de administrador de organización:
kubectl --kubeconfig PA_KUBECONFIG delete rolebinding $AO_EMAIL-project-iam-admin -n iam-test
Acceso de AO en clústeres de usuarios
Un AO usa recursos de ProjectRole y ProjectRoleBinding para obtener acceso al espacio de nombres de los clústeres de usuarios. Sin embargo, los administradores principales pueden conceder permisos a toda la organización en clústeres de usuarios mediante los recursos predefinidos OrganizationRole y ProjectRoleBinding.
Sigue estos pasos para dar acceso a los clusters de usuarios a los AOs:
Para conceder acceso a clústeres de usuarios, debes tener el rol de administrador de gestión de identidades y accesos del proyecto.
Crea un recurso
ProjectRoleBindingpara conceder acceso de administrador de${AO_EMAIL}Namespace en todos los clústeres de usuarios del espacio de nombresiam-test:kubectl --kubeconfig AO_KUBECONFIG apply -f - <<EOF apiVersion: resourcemanager.gdc.goog/v1 kind: ProjectRoleBinding metadata: name: ${AO_EMAIL%@*}-namespace-admin namespace: iam-test spec: roleRef: apiGroup: resourcemanager.gdc.goog kind: ProjectRole name: namespace-admin subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: ${AO_EMAIL} EOFSigue las instrucciones de la sección Iniciar sesión con la CLI y kubectl para obtener las credenciales de usuario del clúster de usuario y exportarlas en la variable
AO_USER_CLUSTER_KUBECONFIG:export AO_USER_CLUSTER_KUBECONFIG=GENERATED_KUBECONFIGVerifica que la cuenta de AO tenga permisos para crear implementaciones en el espacio de nombres
iam-test:kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} auth can-i create deployment -n iam-testVerás el siguiente resultado:
yesOpcional: Elimina las vinculaciones de roles del proyecto para revocar el permiso concedido a la cuenta de AO de prueba:
kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} delete projectrolebinding ${AO_EMAIL%@*}-namespace-admin -n iam-test
Configurar vinculaciones de roles en todo el proyecto mediante la interfaz de usuario
Un operador de aplicaciones añade otros operadores de aplicaciones al proyecto para que tengan acceso a los recursos del proyecto.
Para obtener los permisos que necesitas para configurar enlaces de roles, pide a tu administrador de gestión de identidades y accesos de proyectos que te conceda el rol Administrador de gestión de identidades y accesos de proyectos.
Sigue estos pasos para configurar las vinculaciones de roles:
- Inicia sesión en la consola del dispositivo GDC con air gap.
- Selecciona un proyecto.
- En el menú de navegación, haz clic en Gestión de acceso.
- Haz clic en Añadir miembro.
- En la lista Proveedor de identidades, seleccione un proveedor.
- Elige si quieres añadir usuarios concretos o grupos.
- En el campo Nombre de usuario o alias de grupo, introduce el nombre de usuario, la dirección de correo o el alias.
- En la lista Rol, selecciona el rol que quieras asignar al usuario o al grupo, como Lector de proyectos.
- Haz clic en Añadir.
Quitar vinculaciones de roles mediante la interfaz de usuario
Cuando ya no se necesite el acceso, quita al miembro y sus roles, permisos y acceso asociados.
Sigue estos pasos para quitar miembros:
- Inicia sesión en la consola del dispositivo GDC con air gap.
- Selecciona un proyecto.
- En el menú de navegación, haz clic en Gestión de acceso.
- En la lista Miembros autorizados, selecciona un miembro.
- Haz clic en Quitar miembro.
- Cuando se te indique, haz clic en Quitar miembro para confirmar la acción.