Configure funções de partilha do BigQuery

Este documento descreve as funções de gestão de identidades e acessos (IAM) para a partilha do BigQuery (anteriormente Analytics Hub) e como as conceder. Para mais informações, consulte o artigo Funções e autorizações de partilha do BigQuery.

Funções de IAM de partilha do BigQuery

As secções seguintes descrevem as funções de partilha do BigQuery predefinidas. Pode atribuir estas funções aos utilizadores para realizarem várias tarefas nas suas trocas de dados e fichas.

Função de administrador do Analytics Hub

Para gerir trocas de dados, a partilha do BigQuery oferece a função de administrador do Analytics Hub (roles/analyticshub.admin) que pode conceder para um Google Cloud projeto ou uma troca de dados. Esta função permite que os utilizadores façam o seguinte:

  • Criar, atualizar e eliminar trocas de dados.
  • Criar, atualizar, eliminar e partilhar fichas.
  • Faça a gestão dos administradores de partilha, dos administradores de fichas, dos publicadores, dos subscritores e dos visitantes do BigQuery.

Com esta função, torna-se um administrador de partilha do BigQuery.

Funções de administrador do publicador e da ficha do Analytics Hub

Para gerir fichas, a partilha oferece as seguintes funções predefinidas que pode conceder para um projeto, uma troca de dados ou uma ficha:

Funções de subscritor e leitor do Analytics Hub

Para ver e subscrever fichas e trocas de dados, a partilha oferece as seguintes funções predefinidas que pode conceder para um projeto, uma troca de dados ou uma ficha:

  • Função de subscritor do Analytics Hub (roles/analyticshub.subscriber), que permite aos utilizadores ver e subscrever fichas.

    Com esta função, torna-se um subscritor da partilha do BigQuery.

  • Função de leitor do Analytics Hub (roles/analyticshub.viewer), que permite aos utilizadores ver fichas e autorizações de troca de dados.

    Com esta função, torna-se um visitante de partilha do BigQuery.

Função de proprietário da subscrição do Analytics Hub

Para gerir subscrições, a partilha fornece a seguinte função predefinida que pode conceder ao nível do projeto:

Com esta função, torna-se um proprietário da subscrição de partilha do BigQuery.

Conceda funções de IAM de partilha do BigQuery

Consoante a sua necessidade, pode conceder as funções de IAM nos seguintes níveis da hierarquia de recursos:

  • Projeto. Se conceder uma função para um projeto, esta aplica-se a todas as trocas de dados e fichas nesse projeto.
  • Troca de dados. Se conceder uma função para uma troca de dados, esta aplica-se a todas as fichas nessa troca de dados.
  • Ficha. Se conceder uma função para uma ficha, esta aplica-se apenas a essa ficha específica.

Conceda a função para um projeto

Se quiser definir políticas de IAM num projeto, tem de ter a função de administrador de IAM do projeto (roles/resourcemanager.projectIamAdmin) nesse projeto. Para conceder as funções de gestão de identidades e acessos de partilha do BigQuery predefinidas para um projeto, selecione uma das seguintes opções.

Consola

  1. Aceda a IAM para o projeto.

    Aceder ao IAM

  2. Clique em Conceder acesso.

  3. No campo Novos membros, introduza o endereço de email da identidade à qual quer conceder acesso. Por exemplo:

    • Email da Conta Google: test-user@gmail.com
    • Grupo Google: admins@googlegroups.com
    • Conta de serviço: server@example.gserviceaccount.com
    • Domínio do Google Workspace: example.com
  4. Na lista Selecionar uma função, mantenha o ponteiro sobre Analytics Hub e selecione uma das seguintes funções:

    • Administrador do Analytics Hub
    • Administrador da ficha do Analytics Hub
    • Editor do Analytics Hub
    • Subscritor do Analytics Hub
    • Proprietário da subscrição do Analytics Hub
    • Visualizador do Analytics Hub
  5. Opcional: para controlar ainda mais o acesso aos Google Cloud recursos, adicione uma associação de funções condicional.

  6. Guarde as alterações.

    Pode eliminar e atualizar os administradores do projeto através do mesmo painel do IAM.

gcloud

Para conceder funções ao nível do projeto, use o comando gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='PRINCIPAL' \
    --role='roles/analyticshub.admin'

Substitua o seguinte:

  • PROJECT_ID: o projeto, por exemplo, my-project-1.
  • PRINCIPAL: uma identidade válida à qual quer conceder a função. Por exemplo:

    • Endereço de email da Conta Google: user:user@gmail.com
    • Grupo Google: group:admins@googlegroups.com
    • Conta de serviço: serviceAccount:server@example.gserviceaccount.com
    • Domínio do Google Workspace: domain:example.com

API

  1. Leia a política existente com o método getIamPolicy do recurso. Para projetos, use o método projects.getIamPolicy.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
    

    Substitua PROJECT_ID pelo projeto, por exemplo, my-project-1.

  2. Para adicionar responsáveis e as respetivas funções associadas, edite a política com um editor de texto. Use o seguinte formato para adicionar membros:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    Por exemplo, para conceder a função roles/analyticshub.admin a group:admins@example.com, adicione a seguinte associação à política:

    {
     "members": [
       "group:admins@example.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. Escreva a política atualizada através do método setIamPolicy.

    Por exemplo, para definir uma política ao nível do projeto, use o método project.setIamPolicy. No corpo do pedido, indique a política de IAM atualizada do passo anterior.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
    

    Substitua PROJECT_ID pelo ID do projeto.

Conceda a função para uma troca de dados

Para conceder a função para uma troca de dados, siga estes passos:

Consola

  1. Na Google Cloud consola, aceda à página Partilha (Analytics Hub).

    Aceda à partilha (Analytics Hub)

  2. Clique no nome da troca de dados para a qual quer definir autorizações.

  3. Aceda ao separador Detalhes.

  4. Clique em Definir autorizações.

  5. Para adicionar diretores, clique em Adicionar diretor.

  6. No campo Novos responsáveis, adicione os IDs de email aos quais quer conceder acesso. Também pode usar allUsers para tornar um recurso público e acessível a todas as pessoas na Internet ou allAuthenticatedUsers para o tornar acessível apenas aos utilizadores do Google com sessão iniciada.

  7. No menu Selecionar uma função, selecione Analytics Hub e, de seguida, selecione uma das seguintes funções de gestão de identidades e acessos (IAM):

    • Administrador do Analytics Hub
    • Administrador da ficha do Analytics Hub
    • Editor do Analytics Hub
    • Subscritor do Analytics Hub
    • Proprietário da subscrição do Analytics Hub
    • Visualizador do Analytics Hub
  8. Clique em Guardar.

API

  1. Leia a política existente com o método getIamPolicy através do método projects.locations.dataExchanges.getIamPolicy:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do projeto, por exemplo, my-project-1.
    • LOCATION: a localização da sua troca de dados. Use letras minúsculas.
    • DATAEXCHANGE_ID: o ID da troca de dados.

    A partilha do BigQuery (anteriormente Analytics Hub) devolve a política atual.

  2. Para adicionar ou remover membros e as respetivas funções de gestão de identidade e acesso (IAM) associadas, edite a política com um editor de texto. Use o seguinte formato para adicionar membros:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    Por exemplo, para conceder a função roles/analyticshub.subscriber a group:subscribers@example.com, adicione a seguinte associação à política:

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. Escreva a política atualizada através do método projects.locations.dataExchanges.setIamPolicy. No corpo do pedido, indique a política de IAM atualizada do passo anterior.

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
    

    No corpo do pedido, indique os detalhes da ficha. Se o pedido for bem-sucedido, o corpo da resposta contém detalhes da ficha.

Quando concede autorizações ao nível do recurso, como numa troca de dados, tem de usar letras minúsculas para a parte de localização do nome do recurso. A utilização de valores em maiúsculas ou com maiúsculas e minúsculas pode causar erros Permission Denied.

  • Utilize: projects/myproject/locations/us/dataExchanges/123
  • Evitar: projects/myproject/locations/US/dataExchanges/123
  • Evitar: projects/myproject/locations/Eu/dataExchanges/123

Pode eliminar e atualizar funções de troca de dados através do mesmo painel do IAM.

Conceda a função para uma ficha

Para conceder a função a uma ficha, siga estes passos:

Consola

  1. Na Google Cloud consola, aceda à página Partilha (Analytics Hub).

    Aceda à partilha (Analytics Hub)

  2. Clique no nome da troca de dados que contém a ficha.

  3. Clique na ficha para a qual quer adicionar utilizadores.

  4. Clique em Definir autorizações.

  5. Para adicionar responsáveis, clique em Adicionar responsável.

  6. No campo Novos responsáveis, adicione os IDs de email da identidade à qual quer conceder acesso.

  7. No menu Selecionar uma função, selecione Analytics Hub e, de seguida, selecione uma das seguintes funções de gestão de identidades e acessos (IAM):

    • Administrador do Analytics Hub
    • Administrador da ficha do Analytics Hub
    • Editor do Analytics Hub
    • Subscritor do Analytics Hub
    • Proprietário da subscrição do Analytics Hub
    • Visualizador do Analytics Hub
  8. Clique em Guardar.

API

  1. Leia a política existente com o método getIamPolicy através do método projects.locations.dataExchanges.listings.getIamPolicy:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do projeto, por exemplo, my-project-1.
    • LOCATION: a localização da troca de dados que contém a ficha. Use letras minúsculas.
    • DATAEXCHANGE_ID: o ID da troca de dados.
    • LISTING_ID: o ID da ficha.

    A partilha devolve a política atual.

  2. Para adicionar ou remover membros e as respetivas funções de gestão de identidade e acesso (IAM) associadas, edite a política com um editor de texto. Use o seguinte formato para adicionar membros:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    Por exemplo, para conceder a função roles/analyticshub.publisher a group:publishers@example.com, adicione a seguinte associação à política:

    {
     "members": [
       "group:publishers@example.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. Escreva a política atualizada através do método projects.locations.dataExchanges.listings.setIamPolicy. No corpo do pedido, indique a política de IAM atualizada do passo anterior.

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING-ID:setIamPolicy
    

    No corpo do pedido, indique os detalhes da ficha. Se o pedido for bem-sucedido, o corpo da resposta contém detalhes da ficha.

Quando concede autorizações ao nível do recurso, como num anúncio, tem de usar letras minúsculas na parte de localização do nome do recurso. A utilização de valores em maiúsculas ou com maiúsculas e minúsculas pode causar erros Permission Denied.

  • Utilize: projects/myproject/locations/us/dataExchanges/123/listings/456
  • Evitar: projects/myproject/locations/US/dataExchanges/123/listings/456
  • Evitar: projects/myproject/locations/Eu/dataExchanges/123/listings/456

Pode eliminar e atualizar funções de fichas através do mesmo painel da IAM.

O que se segue?