Guia de controle de acesso do Cloud Dataflow

Visão geral

Você pode usar os papéis do IAM do Cloud Dataflow para limitar o acesso de usuários em um projeto ou organização a apenas recursos relacionados ao Cloud Dataflow, em vez de conceder aos usuários acesso de visualizador, editor ou proprietário a todo o projeto do Cloud Platform.

O objetivo desta página é mostrar como usar esses papéis. Para ver uma descrição detalhada do IAM e dos respectivos recursos, consulte o Guia do desenvolvedor do Google Cloud Identity and Access Management.

Todos os métodos do Cloud Dataflow exigem as devidas permissões do autor da chamada. Para ver uma lista das permissões e papéis compatíveis com o Cloud Dataflow, consulte a seção a seguir.

Permissões e papéis

Veja nesta seção o resumo das permissões e dos papéis do IAM compatíveis com o Cloud Dataflow.

Permissões exigidas

A tabela abaixo lista as permissões que o autor da chamada precisa ter para chamar cada método:

Método Permissões necessárias
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

Papéis

Veja na tabela abaixo os papéis do IAM do Cloud Dataflow com uma lista correspondente de todas as permissões que cada um deles inclui. Cada permissão se aplica a um tipo específico de recurso.

roles/
dataflow.admin
Dataflow Admin Minimal role for creating and managing dataflow jobs. compute.machineTypes.get
dataflow.*
resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.get
storage.objects.create
storage.objects.get
storage.objects.list
roles/
dataflow.developer
Dataflow Developer Provides the permissions necessary to execute and manipulate Cloud Dataflow jobs. dataflow.*
resourcemanager.projects.get
resourcemanager.projects.list
Project roles/
dataflow.viewer
Dataflow Viewer Provides read-only access to all Cloud Dataflow-related resources. dataflow.jobs.get
dataflow.jobs.list
dataflow.messages.*
dataflow.metrics.*
resourcemanager.projects.get
resourcemanager.projects.list
Project roles/
dataflow.worker
Dataflow Worker Provides the permissions necessary for a Compute Engine service account to execute work units for a Cloud Dataflow pipeline. compute.instanceGroupManagers.update
compute.instances.delete
compute.instances.setDiskAutoDelete
dataflow.jobs.get
logging.logEntries.create
storage.objects.create
storage.objects.get
Project
Papel Nome Descrição Permissões Menor recurso

Observação: o papel de worker do Cloud Dataflow (roles/dataflow.worker) fornece as permissões (dataflow.workItems.lease, dataflow.workItems.update e dataflow.workItems.sendMessage) necessárias para que uma conta de serviço do Compute Engine execute unidades de trabalho para um pipeline do Apache Beam. Normalmente, ele precisa ser atribuído apenas a essa conta e inclui somente a capacidade de solicitar e atualizar o trabalho do serviço do Cloud Dataflow.

Como criar jobs

Para criar um job, o roles/dataflow.admin inclui o conjunto mínimo de permissões necessárias para executar e examinar jobs.

Como alternativa, são necessárias as seguintes permissões:

Exemplo de atribuição de papéis

Para ilustrar a utilidade dos diferentes papéis do Cloud Dataflow, pense nos detalhes a seguir:

  • Para criar e examinar jobs, o desenvolvedor precisará do papel roles/dataflow.admin.
  • Para um gerenciamento de permissões mais sofisticado, o desenvolvedor que interage com o job do Cloud Dataflow precisará do papel roles/dataflow.developer.
    • Eles precisarão do papel roles/storage.objectAdmin ou de um papel relacionado para preparar os arquivos necessários.
    • Para depuração e verificação de cotas, eles precisarão do papel roles/compute.viewer do projeto.
    • Na ausência de outras atribuições de papéis, isso permitirá ao desenvolvedor criar e cancelar jobs do Cloud Dataflow, mas não interagir com as VMs individuais nem acessar outros serviços do Cloud.
  • A conta de serviço do controlador precisa do papel roles/dataflow.worker para processar dados para o serviço do Cloud Dataflow. Ela vai precisar de outros papéis, como roles/storage.objectAdmin, para acessar dados do job.

Como atribuir papéis do Cloud Dataflow

No momento, só é possível definir os papéis do Cloud Dataflow em organizações e projetos.

Para gerenciar papéis no nível organizacional, consulte Controle de acesso para organizações usando IAM.

Para definir papéis para envolvidos no projeto, consulte Controle de acesso via Console do Google Cloud Platform.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.