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

Nesta página, descrevemos o caso de uso em que você controla o acesso aos recursos Google Cloud no nível do namespace ao migrar dados do Cloud Storage para o BigQuery.

Para controlar o acesso aos recursos do Google Cloud , os namespaces no Cloud Data Fusion usam o agente de serviço da API Cloud Data Fusion por padrão.

Para melhorar o isolamento de dados, é possível associar uma conta de serviço do IAM personalizada (conhecida como conta de serviço por namespace) a cada namespace. A conta de serviço do IAM personalizada, que pode ser diferente para namespaces distintos, permite controlar o acesso a recursosGoogle Cloud entre namespaces para operações de tempo de design de pipeline no Cloud Data Fusion, como visualização de pipeline, Wrangler e validação de pipeline.

Para mais informações, consulte Controle de acesso com contas de serviço de namespace.

Cenário

Neste caso de uso, seu 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 coletor 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 aos recursos Google Cloud com contas de serviço de namespace, evitando o acesso não autorizado entre os armazenamentos de dados de diferentes equipes.

Associe uma conta de serviço do Identity and Access Management 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: adicione uma conta de serviço personalizada para a equipe A.
  2. Repita as etapas de configuração para as equipes B e C e configure 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 à conta de serviço do IAM permissão para acessar os objetos em buckets específicos.

    Por exemplo, conceda o papel de Leitor de objetos do Storage à conta de serviço do IAM associada ao namespace team_A no bucket team_a1. Essa permissão permite que a equipe A veja e liste objetos e pastas gerenciadas, além dos respectivos metadados, nesse bucket em um ambiente de tempo de design isolado.

    Conceda a função na página "Detalhes do bucket".
    Figura 2: na página Buckets do Cloud Storage, adicione a equipe como um principal e atribua o papel de usuário de objetos do Storage.

Crie a conexão do Cloud Storage nos respectivos namespaces

Crie uma conexão do Cloud Storage no namespace de cada equipe:

  1. No console 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 tempo de design.

Validar o isolamento no momento do 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 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.

    • É possível conferir a lista de buckets porque o namespace da equipe A tem permissão de storage.buckets.list.

    • Ao clicar no bucket, você pode ver o conteúdo dele porque o namespace da equipe A tem o papel 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 adequado.
  7. Volte para a lista de buckets e clique no bucket 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 dela.

    Valide se a equipe A não pode acessar recursos restritos.
    Figura 6: verifique se a equipe A não consegue acessar os buckets de armazenamento das equipes B e C.

A seguir

  • Saiba mais sobre os recursos de segurança no Cloud Data Fusion.