Esta página descreve o caso de uso em que você controla o acesso a recursos do Google Cloudno nível do namespace ao migrar dados do Cloud Storage para o BigQuery.
Para controlar o acesso aos recursos Google Cloud , os namespaces no Cloud Data Fusion usam o Agente de serviço da API Cloud Data Fusion por padrão.
Para um melhor isolamento de dados, é possível associar uma conta de serviço personalizada do IAM (conhecida como conta de serviço por namespace) a cada namespace. A conta de serviço personalizada do IAM, que pode ser diferente para diferentes namespaces, permite controlar o acesso a recursosGoogle Cloud entre namespaces para operações de tempo de design do pipeline no Cloud Data Fusion, como visualização do pipeline, Wrangler e validação do pipeline.
Para mais informações, consulte Controle de acesso com contas de serviço de namespace.
Cenário
Neste caso de uso, o departamento de marketing migra dados do Cloud Storage para o BigQuery usando o Cloud Data Fusion.
O departamento de marketing tem três equipes: A, B e C. Seu objetivo é estabelecer uma abordagem estruturada para controlar o acesso aos dados no Cloud Storage usando namespaces do Cloud Data Fusion correspondentes a cada equipe (A, B e C, respectivamente).
Solução
As etapas a seguir mostram como controlar o acesso a recursos Google Cloud com contas de serviço de namespace, impedindo o acesso não autorizado entre os repositórios de dados de diferentes equipes.
Associar uma conta de serviço do Gerenciamento de identidade e acesso a cada namespace
Configure uma conta de serviço do IAM no namespace para cada equipe (consulte Configurar uma conta de serviço de namespace):
Configure o controle de acesso adicionando uma conta de serviço personalizada para a Equipe A, por exemplo,
team-a@pipeline-design-time-project.iam.gserviceaccount.com
.Figura 1: adicionar uma conta de serviço personalizada para a Equipe A. Repita as etapas de configuração para as equipes B e C para configurar o controle de acesso com contas de serviço personalizadas semelhantes.
Limitar o acesso aos buckets do Cloud Storage
Limite o acesso aos buckets do Cloud Storage concedendo as permissões adequadas:
- Conceda à conta de serviço do IAM a permissão
storage.buckets.list
, necessária para listar buckets do Cloud Storage no projeto. Para mais informações, consulte Como listar buckets. Conceda permissão à conta de serviço do IAM para acessar os objetos em determinados buckets.
Por exemplo, conceda o papel de Leitor de objetos do Storage à conta de serviço do IAM associada ao espaço de nomes
team_A
no bucketteam_a1
. Essa permissão permite que a Equipe A visualize e liste objetos e pastas gerenciadas, além dos respectivos metadados, nesse bucket em um ambiente isolado de design.Figura 2: na página Buckets do Cloud Storage, adicione a equipe como principal e atribua o papel de usuário do objeto do Storage.
Criar a conexão do Cloud Storage nos respectivos namespaces
Crie a conexão do Cloud Storage no namespace de cada equipe:
No console do Google Cloud, acesse a página Instâncias do Cloud Data Fusion e abra uma instância na interface da Web do Cloud Data Fusion.
Clique em Administrador do sistema > Configuração > Namespaces.
Clique no namespace que você quer usar, por exemplo, o namespace da Equipe A.
Clique na guia Conexões e em Adicionar conexão.
Selecione GCS e configure a conexão.
Figura 3: configure a conexão do Cloud Storage para o namespace. Repita as etapas anteriores para criar uma conexão do Cloud Storage para cada namespace. Cada equipe pode interagir com uma cópia isolada desse recurso para as operações de design.
Validar o isolamento do tempo de design para cada namespace
A equipe A pode validar o isolamento no design acessando os buckets do Cloud Storage nos respectivos namespaces:
No console do Google Cloud, acesse a página Instâncias do Cloud Data Fusion e abra uma instância na interface da Web do Cloud Data Fusion.
Clique em Administrador do sistema > Configuração > Namespaces.
Selecione um namespace, por exemplo, o namespace da Equipe A,
team_A
.Clique em > Wrangler.
MenuClique em GCS.
Na lista de buckets, clique no bucket
team_a1
.Você pode conferir a lista de buckets porque o namespace da Equipe A tem a permissão
storage.buckets.list
.Ao clicar no bucket, você pode conferir o conteúdo dele porque o namespace da Equipe A tem o papel de leitor de objetos do Storage.
Figuras 4 e 5: verifique se a equipe A pode acessar o bucket de armazenamento apropriado. Volte para a lista de buckets e clique em
team_b1
outeam_c1
. O acesso é restrito, já que você isolou esse recurso de tempo de design para a Equipe A usando a conta de serviço do namespace.Figura 6: verifique se a equipe A não pode acessar os buckets de armazenamento da equipe B e C.
A seguir
- Saiba mais sobre os recursos de segurança do Cloud Data Fusion.