Configurar papéis de BigQuery Sharing

Para gerenciar o acesso às trocas de dados e listagens de compartilhamento do BigQuery, conceda papéis específicos do Identity and Access Management (IAM) para o compartilhamento do BigQuery (antigo Analytics Hub). Ao atribuir esses papéis, você controla as permissões dos seus dados e ajuda a garantir que apenas usuários autorizados possam descobrir, assinar e gerenciar seus recursos de compartilhamento de dados pessoais.

Papéis do IAM de compartilhamento do BigQuery

As seções a seguir descrevem os papéis de usuário predefinidos de compartilhamento do BigQuery. Atribua esses papéis para controlar o acesso às suas trocas de dados e listagens.

Papel de administrador do Analytics Hub

Para gerenciar trocas de dados, o compartilhamento do BigQuery oferece o papel de administrador do Analytics Hub (roles/analyticshub.admin) que pode ser concedido a um projeto ou uma troca de dados. Esse papel permite que você faça o seguinte:

  • Criar, atualizar e excluir trocas de dados.
  • Criar, atualizar, excluir e compartilhar listagens.
  • Gerenciar administradores do compartilhamento do BigQuery, administradores das listagens, editores, assinantes e leitores.

Com esse papel, você se torna um administrador de BigQuery Sharing.

Papéis de editor e administrador de listagem do Analytics Hub

Para gerenciar listagens, o compartilhamento do BigQuery oferece os seguintes papéis predefinidos para você conceder a um projeto, uma troca de dados ou uma listagem:

Papéis de Leitor e leitores do Analytics Hub

Para ver e assinar listagens e trocas de dados, o compartilhamento do BigQuery oferece os seguintes papéis predefinidos que você pode conceder a um projeto, uma troca de dados ou uma listagem:

  • Papel de assinante do Analytics Hub (roles/analyticshub.subscriber), que permite que você veja e assine listagens.

    Com esse papel, você se torna um assinante do BigQuery Sharing.

  • Papel de leitor do Analytics Hub (roles/analyticshub.viewer), que permite que você veja listagens e permissões de troca de dados.

    Com esse papel, você se torna um Leitor de BigQuery Sharing.

Papel de proprietário de assinatura do Analytics Hub

Para gerenciar assinaturas, o compartilhamento do BigQuery oferece o seguinte papel predefinido que você pode conceder a um projeto:

Com esse papel, você se torna um proprietário de assinatura do BigQuery Sharing.

Conceder papéis do IAM de compartilhamento do BigQuery

É possível conceder papéis do IAM nos seguintes níveis da hierarquia de recursos:

  • Projeto. Se você conceder um papel para um projeto, ele será aplicado a todas as trocas de dados e listagens desse projeto.
  • Troca de dados. Se você conceder um papel para uma troca de dados, ele será aplicado a todas as listagens dessa troca de dados.
  • Informações do produto Se você conceder um papel para uma listagem, ele será aplicado apenas a essa listagem específica.

Conceder papéis para um projeto

Se você quiser definir políticas do IAM em um projeto, será necessário ter o papel de administrador do IAM do projeto (roles/resourcemanager.projectIamAdmin) nesse projeto. Para conceder os papéis do IAM predefinidos de compartilhamento do BigQuery para um projeto, selecione uma das seguintes opções:

Console

  1. No Google Cloud console, acesse a página IAM.

    Acessar IAM

  2. Clique em Conceder acesso.

  3. No campo Novos participantes, insira o endereço de e-mail do participante a quem você quer conceder acesso. É possível especificar qualquer um dos seguintes tipos de participantes:

    • Endereço de e-mail da Conta do Google: test-user@gmail.com
    • Grupo do Google: admins@googlegroups.com
    • Conta de serviço: server@example.gserviceaccount.com
    • Domínio do Google Workspace: example.com
  4. Na lista Selecionar um papel , mantenha o ponteiro sobre Analytics Hub e selecione um dos seguintes papéis:

    • Administrador do Analytics Hub
    • Administrador de listagens do Analytics Hub
    • Editor do Analytics Hub
    • Assinante do Analytics Hub
    • Proprietário de assinatura do Analytics Hub
    • Leitor do Analytics Hub
  5. Opcional: para controlar ainda mais o acesso aos Google Cloud recursos, adicione uma vinculação de papel condicional.

  6. Clique em Salvar.

gcloud

Para conceder papéis a um projeto, use o gcloud projects add-iam-policy-binding comando:

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

Substitua:

  • PROJECT_ID: o ID do projeto, por exemplo, my-project-1.
  • PRINCIPAL: um participante válido a quem você quer conceder o papel. É possível especificar qualquer um dos seguintes tipos de participantes:

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

API

  1. Para ler a política atual, use o projects.getIamPolicy método:

    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 participantes e os papéis associados, edite a política com um editor de texto. Use o seguinte formato para adicionar membros:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

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

    {
     "members": [
       "group:admins@googlegroups.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. Para definir uma política para um projeto, use o projects.setIamPolicy método. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior:

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

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

É possível atualizar e excluir papéis do projeto usando o mesmo painel do IAM.

Conceder papéis para uma troca de dados

Ao conceder permissões para uma troca de dados, é necessário usar letras minúsculas para o local no nome do recurso. O uso de valores em maiúsculas ou mistos pode causar erros de permissão negada.

Os exemplos a seguir mostram formatos de nome de recurso válidos e inválidos:

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

Para conceder papéis para uma troca de dados, selecione uma das seguintes opções:

Console

  1. No Google Cloud console, acesse a página Compartilhamento (Analytics Hub).

    Acessar Compartilhamento (Analytics Hub)

  2. Clique no nome da troca de dados para que você quer definir permissões.

  3. Clique na guia Detalhes.

  4. Clique em Definir permissões.

  5. Para adicionar participantes, clique em Adicionar participante.

  6. No campo Novos participantes, insira o endereço de e-mail do participante a quem você quer conceder acesso. Também é possível usar allUsers para tornar um recurso público e acessível a todos na Internet ou allAuthenticatedUsers para torná-lo acessível apenas a usuários do Google conectados.

  7. Na lista Selecionar um papel , mantenha o ponteiro sobre Analytics Hub e selecione um dos seguintes papéis do IAM:

    • Administrador do Analytics Hub
    • Administrador de listagens do Analytics Hub
    • Editor do Analytics Hub
    • Assinante do Analytics Hub
    • Proprietário de assinatura do Analytics Hub
    • Leitor do Analytics Hub
  8. Clique em Salvar.

API

  1. Para ler a política atual, use o projects.locations.dataExchanges.getIamPolicy método:

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

    Substitua:

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

    O compartilhamento do BigQuery retorna a política atual.

  2. Para adicionar ou remover membros e os papéis do IAM associados, edite a política com um editor de texto. Use o seguinte formato para adicionar membros:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

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

    {
     "members": [
       "group:subscribers@googlegroups.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. Para definir a política da troca de dados, use o projects.locations.dataExchanges.setIamPolicy método. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior:

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

É possível atualizar e excluir papéis de troca de dados usando o mesmo painel do IAM.

Conceder papéis para uma listagem

Ao conceder permissões para uma listagem, é necessário usar letras minúsculas para o local no nome do recurso. O uso de valores em maiúsculas ou mistos pode causar erros de permissão negada.

Os exemplos a seguir mostram formatos de nome de recurso válidos e inválidos:

  • Usar: 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

Para conceder papéis para uma listagem, selecione uma das seguintes opções:

Console

  1. No Google Cloud console, acesse a página Compartilhamento (Analytics Hub).

    Acessar Compartilhamento (Analytics Hub)

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

  3. Clique na listagem para que você quer definir permissões.

  4. Clique em Definir permissões.

  5. Para adicionar participantes, clique em Adicionar participante.

  6. No campo Novos participantes, insira o endereço de e-mail do participante a quem você quer conceder acesso.

  7. Na lista Selecionar um papel , mantenha o ponteiro sobre Analytics Hub e selecione um dos seguintes papéis do IAM:

    • Administrador do Analytics Hub
    • Administrador de listagens do Analytics Hub
    • Editor do Analytics Hub
    • Assinante do Analytics Hub
    • Proprietário de assinatura do Analytics Hub
    • Leitor do Analytics Hub
  8. Clique em Salvar.

API

  1. Para ler a política atual, use o projects.locations.dataExchanges.listings.getIamPolicy método:

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

    Substitua:

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

    O compartilhamento do BigQuery retorna a política atual.

  2. Para adicionar ou remover membros e os papéis do IAM associados, edite a política com um editor de texto. Use o seguinte formato para adicionar membros:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

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

    {
     "members": [
       "group:publishers@googlegroups.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. Para definir a política das informações do produto, use o projects.locations.dataExchanges.listings.setIamPolicy método. No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior:

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

É possível atualizar e excluir papéis de informações do produto usando o mesmo painel do IAM.

A seguir