Exemplo de utilização: controlo de acesso com contas de serviço de espaço de nomes

Esta página descreve o exemplo de utilização em que controla o acesso aos Google Cloud recursos ao nível do espaço de nomes quando migra dados do Cloud Storage para o BigQuery.

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

Para um melhor isolamento de dados, pode associar uma conta de serviço IAM personalizada (conhecida como conta de serviço por espaço de nomes) a cada espaço de nomes. A conta de serviço da IAM personalizada, que pode ser diferente para diferentes espaços de nomes, permite-lhe controlar o acesso aos Google Cloud recursos entre espaços de nomes para operações de tempo de conceção de pipelines no Cloud Data Fusion, como a pré-visualização de pipelines, o Wrangler e a validação de pipelines.

Para mais informações, consulte o artigo Controlo de acesso com contas de serviço do espaço de nomes.

Cenário

Neste exemplo de utilização, o seu departamento de marketing migra dados do Cloud Storage para o BigQuery através do Cloud Data Fusion.

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

O departamento de marketing tem três equipas: A, B e C. O seu objetivo é estabelecer uma abordagem estruturada para controlar o acesso aos dados no Cloud Storage através de espaços de nomes do Cloud Data Fusion correspondentes a cada equipa: A, B e C, respetivamente.

Solução

Os passos seguintes mostram como controlar o acesso aos Google Cloud recursos com contas de serviço de espaço de nomes, impedindo o acesso não autorizado entre os armazenamentos de dados de diferentes equipas.

Associe uma conta de serviço de gestão de identidade e de acesso a cada espaço de nomes

Configure uma conta de serviço do IAM no espaço de nomes para cada equipa (consulte Configurar uma conta de serviço do espaço de nomes):

  1. Configure o controlo de acesso adicionando uma conta de serviço personalizada para a equipa A, por exemplo, team-a@pipeline-design-time-project.iam.gserviceaccount.com.

    Configure uma conta de serviço para a equipa A.
    Figura 1: adicione uma conta de serviço personalizada para a equipa A.
  2. Repita os passos de configuração para as equipas B e C para configurar o controlo de acesso com contas de serviço personalizadas semelhantes.

Limite o acesso aos contentores do Cloud Storage

Limite o acesso aos contentores do Cloud Storage concedendo as autorizações adequadas:

  1. Conceda à conta de serviço de IAM a autorização storage.buckets.list necessária para listar contentores do Cloud Storage no projeto. Para mais informações, consulte o artigo Listar contentores.
  2. Conceda à conta de serviço da IAM autorização para aceder aos objetos em determinados contentores.

    Por exemplo, conceda a função Storage Object Viewer à conta de serviço da IAM associada ao espaço de nomes team_A no contentor team_a1. Esta autorização permite que a equipa A veja e liste objetos e pastas geridas, juntamente com os respetivos metadados, nesse contentor num ambiente de tempo de conceção isolado.

    Conceda a função na página de detalhes do contentor.
    Figura 2: na página Contentores do Cloud Storage, adicione a equipa como principal e atribua a função Utilizador de objetos de armazenamento.

Crie a ligação do Cloud Storage nos namespaces respetivos

Crie uma ligação do Cloud Storage no namespace de cada equipa:

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud Data Fusion e abra uma instância na interface Web do Cloud Data Fusion.

    Aceda a Instâncias

  2. Clique em Administrador do sistema > Configuração > Espaços de nomes.

  3. Clique no espaço de nomes que quer usar, por exemplo, o espaço de nomes da equipa A.

  4. Clique no separador Associações e, de seguida, em Adicionar associação.

  5. Selecione GCS e configure a associação.

    Crie a ligação do Cloud Storage no Cloud Data Fusion
    Figura 3: configure a ligação do Cloud Storage para o espaço de nomes.
  6. Crie uma ligação do Cloud Storage para cada espaço de nomes repetindo os passos anteriores. Em seguida, cada equipa pode interagir com uma cópia isolada desse recurso para as respetivas operações de tempo de conceção.

Valide o isolamento no momento da conceção para cada espaço de nomes

A equipa A pode validar o isolamento na conceção acedendo aos contentores do Cloud Storage nos respetivos namespaces:

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud Data Fusion e abra uma instância na interface Web do Cloud Data Fusion.

    Aceda a Instâncias

  2. Clique em Administrador do sistema > Configuração > Espaços de nomes.

  3. Selecione um espaço de nomes, por exemplo, o espaço de nomes da equipa A, team_A.

  4. Clique em Menu > Wrangler.

  5. Clique em GCS.

  6. Na lista de pastas, clique na pasta team_a1.

    • Pode ver a lista de contentores porque o espaço de nomes da equipa A tem autorização storage.buckets.list.

    • Quando clica no contentor, pode ver o respetivo conteúdo porque o espaço de nomes da equipa A tem a função Storage Object Viewer.

    Valide a ligação do Cloud Storage para a equipa A. Valide se a equipa A consegue aceder aos contentores.
    Figuras 4 e 5: verifique se a equipa A consegue aceder ao contentor de armazenamento adequado.
  7. Volte à lista de depósitos e clique no depósito team_b1 ou team_c1. O acesso está restrito, uma vez que isolou este recurso de tempo de conceção para a equipa A através da respetiva conta de serviço do espaço de nomes.

    Valide que a equipa A não consegue aceder a recursos restritos.
    Figura 6: verifique se a equipa A não consegue aceder aos contentores de armazenamento das equipas B e C.

O que se segue?

  • Saiba mais sobre as funcionalidades de segurança no Cloud Data Fusion.