Control de acceso

En esta página, se describen las opciones de control de acceso disponibles en la API de Cloud Composer.

Resumen

La API de Cloud Composer usa la administración de identidades y accesos (IAM) para el control de acceso.

En la API de Cloud Composer, el control de acceso se puede configurar en el nivel de proyecto. Por ejemplo, puedes otorgar a un grupo de desarrolladores acceso a todos los recursos de la API de Cloud Composer dentro de un proyecto.

Para obtener una descripción detallada de IAM y sus características, consulta la documentación de IAM. En particular, consulta Administra políticas de IAM.

Cada método de la API de Cloud Composer requiere que el emisor tenga los permisos necesarios. Consulta la sección sobre permisos y funciones para obtener más información.

Permisos necesarios

En la siguiente tabla, se enumeran los permisos que debe tener el emisor a fin de llamar a cada método de la API de Cloud Composer o de realizar tareas con las herramientas de Google Cloud que usan la API, como Google Cloud Console o el SDK de Cloud.

Método Permiso
environments.create composer.environments.create
iam.serviceAccounts.actAs (en la cuenta de servicio en la que se ejecutará el entorno)
environments.delete composer.environments.delete
environments.get composer.environments.get
environments.list composer.environments.list
environments.update composer.environments.update
operations.delete composer.operations.delete
operations.get composer.operations.get
operations.list composer.operations.list

Funciones

Función Título Descripción Permisos Recurso más bajo
roles/composer.admin Administrador de Composer Proporciona control total de los recursos de Cloud Composer.
  • composer.*
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
Proyecto
roles/composer.environmentAndStorageObjectAdmin Administrador de objetos de almacenamiento y entorno Proporciona control total de los recursos de Cloud Composer y de los objetos en todos los depósitos de proyectos.
  • composer.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.*
Proyecto
roles/composer.environmentAndStorageObjectViewer Visualizador de objetos de almacenamiento y usuario de entorno Proporciona los permisos necesarios para enumerar y obtener entornos y operaciones de Cloud Composer. Proporciona acceso de solo lectura a objetos en todos los depósitos de proyectos.
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.*
  • composer.operations.get
  • composer.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.get
  • storage.objects.list
Proyecto
roles/composer.user Usuario de Composer Proporciona los permisos necesarios para enumerar y obtener entornos y operaciones de Cloud Composer.
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.*
  • composer.operations.get
  • composer.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
Proyecto
roles/composer.worker Trabajador de Composer Proporciona los permisos necesarios para ejecutar una VM de entorno de Cloud Composer. Pensado para cuentas de servicio.
  • artifactregistry.*
  • cloudbuild.*
  • container.*
  • containeranalysis.occurrences.create
  • containeranalysis.occurrences.delete
  • containeranalysis.occurrences.get
  • containeranalysis.occurrences.list
  • containeranalysis.occurrences.update
  • logging.logEntries.create
  • monitoring.metricDescriptors.create
  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.monitoredResourceDescriptors.*
  • monitoring.timeSeries.*
  • pubsub.snapshots.create
  • pubsub.snapshots.delete
  • pubsub.snapshots.get
  • pubsub.snapshots.list
  • pubsub.snapshots.seek
  • pubsub.snapshots.update
  • pubsub.subscriptions.consume
  • pubsub.subscriptions.create
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.get
  • pubsub.subscriptions.list
  • pubsub.subscriptions.update
  • pubsub.topics.attachSubscription
  • pubsub.topics.create
  • pubsub.topics.delete
  • pubsub.topics.detachSubscription
  • pubsub.topics.get
  • pubsub.topics.list
  • pubsub.topics.publish
  • pubsub.topics.update
  • pubsub.topics.updateTag
  • remotebuildexecution.blobs.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • source.repos.get
  • source.repos.list
  • storage.buckets.create
  • storage.buckets.get
  • storage.buckets.list
  • storage.objects.*
Proyecto

Funciones básicas

Función Título Descripción Permisos Recurso más bajo
roles/owner Propietario Función básica que permite el control total de los recursos de Cloud Composer. composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
iam.serviceAccounts.actuar
Proyecto
roles/editor Editor Función básica que permite el control total de los recursos de Cloud Composer. composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
iam.serviceAccounts.actuar
Proyecto
roles/reader Visualizador Función básica que permite al usuario enumerar y obtener recursos de Cloud Composer. composer.operations.list
composer.operations.get
composer.environments.list
composer.environments.get
Proyecto

Permisos para tareas comunes

Las funciones son una colección de permisos. En esta sección, se enumeran las funciones o los permisos necesarios para las tareas comunes.

Tarea Permisos o funciones
Acceder a la interfaz web de Airflow protegida por IAP composer.environments.get
Ejecutar la CLI de Airflow con la herramienta de línea de comandos de gcloud composer.environments.get
container.clusters.getCredentials
roles/container.developer
Ver la página Entornos en Cloud Console composer.environments.list
servicemanagement.projectSettings.get
Ver los registros y las métricas del conjunto de operaciones de Google Cloud roles/logging.viewer
roles/monitoring.viewer
Crear un entorno composer.environments.create
iam.serviceAccounts.actAs (en la cuenta de servicio en la que se ejecutará el entorno)
Actualizar y borrar un entorno, incluida la configuración de variables de entorno y la instalación o actualización de paquetes de Python environments.delete
environments.update
Subir archivos a las carpetas de DAG y Complementos, y acceder a los registros de Airflow en la carpeta Registros storage.objectAdmin asignado al depósito o al nivel de proyecto

composer.environments.get para buscar el depósito de destino del DAG

Control de acceso a través de gcloud

Para asignar funciones predefinidas, ejecuta el comando gcloud projects get-iam-policy a fin de obtener la política actual, actualice la política vinculante con la función roles/composer.admin (Administrador de Composer) o la función roles/composer.user (Usuario de Composer) y, luego, ejecuta el comando gcloud projects set-iam-policy. Consulta la página Otorga, cambia y revoca el acceso a los recursos de la documentación de IAM para obtener más información sobre cómo asignar funciones con gcloud.

Para configurar una función personalizada con permisos de Cloud Composer, ejecuta el comando gcloud iam roles create , incluida la lista de permisos deseada de la tabla de funciones. Luego, actualiza la política de IAM con la función personalizada recién configurada. Consulta la página Crea una función personalizada en la documentación de IAM para obtener más información.

Control de acceso a través de Cloud Console

Puedes usar Cloud Console para administrar el control de acceso de tus entornos y proyectos.

Para configurar los controles de acceso a nivel de proyecto, sigue estos pasos:

  1. Abre la página IAM en Google Cloud Console.
  2. Selecciona tu proyecto y haz clic en Continuar.
  3. Haz clic en Agregar miembro.
  4. Ingresa la dirección de correo electrónico de un miembro nuevo al que no hayas otorgado ninguna función de IAM con anterioridad.
  5. Selecciona la función deseada en el menú desplegable.
  6. Haz clic en Agregar.
  7. Verifica que el miembro aparezca en la lista con la función que le otorgaste.