Configure funções de partilha do BigQuery

Este documento descreve as funções de gestão de identidades e acessos (IAM) usadas para a partilha do BigQuery (anteriormente Analytics Hub) e como as conceder aos utilizadores. 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.

Os utilizadores com esta função são denominados administradores 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.

    Os utilizadores com esta função são denominados subscritores da partilha do BigQuery.

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

    Os utilizadores com esta função são denominados leitores 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:

Os utilizadores com esta função são denominados proprietários 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 aos utilizadores uma função para um projeto, a função é aplicada a todas as trocas de dados e fichas que o projeto contém.

  • Troca de dados. Se conceder aos utilizadores uma função para uma troca de dados, a função é aplicada a todas as fichas que a troca de dados contém.

  • Ficha. Se conceder aos utilizadores uma função para uma ficha, a função é aplicada 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.

    Aceda 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 dos utilizadores aos Google Cloud recursos, adicione uma associação de funções condicional.

  6. Guarde as alterações.

Pode eliminar e atualizar administradores de um projeto através do mesmo painel do IAM, explicado nos passos anteriores.

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 ID do projeto, por exemplo, my-project-1
  • PRINCIPAL: uma identidade válida à qual quer conceder a função

    Por exemplo:

    • 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 ID do 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 todos 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 para uma troca de dados através do mesmo painel do IAM, conforme explicado nos passos anteriores.

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 para uma ficha através do mesmo painel do IAM, explicado nos passos anteriores.

O que se segue?