En esta página, se describen las prácticas de administración de identidades y accesos (IAM) para el operador de aplicaciones (AO) en el dispositivo aislado de Google Distributed Cloud (GDC).
Un proveedor de identidad (IdP) es una entidad del sistema que crea, mantiene y administra la información de identidad de los principales. El IdP también proporciona servicios de autenticación a las aplicaciones dentro de una federación o red distribuida.
Acceder
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 la interfaz de línea de comandos (CLI).
Accede a la IU web
En esta página, se explica cómo acceder a tus cargas de trabajo y recursos, y cómo administrarlos dentro del dispositivo aislado de Google Distributed Cloud (GDC). Describe cómo autenticarse, generar archivos kubeconfig para un servidor de la API de administración y un clúster de Kubernetes, y administrar la inactividad de la sesión. Comprender estos procesos garantiza un acceso seguro y confiable a tus proyectos y cargas de trabajo.
Accede a tus cargas de trabajo a través de la consola de GDC o la CLI de gdcloud.
Acceder
Para acceder a la consola de GDC o a un clúster, sigue estos pasos:
Console
Abre la siguiente URL en una nueva pestaña del navegador para acceder a la interfaz de usuario (IU) del dispositivo aislado de GDC:
https://GDC_URL
Reemplaza GDC_URL
por el nombre de dominio que usas para acceder a GDC y que proporciona el operador de infraestructura (IO). Cuando abres cualquier URL por primera vez, GDC te redirecciona a la página de acceso de tu proveedor de identidad si el operador de infraestructura (IO) configuró la página.
Por ejemplo, la siguiente página se muestra después de acceder a la consola de una organización llamada "org-1":
CLI
Puedes acceder a cualquier clúster al que tengas permiso para acceder. El proceso de acceso a la CLI es el mismo para todos los clústeres. Solo debes proporcionar el nombre del clúster y su archivo kubeconfig
relacionado, y acceder a cada clúster por separado.
Antes de acceder, asegúrate de hacer lo siguiente:
- Descarga el objeto binario de la CLI de gdcloud y, luego, instálalo en tu sistema. Para obtener más información, consulta Descarga la CLI de gdcloud.
- Configura e inicializa la configuración predeterminada de la CLI de gdcloud. Asegúrate de configurar la URL de la organización correcta, que se usa para recuperar el extremo de configuración de acceso. Para obtener más información, consulta Instalación de la CLI de gcloud.
- Instala el complemento de autenticación
gdcloud-k8s-auth-plugin
. Para obtener más información, consulta Autenticación de gcloud CLI.
Para acceder a un clúster, completa los siguientes pasos:
Autentica tu instancia de gcloud CLI para acceder. Existen dos formas de autenticación:
Acceso estándar desde el navegador: Usa este flujo de autenticación cuando accedas desde un navegador.
gdcloud auth login
Acceso en un dispositivo secundario: Usa este flujo de autenticación si tu dispositivo principal no tiene un navegador disponible. Este flujo inicia el acceso en el dispositivo principal sin acceso al navegador y continúa el acceso con el dispositivo secundario que tiene acceso al navegador.
Inicia el acceso en tu dispositivo principal sin navegador:
gdcloud auth login --no-browser
El comando en el dispositivo principal imprime otro comando
gdcloud
que debes ejecutar en el dispositivo secundario en el paso c.Repite el paso 1 de Accede a un clúster para descargar el certificado en el dispositivo secundario.
Para completar el acceso en el dispositivo secundario, ingresa el comando que se imprimió en el dispositivo principal en el paso a.
Esta acción abre un navegador para acceder al proveedor de identidad (IdP) configurado. Proporciona el usuario y la contraseña que configuraste durante la configuración inicial de la CLI de gcloud para acceder.
Exporta tu archivo de identidad del usuario
kubeconfig
como una variable:export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
Genera un archivo
kubeconfig
con la identidad del usuario:gdcloud clusters get-credentials CLUSTER_NAME
Se genera un archivo
kubeconfig
con la identidad del 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: false
Para verificar que puedes acceder al clúster, accede con el archivo
kubeconfig
generado con una identidad de usuario:kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
Salir
Para salir de la consola de GDC, haz lo siguiente:
Console
Haz clic en
Cerrar sesión en la barra de menú.CLI
Sal de la CLI:
gdcloud auth revoke
Genera manualmente el archivo kubeconfig
Si administras recursos con la CLI de kubectl llamando directamente a las APIs de KRM, debes generar el archivo kubeconfig para el clúster que aloja tu recurso, según el tipo de recurso que administres. Visita la documentación del recurso para determinar el archivo kubeconfig que necesitas.
Completa la configuración aplicable según tu tipo de recurso.
Recursos del servidor de la API de Management
Completa los siguientes pasos para generar tu archivo kubeconfig para el servidor de la API de Management:
Establece la variable de entorno
MANAGEMENT_API_SERVER
:export MANAGEMENT_API_SERVER="root-admin"
Genera el archivo kubeconfig del servidor de la API de 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:?}
quita el archivo kubeconfig existente en el directorio principal. Cuando generas un archivo kubeconfig nuevo, se reemplaza el existente. Si no quieres reemplazar o quitar el archivo existente, crea una copia de seguridad en otra ubicación segura.
Recursos del clúster de Kubernetes
Completa los siguientes pasos para generar tu archivo kubeconfig para el clúster de Kubernetes en equipos físicos:
Establece 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:?}
quita el archivo kubeconfig existente en el directorio principal. Cuando generas un archivo kubeconfig nuevo, se reemplaza el existente. Si no quieres reemplazar o quitar el archivo existente, crea 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 te desconectan. El GDC considera la inactividad de la sesión como un período durante una sesión abierta sin participación activa de tu parte, como la falta de movimiento del cursor o del teclado. Una sesión activa dura hasta doce horas con actividad del usuario.
Console
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 diálogo que te advertirá sobre el cierre de sesión:
Después de cerrar la sesión por inactividad, verás la siguiente pantalla:
Para volver a acceder a la consola de GDC, selecciona tu proveedor de identidad y agrega tus credenciales de acceso. Si usas un servicio, como el panel de supervisión, y la consola de GDC te desconecta por inactividad, vuelve a acceder para obtener acceso.
CLI
En caso de inactividad de la sesión, la CLI de gcloud cierra tu sesión. Después de que la CLI de gcloud cierre tu sesión y que 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 acceder a la CLI de gcloud, sigue los pasos de la CLI en Acceder.
kubectl
La CLI de gdcloud hace que tus archivos kubeconfig venzan después de un período de inactividad de la sesión. Si intentas ejecutar un comando kubectl
después de un período de inactividad, recibirás un error de autorización:
error: You must be logged in to the server (Unauthorized)
Para volver a acceder y usar tu archivo kubeconfig, sigue los pasos de la CLI en Acceder. Para cada tiempo de espera de sesión, debes volver a generar tus archivos kubeconfig.
Configura políticas de permisos de IAM
Descripciones de roles predefinidos
Un operador de aplicación (AO) es miembro del equipo de desarrollo dentro de la organización del administrador de la plataforma (PA). Los AO interactúan con recursos a nivel del proyecto. Puedes asignar los siguientes roles predefinidos a los miembros del equipo:
- Administrador de IAM del proyecto: Administra las políticas de IAM de permiso de los proyectos.
- AI OCR Developer: Accede al servicio de reconocimiento óptico de caracteres para detectar texto en imágenes.
- AI Speech Developer: Accede al servicio de Speech-to-Text para reconocer el habla y transcribir audio.
- AI Translation Developer: Accede al servicio de Vertex AI Translation para traducir texto.
- Administrador de Artifact Management: Tiene acceso de administrador a los recursos de todos los proyectos de Harbor en el espacio de nombres del proyecto.
- Editor de administración de artefactos: Tiene acceso de lectura y escritura a los recursos de todos los proyectos de Harbor en el espacio de nombres del proyecto.
- Administrador de Certificate Authority Service: Tiene acceso para administrar autoridades certificadas y solicitudes de certificados en su proyecto.
- Administrador del servicio de certificados: Tiene acceso para administrar certificados y entidades emisoras de certificados en su proyecto.
- Editor del panel: Tiene acceso de lectura y escritura a los recursos personalizados de
Dashboard
. - Visualizador de paneles: Tiene acceso de solo lectura a los recursos personalizados de
Dashboard
. - Administrador de instancias de Harbor: Tiene acceso completo para administrar instancias de Harbor en un proyecto.
- Visualizador 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 administrar proyectos de instancias de Harbor.
- Administrador de políticas de red de K8s: Administra las políticas de red en clústeres de Kubernetes.
- LoggingRule Creator: Crea recursos personalizados de
LoggingRule
en el espacio de nombres del proyecto. - Editor de LoggingRule: Edita recursos personalizados de
LoggingRule
en el espacio de nombres del proyecto. - Visualizador de LoggingRule: Visualiza recursos personalizados
LoggingRule
en el espacio de nombres del proyecto. - LoggingTarget Creator: Crea recursos personalizados de
LoggingTarget
en el espacio de nombres del proyecto. - Editor de LoggingTarget: Edita recursos personalizados de
LoggingTarget
en el espacio de nombres del proyecto. - Visualizador de LoggingTarget: Visualiza los recursos personalizados de
LoggingTarget
en el espacio de nombres del proyecto. - Administrador del balanceador de cargas: Tiene permisos de lectura y escritura en todos los recursos del balanceador de cargas en el espacio de nombres del proyecto.
- Editor de MonitoringRule: Tiene acceso de lectura y escritura a los recursos de
MonitoringRule
. - Visualizador de MonitoringRule: Tiene acceso de solo lectura a los recursos personalizados de
MonitoringRule
. - Editor de MonitoringTarget: Tiene acceso de lectura y escritura a los recursos personalizados de
MonitoringTarget
. - Visualizador de MonitoringTarget: Tiene acceso de solo lectura a los recursos personalizados de
MonitoringTarget
. - Visualizador de NAT: Tiene acceso de solo lectura a las implementaciones en clústeres de Kubernetes.
- Administrador de espacio de nombres: Administra todos los recursos dentro del espacio de nombres del proyecto.
- Editor de ObservabilityPipeline: Tiene acceso de lectura y escritura a los recursos personalizados de
ObservabilityPipeine
. - Visualizador de ObservabilityPipeline: Tiene acceso de solo lectura a los recursos personalizados de
ObservabilityPipeline
. - Administrador de buckets del proyecto: Administra los buckets de almacenamiento y los objetos dentro de los buckets.
- Administrador de objetos de bucket del proyecto: Tiene acceso de solo lectura a los buckets dentro de un proyecto y acceso de lectura y escritura a los objetos de esos buckets.
- Visualizador de objetos de buckets del proyecto: Tiene acceso de solo lectura a los buckets dentro de un proyecto y a los objetos de esos buckets.
- Editor de Alertmanager de Project Cortex: Otorga permisos para editar la instancia de Alertmanager de Cortex en el espacio de nombres del proyecto.
- Visualizador de Alertmanager de Project Cortex: Otorga permisos para acceder a la instancia de Alertmanager de Cortex en el espacio de nombres del proyecto.
- Visualizador de Prometheus de Project Cortex: Otorga permisos para acceder a la instancia de Prometheus de Cortex en el espacio de nombres del proyecto.
- Project Grafana Viewer: Accede a la instancia de Grafana en el espacio de nombres del proyecto del clúster de administrador de la flota.
- Administrador de NetworkPolicy del proyecto: Administra las políticas de red del proyecto en el espacio de nombres del proyecto.
- Visualizador del proyecto: Tiene acceso de solo lectura a todos los recursos dentro de los espacios de nombres del proyecto.
- Administrador de Project VirtualMachine: Administra las VMs en el espacio de nombres del proyecto.
- Administrador de imágenes de VirtualMachine del proyecto: Administra las imágenes de VM en el espacio de nombres del proyecto.
- Administrador de secretos: Administra los secretos de Kubernetes en los proyectos.
- Secret Viewer: Visualiza los secretos de Kubernetes en los proyectos.
- Administrador de configuración de servicio: Tiene acceso de lectura y escritura a las configuraciones de servicio dentro de un espacio de nombres del proyecto.
- Visualizador de configuración de servicio: Tiene acceso de lectura a las configuraciones de servicio dentro de un espacio de nombres del proyecto.
- Administrador de replicación de volúmenes: Administra los recursos de replicación de volúmenes.
- Administrador de Notebooks de Workbench: Obtén acceso de lectura y escritura a todos los recursos de notebooks dentro de un espacio de nombres del proyecto.
- Workbench Notebooks Viewer: Obtén acceso de solo lectura a todos los recursos de notebooks dentro de un espacio de nombres del proyecto y visualiza la interfaz de usuario de Vertex AI Workbench.
- Visualizador 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:
- Visualizador de AI Platform: Otorga permisos para ver los servicios previamente entrenados.
- DNS Suffix Viewer: 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.
- Visualizador de registros de flujo: Tiene acceso de solo lectura a todos los recursos de registros de flujo.
- Visualizador de Project Discovery: Tiene acceso de lectura para todos los usuarios autenticados a la vista del proyecto.
- Public Image Viewer: Tiene acceso de lectura para todos los usuarios autenticados en las imágenes de VM públicas en el espacio de nombres
vm-images
. - System Artifact Registry anthos-creds secret Monitor: Tiene acceso de solo lectura a los secretos en el espacio de nombres
anthos-creds
. - System Artifact Registry gpc-system secret Monitor: Tiene acceso de solo lectura a los secretos en el espacio de nombres
gpc-system
. - Monitor de secretos de harbor-system de Artifact Registry del sistema: Tiene acceso de solo lectura a los secretos en el espacio de nombres
harbor-system
. - Visualizador de tipos de máquinas virtuales: Tiene acceso de lectura a los tipos de máquinas virtuales con alcance de clúster.
- VM Type Viewer: Tiene acceso de lectura a los tipos de máquina virtual 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: Es el nombre de un rol que se muestra en la interfaz de usuario (IU).
- Nombre del recurso de Kubernetes: Es el nombre del recurso personalizado de Kubernetes correspondiente.
- Nivel: Especificación de si este rol se limita a la organización o a un proyecto.
- Tipo: Es el tipo de este rol. Por ejemplo, algunos valores posibles son
Role
,ProjectRole
,ClusterRole
oProjectClusterRole
. - Tipo de vinculación: Es el tipo de vinculación que debes aplicar a este rol.
- Permisos del servidor de la API de administración o del clúster de Kubernetes: Son los permisos que tiene este rol para el servidor de la API de administración o el clúster de Kubernetes. Por ejemplo, algunos valores posibles son lectura, escritura, lectura y escritura, o no aplicable (N/A).
- Escala a: Especifica si este rol se puede escalar a otros roles o no.
Arquetipo de AO, identidad predefinida y roles de acceso
Arquetipo de AO | ||||
---|---|---|---|---|
Nombre | Nombre del recurso de Kubernetes | Administrador inicial | Nivel | Tipo |
Administrador de IAM de proyecto | project-iam-admin |
Verdadero | Proyecto | Role |
Desarrollador de OCR con IA | ai-ocr-developer |
Falso | Proyecto | Role |
Visualizador de AI Platform | ai-platform-viewer |
Falso | Proyecto | Role |
Desarrollador de IA de voz | ai-speech-developer |
Falso | Proyecto | Role |
Desarrollador de IA de Translation | ai-translation-developer |
Falso | Proyecto | Role |
Administrador de administración de artefactos | artifact-management-admin |
Falso | Proyecto | Role |
Editor de administración de artefactos | artifact-management-editor |
Falso | Proyecto | Role |
Administrador de Certificate Authority Service | certificate-authority-service-admin |
Falso | Proyecto | Role |
Administrador del servicio de certificados | certificate-service-admin |
Falso | Proyecto | Role |
Editor de paneles | dashboard-editor |
Falso | Proyecto | Role |
Visor de paneles | dashboard-viewer |
Falso | Proyecto | Role |
Administrador de instancias de Harbor | harbor-instance-admin |
Falso | Proyecto | Role |
Visualizador 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 del balanceador de cargas | load-balancer-admin |
Falso | Proyecto | ProjectRole |
Creador de LoggingRule | 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 |
Visor de LoggingTarget | loggingtarget-viewer |
Falso | Proyecto | Role |
Editor de MonitoringRule | monitoringrule-editor |
Falso | Proyecto | Role |
Visualizador de MonitoringRule | monitoringrule-viewer |
Falso | Proyecto | Role |
Editor de MonitoringTarget | monitoringtarget-editor |
Falso | Proyecto | Role |
Visualizador de MonitoringTarget | monitoringtarget-viewer |
Falso | Proyecto | Role |
Namespace Admin | namespace-admin |
Falso | Proyecto | ProjectRole |
Visualizador de NAT | nat-viewer |
Falso | Proyecto | ProjectRole |
Editor de ObservabilityPipeline | observabilitypipeline-editor |
Falso | Proyecto | Role |
Visualizador de ObservabilityPipeline | observabilitypipeline-viewer |
Falso | Proyecto | Role |
Administrador de bucket del proyecto | project-bucket-admin |
Falso | Proyecto | Role |
Administrador de objetos del bucket del proyecto | project-bucket-object-admin |
Falso | Proyecto | Role |
Visualizador de objetos del bucket del proyecto | project-bucket-object-viewer |
Falso | Proyecto | Role |
Editor de Alertmanager de Project Cortex | project-cortex-alertmanager-editor |
Falso | Proyecto | Role |
Visualizador de Alertmanager de Project Cortex | project-cortex-alertmanager-viewer |
Falso | Proyecto | Role |
Visualizador de Prometheus de Project Cortex | project-cortex-prometheus-viewer |
Falso | Proyecto | Role |
Visualizador de Grafana del proyecto | project-grafana-viewer |
Falso | Proyecto | Role |
Administrador de NetworkPolicy del proyecto | project-networkpolicy-admin |
Falso | Proyecto | Role |
Visualizador del proyecto | project-viewer |
Falso | Proyecto | Role |
Administrador de máquinas virtuales del proyecto | project-vm-admin |
Falso | Proyecto | Role |
Administrador de imágenes de VirtualMachine del proyecto | project-vm-image-admin |
Falso | Proyecto | Role |
Administrador de secretos | secret-admin |
Falso | Proyecto | Role |
Visualizador de secretos | secret-viewer |
Falso | Proyecto | Role |
Administrador de configuración de servicios | service-configuration-admin |
Falso | Proyecto | Role |
Visualizador de la configuración del servicio | service-configuration-viewer |
Falso | Proyecto | Role |
Administrador de Notebooks de Workbench | workbench-notebooks-admin |
Falso | Proyecto | Role |
Administrador de replicación de volúmenes | app-volume-replication-admin |
Falso | Clúster | Role |
Visualizador de notebooks de Workbench | workbench-notebooks-viewer |
Falso | Proyecto | Role |
Visualizador de carga de trabajo | workload-viewer |
Falso | Proyecto | Role |
Arquetipo de AO, identidad predefinida y roles de acceso
Arquetipo de AO | ||||
---|---|---|---|---|
Nombre | Tipo de vinculación | Permisos del servidor de la API de Management | Permisos del clúster de Kubernetes | Se deriva a |
Administrador de IAM de proyecto | RoleBinding |
|
N/A | Todos los demás roles de AO |
Desarrollador de OCR con IA | RoleBinding |
Recursos de OCR: 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 IA de Translation | RoleBinding |
Recursos de traducción: Lectura y escritura | N/A | N/A |
Administrador de administración de artefactos | RoleBinding |
HarborProjects : Administrar, crear, leer, escribir, borrar y ver |
N/A | N/A |
Editor de administración de artefactos | RoleBinding |
HarborProjects : Lectura, escritura y visualización |
N/A | N/A |
Administrador de Certificate Authority Service | RoleBinding |
Autoridades de certificación y solicitudes de certificados: Obtén, enumera, observa, actualiza, crea, borra y aplica parches. | N/A | N/A |
Administrador del servicio de certificados | RoleBinding |
Certificados y entidades emisoras de certificados: Obtener, enumerar, observar, actualizar, crear, borrar y aplicar parches | N/A | N/A |
Editor de paneles | RoleBinding |
Recursos personalizados de Dashboard : Obtener, leer, crear, actualizar, borrar y aplicar parches |
N/A | N/A |
Visor de paneles | RoleBinding |
Dashboard : Obtener y leer |
N/A | N/A |
Administrador de instancias de Harbor | RoleBinding |
Instancias de Harbor: Crear, leer, actualizar, borrar y aplicar parches | N/A | N/A |
Visualizador 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 observar | N/A | N/A |
Administrador de NetworkPolicy de K8s | ProjectRoleBinding |
N/A | Recursos de NetworkPolicy : Crear, leer, obtener, actualizar, borrar y aplicar parches |
N/A |
Administrador del balanceador de cargas | RoleBinding |
N/A |
|
N/A |
Creador de LoggingRule | RoleBinding |
Recursos personalizados de LoggingRule : Crear, leer, actualizar, borrar y aplicar parches |
N/A | N/A |
Editor de LoggingRule | RoleBinding |
Recursos personalizados de LoggingRule : Crear, leer, actualizar, borrar y aplicar parches |
N/A | N/A |
Visualizador de LoggingRule | RoleBinding |
Recursos personalizados de LoggingRule : Lectura |
N/A | N/A |
LoggingTarget.Creator | RoleBinding |
Recursos personalizados de LoggingTarget : Crear, leer, actualizar, borrar y aplicar parches |
N/A | N/A |
Editor de LoggingTarget | RoleBinding |
Recursos personalizados de LoggingTarget : Crear, leer, actualizar, borrar y aplicar parches |
N/A | N/A |
Visor de LoggingTarget | RoleBinding |
Recursos personalizados de LoggingTarget : Lectura |
N/A | N/A |
Editor de MonitoringRule | RoleBinding |
Recursos personalizados de MonitoringRule : Crear, leer, actualizar, borrar y aplicar parches |
N/A | N/A |
Visualizador de MonitoringRule | RoleBinding |
Recursos personalizados de MonitoringRule : Lectura |
N/A | N/A |
Editor de MonitoringTarget | RoleBinding |
Recursos personalizados de MonitoringTarget : Crear, leer, actualizar, borrar y aplicar parches |
N/A | N/A |
Visualizador de MonitoringTarget | RoleBinding |
Recursos personalizados de MonitoringTarget : Lectura |
N/A | N/A |
Namespace Admin | ProjectRoleBinding |
N/A | Todos los recursos: Acceso de lectura y escritura en el espacio de nombres del proyecto | N/A |
Visualizador de NAT | ProjectRoleBinding |
N/A | Implementaciones: Obtener y leer | N/A |
Editor de ObservabilityPipeline | RoleBinding |
Recursos de ObservabilityPipeline : Obtener, leer, crear, actualizar, borrar y aplicar parches |
N/A | N/A |
Visualizador de ObservabilityPipeline | RoleBinding |
Recursos de ObservabilityPipeline : Obtén y lee |
N/A | N/A |
Administrador de bucket del proyecto | RoleBinding |
Bucket: Lectura y escritura en el espacio de nombres del proyecto | N/A | N/A |
Administrador de objetos del bucket del proyecto | RoleBinding |
|
N/A | N/A |
Visualizador de objetos del bucket del proyecto | RoleBinding |
Bucket y objetos: Lectura | N/A | N/A |
Editor de Alertmanager de Project Cortex | RoleBinding |
Sistema de Cortex y Cortex Alertmanager: Lectura y escritura | N/A | N/A |
Visualizador de Alertmanager de Project Cortex | RoleBinding |
Sistema de Cortex y Cortex Alertmanager: Lectura | N/A | N/A |
Visualizador de Prometheus de Project Cortex | RoleBinding |
Sistema de Cortex y Cortex Prometheus: Lectura | N/A | N/A |
Visualizador de Grafana del proyecto | RoleBinding |
Sistema de Grafana y Grafana: Lectura y escritura | N/A | N/A |
Administrador de NetworkPolicy del proyecto | RoleBinding |
Políticas de red del proyecto: Lectura y escritura en el espacio de nombres del proyecto | N/A | N/A |
Visualizador del proyecto | RoleBinding |
Todos los recursos en el espacio de nombres del proyecto: Lectura | N/A | N/A |
Administrador de máquinas virtuales del proyecto | RoleBinding |
|
N/A | N/A |
Administrador de imágenes de VirtualMachine del proyecto | RoleBinding |
|
N/A | N/A |
Administrador de secretos | RoleBinding |
Secrets de Kubernetes: Lectura, creación, actualización, eliminación y aplicación de parches | N/A | N/A |
Visualizador 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 |
Visualizador de la configuración del servicio | RoleBinding |
ServiceConfigurations : Leído
|
N/A | N/A |
Administrador de replicación de volúmenes | ClusterRoleBinding |
Volume failovers, volume relationship replicas :
Create, get, list, watch, delete
|
N/A | N/A |
Administrador de Notebooks de Workbench | RoleBinding |
N/A |
|
N/A |
Visualizador de notebooks de Workbench | RoleBinding |
N/A |
|
N/A |
Visualizador de carga de trabajo | ProjectRoleBinding |
N/A |
|
N/A |
Roles predefinidos comunes de identidad y acceso
Roles comunes | ||||
---|---|---|---|---|
Nombre | Nombre del recurso de Kubernetes | Administrador inicial | Nivel | Tipo |
Visualizador de AI Platform | ai-platform-viewer |
Falso | Proyecto | Role |
Visualizador de sufijos de DNS | dnssuffix-viewer |
Falso | Organización | Role |
Administrador de registros de flujo | flowlog-admin |
Falso | Organización | ClusterRole |
Visor de registros de flujo | flowlog-viewer |
Falso | Proyecto | ClusterRole |
Visualizador de Project Discovery | projectdiscovery-viewer |
Falso | Proyecto | ClusterRole |
Visor de imágenes públicas | public-image-viewer |
Falso | Organización | Role |
Monitor del secreto anthos-creds de Artifact Registry del sistema | 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 del secreto harbor-system de Artifact Registry del sistema | sar-harbor-system-secret-monitor |
Falso | Organización | Role |
Visualizador de tipos de máquinas virtuales | virtualmachinetype-viewer |
Falso | Organización | OrganizationRole |
Visualizador de tipos de VM | vmtype-viewer |
Falso | Organización | Role |
Roles predefinidos comunes de identidad y acceso
Roles comunes | ||||
---|---|---|---|---|
Nombre | Tipo de vinculación | Permisos del clúster de administrador | Permisos del clúster de Kubernetes | Se deriva a |
Visualizador de AI Platform | RoleBinding |
Servicios previamente entrenados: Leer | N/A | N/A |
Visualizador de sufijos de DNS | ClusterRoleBinding |
Mapas de configuración del sufijo de DNS: Lectura | N/A | N/A |
Administrador de registros de flujo | ClusterRoleBinding |
Recursos de registros de flujo: Obtén y lee | Recursos de registros de flujo: Obtén y lee | N/A |
Visor de registros de flujo | ClusterRoleBinding |
Recursos de registros de flujo: Crear, obtener, leer, aplicar parches, actualizar y borrar | Recursos de registros de flujo: Crear, obtener, leer, aplicar parches, actualizar y borrar | N/A |
Visualizador de Project Discovery | ClusterRoleBinding |
Proyectos: Lectura | N/A | N/A |
Visor de imágenes públicas | RoleBinding |
Imágenes de VM: Lectura | N/A | N/A |
Monitor del secreto anthos-creds de Artifact Registry del sistema | 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 del secreto harbor-system de Artifact Registry del sistema | RoleBinding |
harbor-system secretos: Obtener y leer |
harbor-system secretos: Obtener y leer |
N/A |
Visualizador de tipos de máquinas virtuales | OrganizationRoleBinding |
N/A | Tipos de VM: Lectura | N/A |
Visualizador de tipos de VM | ClusterRoleBinding |
Tipos de VM: Lectura | N/A | N/A |
Existen dos formas de otorgar acceso a los recursos:
Configura vinculaciones de roles con la CLI
Acceso de AO en el clúster de administrador
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
a través de un RoleBinding
, en lugar de un ClusterRoleBinding
.
Para otorgar acceso a un AO al clúster de administrador, completa los siguientes pasos:
Exporta el correo electrónico que usas para acceder a AO. Por ejemplo, un correo electrónico como
ao-alice@example.com
.export AO_EMAIL=AO_EMAIL
Crea una vinculación de rol para otorgar acceso de administrador de IAM del proyecto
${AO_EMAIL}
en el espacio de nombresiam-test
:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-iam-admin \ --role=project-iam-admin --user=$AO_EMAIL \ --namespace=iam-test
El rol
project-iam-admin
es un rol predefinido para GDC. El espacio de nombresiam-test
de Kubernetes corresponde al proyectoiam-test
en el clúster de administrador.Verifica que la cuenta de AO tenga permisos para crear vinculaciones de roles en el espacio de nombres
iam-test
:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n iam-test
Verás el siguiente resultado:
yes
Crea una vinculación de rol para otorgar acceso de visualizador del proyecto
${AO_EMAIL}
en el espacio de nombresbar
:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-viewer \ --role=project-viewer --user=$AO_EMAIL \ --namespace=bar
El rol
project-viewer
es un rol predeterminado para GDC. El espacio de nombresbar
de Kubernetes corresponde al proyectobar
en el clúster de administrador de la organización.Verifica que la cuenta de AO no tenga permisos para crear vinculaciones de roles en el espacio de nombres
bar
:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n bar
Verás el siguiente resultado:
no
Opcional: Borra la vinculación del rol para revocar el permiso otorgado a la cuenta de AO:
kubectl --kubeconfig PA_KUBECONFIG delete rolebinding $AO_EMAIL-project-iam-admin -n iam-test
Acceso de AO en clústeres de usuario
Un AO usa recursos ProjectRole
y ProjectRoleBinding
para obtener acceso al espacio de nombres de los clústeres de usuario. Sin embargo, los PA pueden otorgar permisos a toda la organización de AO en clústeres de usuarios con recursos OrganizationRole
y ProjectRoleBinding
predeterminados.
Completa los siguientes pasos para brindar a los AO acceso a los clústeres de usuarios:
Para otorgar acceso a los clústeres de usuario, debes tener el rol de administrador de IAM del proyecto.
Crea un recurso de
ProjectRoleBinding
para otorgar acceso de administrador del espacio de nombres${AO_EMAIL}
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} EOF
Sigue las instrucciones de la sección Accede con la CLI y kubectl para obtener credenciales de usuario para el clúster de usuario y exportarlas en la variable
AO_USER_CLUSTER_KUBECONFIG
:export AO_USER_CLUSTER_KUBECONFIG=GENERATED_KUBECONFIG
Verifica 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-test
Verás el siguiente resultado:
yes
Opcional: Borra las vinculaciones del rol del proyecto para revocar el permiso otorgado a la cuenta de AO de prueba:
kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} delete projectrolebinding ${AO_EMAIL%@*}-namespace-admin -n iam-test
Configura vinculaciones de roles para todo el proyecto con la IU
Un operador de la aplicación agrega otros operadores de la aplicación al proyecto para que tengan acceso a los recursos del proyecto.
Para obtener los permisos que necesitas para configurar vinculaciones de roles, pídele a tu administrador de IAM del proyecto que te otorgue el rol de administrador de IAM del proyecto.
Sigue estos pasos para configurar las vinculaciones de roles:
- Accede a la consola del dispositivo aislado de GDC.
- Selecciona un proyecto.
- En el menú de navegación, haz clic en Administración de acceso.
- Haz clic en Agregar miembro.
- En la lista Proveedor de identidad, selecciona un proveedor de identidad.
- Elige si quieres agregar usuarios individuales o grupos.
- En el campo Nombre de usuario o alias de grupo, ingresa el nombre de usuario, la dirección de correo electrónico o el alias.
- En la lista Rol, selecciona el rol que deseas asignar al usuario o grupo, como Visualizador del proyecto.
- Haz clic en Agregar.
Cómo quitar vinculaciones de roles con la IU
Cuando ya no se requiera el acceso, quita a un miembro y sus roles, permisos y acceso asociados.
Sigue estos pasos para quitar miembros:
- Accede a la consola del dispositivo aislado de GDC.
- Selecciona un proyecto.
- En el menú de navegación, haz clic en Administración de acceso.
- En la lista Miembros autorizados, selecciona un miembro.
- Haz clic en Quitar miembro.
- Cuando se te solicite, haz clic en Quitar miembro para confirmar.