Visão geral
Para limitar o acesso de usuários em um projeto ou organização, use os papéis de gerenciamento de identidade e acesso (IAM, na sigla em inglês) do Dataflow. É possível restringir o acesso a recursos relacionados ao Dataflow, em vez de conceder ao usuário, editor ou proprietário acesso a todo o projeto do Google Cloud.
O objetivo desta página é mostrar como usar esses papéis. Para uma descrição detalhada do IAM e dos recursos dele, consulte a documentação do IAM.
Todos os métodos do Dataflow exigem as devidas permissões do autor da chamada. Para ver uma lista de permissões e papéis aceitos pelo Dataflow, consulte a seção abaixo.
Permissões e papéis
Esta seção resume as permissões e os papéis de IAM aceitos pelo Dataflow.
Permissões necessárias
A tabela abaixo lista as permissões que o autor da chamada precisa ter para chamar cada método:
Método | Permissões exigidas |
---|---|
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.messages.list |
dataflow.messages.list |
dataflow.metrics.get |
dataflow.metrics.get |
dataflow.jobs.snapshot |
dataflow.jobs.snapshot |
Papéis
A tabela abaixo mostra os papéis de IAM do Dataflow com uma lista correspondente de todas as permissões que cada papel inclui. Cada permissão se aplica a um tipo específico de recurso.
Papel | Nome | Descrição | Permissões | Menor recurso |
---|---|---|---|---|
roles/ |
Administrador do Dataflow | Papel mínimo para criar e gerenciar jobs do Dataflow. |
|
|
roles/ |
Desenvolvedor do Dataflow | Concede as permissões necessárias para executar e manipular jobs do Dataflow. |
|
Projeto |
roles/ |
Leitor do Dataflow | Dá acesso somente leitura a todos os recursos relacionados ao Dataflow. |
|
Projeto |
roles/ |
Worker do Dataflow | Concede as permissões necessárias para que uma conta de serviço do Compute Engine execute unidades de work para um pipeline do Dataflow. |
|
Projeto |
O papel Worker do Dataflow (roles/dataflow.worker
) concede 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. Costuma ser atribuído apenas a uma conta desse tipo e só inclui a capacidade de solicitar e atualizar trabalho a partir do serviço Dataflow.
O papel Agente de serviço do Dataflow (roles/dataflow.serviceAgent
) fornece acesso aos recursos gerenciados para uma conta de serviço do Dataflow. Esse papel é atribuído a uma
conta de serviço do Dataflow quando você cria um
projeto do Dataflow.
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:
- O papel
roles/dataflow.developer
para instanciar o job. - O papel
roles/compute.viewer
para acessar informações de tipo de máquina e visualizar outras configurações. - O papel
roles/storage.objectAdmin
para fornecer permissão para preparar arquivos no Cloud Storage.
Exemplo de atribuição de papéis
Para ilustrar a utilidade dos diferentes papéis do Dataflow, considere os detalhes a seguir:
- O desenvolvedor que cria e examina jobs precisa do papel
roles/dataflow.admin
. - Para um gerenciamento de permissões mais sofisticado, o desenvolvedor que interage com o job do Dataflow precisa do papel
roles/dataflow.developer
.- Ele precisa do papel
roles/storage.objectAdmin
ou um relacionado para preparar os arquivos necessários. - Para depuração e verificação de cota, dele precisa do papel
roles/compute.viewer
do projeto. - Na ausência de outras atribuições de papel, este permitirá ao desenvolvedor criar e cancelar jobs do Dataflow, mas não interagir com as VMs individuais ou acessar outros serviços do Cloud.
- Ele precisa do papel
- A conta de serviço do controlador precisa do papel
roles/dataflow.worker
para processar dados do serviço do Dataflow. Para acessar os dados do job, as contas de serviço precisam de outros papéis, comoroles/storage.objectAdmin
.
Atribuição de papéis do Dataflow
Atualmente, só é possível definir os papéis do 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 no nível do projeto, consulte Como conceder, alterar e revogar acesso aos recursos.