Guía de control de acceso a Cloud Dataflow

Descripción general

Puedes usar las funciones de IAM de Cloud Dataflow para limitar el acceso de los usuarios dentro de una organización o proyecto solo a los recursos relacionados con Cloud Dataflow, en lugar de otorgarles a los usuarios acceso de lector, editor o propietario a todo el proyecto de Cloud Platform.

En esta página, se describe cómo utilizar las funciones de IAM de Cloud Dataflow. Consulta la guía para desarrolladores de Google Cloud Identity and Access Management si quieres obtener una descripción detallada de IAM y de sus funciones.

Cada método de Cloud Dataflow requiere que el emisor tenga los permisos necesarios. Para obtener una lista de los permisos y funciones que admite Cloud Dataflow, consulta la siguiente sección.

Permisos y funciones

En esta sección, se resumen los permisos y las funciones que admite IAM de Cloud Dataflow.

Permisos necesarios

En la siguiente tabla, se enumeran los permisos que debe tener el emisor para llamar a cada método:

Método Permisos necesarios
dataflow.jobs.create dataflow.jobs.create
dataflow.jobs.cancel dataflow.jobs.cancel
dataflow.jobs.updateContents dataflow.jobs.updateContents
dataflow.jobs.list dataflow.jobs.list
dataflow.jobs.get dataflow.jobs.get
dataflow.jobs.drain dataflow.jobs.drain
dataflow.messages.list dataflow.messages.list
dataflow.metrics.get dataflow.metrics.get

Nota: La función de trabajador de Cloud Dataflow (roles/dataflow.worker) proporciona los permisos (dataflow.workItems.lease, dataflow.workItems.update y dataflow.workItems.sendMessage) necesarios para que una cuenta de servicio de Compute Engine ejecute las unidades de trabajo de la canalización de Apache Beam. Por lo general, solo debe asignarse a la cuenta y solo incluye la capacidad de solicitar y actualizar el trabajo desde el servicio de Cloud Dataflow.

Funciones

En la siguiente tabla, se enumeran las funciones de IAM de Cloud Dataflow con la lista correspondiente de todos los permisos que se incluyen en cada función. Ten en cuenta que cada permiso corresponde a un tipo de recurso específico.

Función Permisos incluidos Para el tipo de recurso:
roles/dataflow.viewer dataflow.<resource-type>.list
dataflow.<resource-type>.get
trabajos, mensajes, métricas
roles/dataflow.developer Todos los mencionados con anterioridad, así como:
dataflow.jobs.create
dataflow.jobs.drain
dataflow.jobs.cancel

trabajos
roles/dataflow.admin Todos los mencionados con anterioridad, así como:
compute.machineTypes.get
storage.buckets.get
storage.objects.create
storage.objects.get
storage.objects.list
NA
roles/dataflow.worker (solo para cuentas de servicio del controlador) dataflow.jobs.get
dataflow.jobs.list
dataflow.workItems.lease
dataflow.workItems.update
dataflow.workItems.sendMessage
logging.logEntries.create
storage.objects.create
storage.objects.get
NA

Cómo crear trabajos

Si quieres crear un trabajo, roles/dataflow.admin incluye el conjunto mínimo de permisos necesarios para ejecutar y examinar trabajos.

De manera alternativa, se requieren los siguientes permisos:

Ejemplo de asignación de función

Para ilustrar la utilidad de las diferentes funciones de Cloud Dataflow, considera el siguiente desglose:

  • El desarrollador que crea y examina trabajos necesitará la función roles/dataflow.admin.
  • Para una administración de permisos más sofisticada, el desarrollador que interactúe con el trabajo de Cloud Dataflow necesitará la función roles/dataflow.developer.
    • Necesitará roles/storage.objectAdmin o una función relacionada para dividir los archivos requeridos.
    • Para la depuración y la verificación de cuotas, necesitará la función roles/compute.viewer del proyecto.
    • A falta de otras asignaciones de funciones, esto le permitirá al desarrollador crear y cancelar trabajos de Cloud Dataflow, pero no interactuar con las VM individuales o acceder a otros servicios en la nube.
  • La [cuenta de servicio del controlador](security-and-permissions#controller_service_account) necesita la función roles/dataflow.worker para procesar datos del servicio de Cloud Dataflow. Necesitará otras funciones (por ejemplo, roles/storage.objectAdmin) para acceder a los datos del trabajo.

Cómo asignar funciones en Cloud Dataflow

Actualmente, las funciones de Cloud Dataflow en la nube se pueden establecer solo en organizaciones y proyectos.

Si quieres administrar funciones a nivel de la organización, consulta Control de acceso para las organizaciones que usan IAM.

Para establecer funciones a nivel de proyecto, consulta Control de acceso a través de Google Cloud Platform Console.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.