Esta página descreve as opções de controlo de acesso no Cloud Data Fusion.
Pode controlar o acesso aos recursos no Cloud Data Fusion das seguintes formas:
Para controlar o acesso às operações do plano de controlo, como a criação e a atualização de instâncias através da Google Cloud consola, da CLI do Google Cloud e da API REST, use a gestão de identidade e acesso (IAM), conforme descrito nesta página.
Para conceder acesso a Google Cloud serviços de dados, como o BigQuery ou o Cloud Storage a uma conta de serviço onde os pipelines estão a ser executados, use o IAM.
Para controlar autorizações detalhadas para ações realizadas na instância, conhecidas como operações do plano de dados, como iniciar pipelines, use o controlo de acesso baseado em funções (CABF).
Para informações sobre a arquitetura e os recursos envolvidos no controlo de acesso do Cloud Data Fusion, consulte o artigo Redes. Para informações sobre a concessão de funções e autorizações, consulte o artigo Gerir o acesso a projetos, pastas e organizações.
Acerca do IAM no Cloud Data Fusion
Controla o acesso às funcionalidades do Cloud Data Fusion concedendo funções e autorizações do IAM a contas de serviço e outros responsáveis no seu Google Cloud projeto.
Para conceder acesso detalhado às contas de utilizador para que possam usar a interface Web do Cloud Data Fusion, use o RBAC.
Por predefinição, o Cloud Data Fusion usa as seguintes contas de serviço:
Conta de serviço do Cloud Data Fusion
A conta de serviço do Cloud Data Fusion é um agente de serviço gerido pela Google que pode aceder aos recursos do cliente no momento da conceção do pipeline. Este agente de serviço é adicionado automaticamente a um projeto quando ativa a API Cloud Data Fusion. É usado para todas as instâncias no seu projeto.
O agente de serviço tem as seguintes responsabilidades:
Comunicar com outros serviços, como o Cloud Storage, o BigQuery ou o Datastream durante a conceção do pipeline.
Ativar a execução através do aprovisionamento de clusters do Dataproc e do envio de tarefas de pipeline.
Funções da conta de serviço do Cloud Data Fusion
Por predefinição, a conta de serviço do Cloud Data Fusion tem apenas a
função de agente do serviço da API Cloud Data Fusion
(roles/datafusion.serviceAgent
).
O nome principal deste agente do serviço é
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
.
Os seguintes recursos predefinidos estão associados à função de agente de serviço da API Cloud Data Fusion.
Função | Recurso | Autorizações |
---|---|---|
Agente de serviço da API Cloud Data Fusion | Serviços associados:
|
Consulte as autorizações do agente do serviço da API Cloud Data Fusion. |
Conta de serviço predefinida do Compute Engine ou conta de serviço personalizada
A conta de serviço do Compute Engine é a conta predefinida que o Cloud Data Fusion usa para implementar e executar tarefas que acedem a outrosGoogle Cloud recursos. Por predefinição, é anexado a uma VM do cluster do Dataproc para permitir que o Cloud Data Fusion aceda aos recursos do Dataproc durante a execução de um pipeline.
Pode escolher uma conta de serviço personalizada para anexar ao cluster do Dataproc quando cria uma instância do Cloud Data Fusion ou criando novos perfis de computação na interface Web do Cloud Data Fusion.
Para mais informações, consulte o artigo Contas de serviço no Cloud Data Fusion.
Funções da conta de serviço do Compute Engine
Por predefinição, para aceder a recursos (como origens e destinos) quando executa um pipeline, o Cloud Data Fusion usa a conta de serviço predefinida do Compute Engine.
Pode configurar uma conta de serviço personalizada gerida pelo utilizador para instâncias do Cloud Data Fusion e conceder uma função a esta conta. Posteriormente, pode escolher esta conta de serviço quando criar novas instâncias.
Função de executor do Cloud Data Fusion
No projeto que contém a instância do Cloud Data Fusion, para as contas de serviço personalizadas geridas pelo utilizador e predefinidas, conceda a função de executor do Cloud Data Fusion (datafusion.runner
).
Função | Descrição | Autorização |
---|---|---|
Executor do Data Fusion (datafusion.runner) |
Permite que a conta de serviço do Compute Engine comunique com os serviços do Cloud Data Fusion no projeto de inquilino | datafusion.instances.runtime |
Função de utilizador da conta de serviço
Na conta de serviço predefinida ou gerida pelo utilizador no projeto onde os clusters do Dataproc são iniciados quando executa pipelines, conceda à conta de serviço do Cloud Data Fusion a função de utilizador da conta de serviço (roles/iam.serviceAccountUser
).
Para mais informações, consulte o artigo Conceda autorização à conta de serviço.
Função de trabalhador do Dataproc
Para executar as tarefas em clusters do Dataproc, conceda a função de trabalhador do Dataproc (roles/dataproc.worker
) às contas de serviço predefinidas ou geridas pelo utilizador usadas pelos seus pipelines do Cloud Data Fusion.
Funções para utilizadores
Para acionar qualquer operação no Cloud Data Fusion, o principal tem de ter autorizações suficientes. As autorizações individuais são agrupadas em funções, e concede funções a esse principal.
Se o RBAC não estiver ativado ou se estiver a usar uma edição do Cloud Data Fusion que não suporte o RBAC, os utilizadores com qualquer função do IAM do Cloud Data Fusion têm acesso total à interface Web do Cloud Data Fusion. A função de administrador só permite que os utilizadores geram a instância, como operações de
Create
, Update
, Upgrade
e Delete
.
Conceda as seguintes funções aos principais, consoante as autorizações de que precisam no Cloud Data Fusion.
Função | Descrição | Autorizações |
---|---|---|
Administrador do Cloud Data Fusion (roles/datafusion.admin ) |
Todas as autorizações de visitante, além das autorizações para criar, atualizar e eliminar instâncias do Cloud Data Fusion. |
|
Leitor do Cloud Data Fusion (roles/datafusion.viewer ) |
|
|
Aceda a recursos noutro projeto no momento da conceção
Esta secção descreve o controlo de acesso aos recursos localizados num projeto Google Cloud diferente da sua instância do Cloud Data Fusion no momento da conceção.
Quando cria pipelines na interface Web do Cloud Data Fusion, pode usar funções, como o Wrangler ou a Pré-visualização, que acedem a recursos noutros projetos.
As secções seguintes descrevem como determinar a conta de serviço no seu ambiente e, em seguida, conceder as autorizações adequadas.
Determine a conta de serviço do seu ambiente
O nome da conta de serviço é Cloud Data Fusion Service Account e o principal
para este agente do serviço é
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
.
Conceda autorização para aceder a recursos noutro projeto
Para conceder as funções que dão autorização para aceder a vários recursos, siga estes passos:
- No projeto onde o recurso de destino existe, adicione a conta de serviço do Cloud Data Fusion (
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
) como um principal. - Conceda funções à conta de serviço do Cloud Data Fusion no recurso de destino no projeto onde o recurso de destino existe.
Depois de conceder as funções, pode aceder aos recursos num projeto diferente no momento da conceção da mesma forma que acede aos recursos no projeto onde a sua instância está localizada.
Aceder a recursos noutro projeto no momento da execução
Esta secção descreve o controlo de acesso aos recursos localizados num projeto Google Cloud diferente Google Cloud da sua instância do Cloud Data Fusion no momento da execução.
No momento da execução, executa o pipeline num cluster do Dataproc, que pode aceder a recursos noutros projetos. Por predefinição, o próprio cluster do Dataproc é iniciado no mesmo projeto que a instância do Cloud Data Fusion, mas pode usar clusters noutro projeto.
Para aceder aos recursos noutros Google Cloud projetos, siga estes passos:
- Determine a conta de serviço para o seu projeto.
- No projeto onde o recurso se encontra, conceda funções de IAM à conta de serviço predefinida do Compute Engine para lhe dar acesso a recursos noutro projeto.
Determine a conta de serviço do Compute Engine
Para mais informações sobre a conta de serviço do Compute Engine, consulte o artigo Acerca do IAM no Cloud Data Fusion.
Conceda recursos de acesso IAM noutro projeto
A conta de serviço predefinida do Compute Engine requer autorizações para aceder a recursos noutro projeto. Estas funções e autorizações podem ser diferentes consoante o recurso ao qual quer aceder.
Para aceder aos recursos, siga estes passos:
- Conceda funções e autorizações, especificando a sua conta de serviço do Compute Engine como um principal no projeto onde o recurso de destino existe.
- Adicione as funções adequadas para aceder ao recurso.
Autorizações da API Cloud Data Fusion
São necessárias as seguintes autorizações para executar a API Cloud Data Fusion.
Chamada da API | Autorização |
---|---|
instances.create |
datafusion.instances.create |
instances.delete |
datafusion.instances.delete |
instances.list |
datafusion.instances.list |
instances.get |
datafusion.instances.get |
instances.update |
datafusion.instances.update |
operations.cancel |
datafusion.operations.cancel |
operations.list |
datafusion.operations.list |
operations.get |
datafusion.operations.get |
Autorizações para tarefas comuns
As tarefas comuns no Cloud Data Fusion requerem as seguintes autorizações:
Tarefa | Autorizações |
---|---|
Aceder à interface Web do Cloud Data Fusion | datafusion.instances.get |
Aceder à página Instâncias do Cloud Data Fusion na consola Google Cloud | datafusion.instances.list |
Aceder à página Detalhes de uma instância | datafusion.instances.get |
Criar uma nova instância | datafusion.instances.create |
Atualizar etiquetas e opções avançadas para personalizar uma instância | datafusion.instances.update |
Eliminar uma instância | datafusion.instances.delete |
O que se segue?
- Saiba mais sobre o controlo de acesso entre vários projetos.