Caso de uso: controle de acesso com contas de serviço de namespace

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.

Pipeline de dados mostrando a origem do Cloud Storage, a transformação do Wrangler e o destino do BigQuery.

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):

  1. 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.

    Configure uma conta de serviço para a Equipe A.
    Figura 1: adicionar uma conta de serviço personalizada para a Equipe A.
  2. 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:

  1. 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.
  2. 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 bucket team_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.

    Conceda o papel na página "Detalhes do bucket".
    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:

  1. 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.

    Acesse "Instâncias"

  2. Clique em Administrador do sistema > Configuração > Namespaces.

  3. Clique no namespace que você quer usar, por exemplo, o namespace da Equipe A.

  4. Clique na guia Conexões e em Adicionar conexão.

  5. Selecione GCS e configure a conexão.

    Criar a conexão do Cloud Storage no Cloud Data Fusion
    Figura 3: configure a conexão do Cloud Storage para o namespace.
  6. 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:

  1. 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.

    Acesse "Instâncias"

  2. Clique em Administrador do sistema > Configuração > Namespaces.

  3. Selecione um namespace, por exemplo, o namespace da Equipe A, team_A.

  4. Clique em Menu > Wrangler.

  5. Clique em GCS.

  6. 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.

    Valide a conexão do Cloud Storage para a Equipe A. Valide se os buckets podem ser acessados pela Equipe A.
    Figuras 4 e 5: verifique se a equipe A pode acessar o bucket de armazenamento apropriado.
  7. Volte para a lista de buckets e clique em team_b1 ou team_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.

    Valide se a equipe A não pode acessar recursos restritos.
    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.