Configurar papéis de BigQuery Sharing
Este documento descreve os papéis do Identity and Access Management (IAM) para o BigQuery Sharing (antigo Analytics Hub) e como concedê-los. Para mais informações, consulte Papéis e permissões do BigQuery Sharing.
Papéis do IAM de compartilhamento do BigQuery
As seções a seguir descrevem os papéis predefinidos de compartilhamento do BigQuery. É possível atribuir esses papéis aos usuários para realizar várias tarefas nas suas trocas de dados e listagens.
Papel 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 Google Cloud projeto ou troca de dados. Esse papel permite que os usuários façam o seguinte:
- Criar, atualizar e excluir trocas de dados.
- Criar, atualizar, excluir e compartilhar listagens.
- Gerenciar administradores do BigQuery Sharing, 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 oferece os seguintes papéis predefinidos para você conceder a um projeto, uma troca de dados ou uma listagem:
Papel de Editor do Analytics Hub (
roles/analyticshub.publisher), que permite aos usuários fazer o seguinte:- Criar, atualizar e excluir listagens.
- Definir políticas do IAM em listagens.
Com esse papel, você se torna um BigQuery Sharing publisher.
Papel de Administrador de listagens do Analytics Hub (
roles/analyticshub.listingAdmin), que permite aos usuários fazer o seguinte:- Atualizar e excluir listagens.
- Definir políticas do IAM em listagens.
Com esse papel, você se torna um administrador de BigQuery Sharing.
Papéis de Leitor e leitores do Analytics Hub
Para visualizar e se inscrever em listagens e trocas de dados, o compartilhamento 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 aos usuários visualizar e se inscrever em listagens.Com esse papel, você se torna um assinante do BigQuery Sharing.
Papel de Leitor do Analytics Hub (
roles/analyticshub.viewer), que permite que os usuários visualizem as listagens e as 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 oferece o seguinte papel predefinido que você pode conceder no nível do projeto:
- Papel de proprietário de assinatura do Analytics Hub
(
roles/analyticshub.subscriptionOwner), que permite que os usuários gerenciem as assinaturas.
Com esse papel, você se torna um proprietário de assinatura do BigQuery Sharing.
Conceder papéis do IAM de compartilhamento do BigQuery
Dependendo da sua necessidade, é possível conceder os 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 nesse projeto.
- Troca de dados. Se você conceder um papel para uma troca de dados, ele será aplicado a todas as listagens nessa 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 o papel a 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 predefinidos de Identity and Access Management de BigQuery Sharing para um projeto, selecione uma das seguintes opções.
Console
Acesse o IAM referente ao projeto.
Clique em CONCEDER ACESSO.
No campo Novos principais, digite o endereço de e-mail da identidade a quem você quer conceder acesso. Exemplo:
- 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
- E-mail da Conta do Google:
Na lista Selecionar um papel, mantenha o ponteiro sobre o 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
Opcional: para controlar ainda mais o acesso aos Google Cloud recursos, adicione uma vinculação de papel condicional.
Salve as alterações.
É possível excluir e atualizar administradores de projetos usando o mesmo painel do IAM.
gcloud
Para conceder papéis no 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:
PROJECT_ID: o projeto, por exemplo,my-project-1.PRINCIPAL: uma identidade válida à qual você quer conceder o papel. Exemplo:- Endereço de e-mail da Conta do Google:
user: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
- Endereço de e-mail da Conta do Google:
API
Leia a política atual com o respectivo método
getIamPolicydo recurso. Para projetos, use oprojects.getIamPolicymétodo.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Substitua
PROJECT_IDpelo projeto, por exemplo,my-project-1.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.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por exemplo, para conceder o papel
roles/analyticshub.adminagroup:admins@example.com, adicione a seguinte vinculação à política:{ "members": [ "group:admins@example.com" ], "role":"roles/analyticshub.admin" }Grave a política atualizada usando o método
setIamPolicy.Por exemplo, para definir uma política no nível do projeto, use o
project.setIamPolicymé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_IDpelo ID do projeto.
Conceder o papel para uma troca de dados
Para conceder o papel a uma troca de dados, siga estas etapas:
Console
No Google Cloud console, acesse a página Compartilhamento (Analytics Hub).
Clique no nome da troca de dados para que você quer definir permissões.
Acesse a guia Detalhes.
Clique em Definir permissões.
Para adicionar participantes, clique em Adicionar participante.
No campo Novos principais, adicione os IDs de e-mail a quem você quer conceder acesso. Também é possível usar
allUserspara tornar um recurso público e acessível a todos na Internet ouallAuthenticatedUserspara torná-lo acessível apenas a usuários do Google conectados.No menu Selecionar um papel , selecione Analytics Hub e, em seguida, selecione um dos seguintes papéis do Identity and Access Management (IAM, na sigla em inglês):
- 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
Clique em Salvar.
API
Leia a política atual com o método
getIamPolicyda ficha da empresa usando o métodoprojects.locations.dataExchanges.getIamPolicy: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-1LOCATION: o local da troca de dados. Use letras minúsculas.DATAEXCHANGE_ID: o ID da troca de dados.
O BigQuery Sharing (antigo Analytics Hub) retorna a política atual.
Para adicionar ou remover membros e os papéis do Identity and Access Management (IAM) associados, edite a política com um editor de texto. Use o seguinte formato para adicionar membros:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por exemplo, para conceder o papel
roles/analyticshub.subscriberagroup:subscribers@example.com, adicione a seguinte vinculação à política:{ "members": [ "group:subscribers@example.com" ], "role":"roles/analyticshub.subscriber" }Grave a política atualizada usando o método
projects.locations.dataExchanges.setIamPolicy. 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
No corpo da solicitação, forneça os detalhes da ficha. Se a solicitação for bem-sucedida, o corpo da resposta conterá detalhes das informações do produto.
Ao conceder permissões no nível do recurso, como em uma troca de dados, é necessário usar letras minúsculas para a parte do local do nome do recurso. O uso de valores em maiúsculas ou mistos pode causar erros Permission Denied.
- Use:
projects/myproject/locations/us/dataExchanges/123 - Evite:
projects/myproject/locations/US/dataExchanges/123 - Evite:
projects/myproject/locations/Eu/dataExchanges/123
É possível excluir e atualizar papéis de troca de dados usando o mesmo painel do IAM.
Conceder o papel a uma listagem
Para conceder o papel a uma listagem, siga estas etapas:
Console
No Google Cloud console, acesse a página Compartilhamento (Analytics Hub).
Clique no nome da troca de dados que contém a ficha da empresa.
Clique na listagem à qual você quer adicionar usuários.
Clique em Definir permissões.
Para adicionar participantes, clique em Adicionar participante.
No campo Novos principais, adicione os IDs de e-mail da identidade a quem você quer conceder acesso.
No menu Selecionar um papel , selecione Analytics Hub e, em seguida, selecione um dos seguintes papéis do Identity and Access Management (IAM, na sigla em inglês):
- 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
Clique em Salvar.
API
Leia a política atual com o método
getIamPolicyda ficha da empresa usando o métodoprojects.locations.dataExchanges.listings.getIamPolicy: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-1LOCATION: 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 retorna a política atual.
Para adicionar ou remover membros e os papéis do Identity and Access Management (IAM) associados, edite a política com um editor de texto. Use o seguinte formato para adicionar membros:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por exemplo, para conceder o papel
roles/analyticshub.publisheragroup:publishers@example.com, adicione a seguinte vinculação à política:{ "members": [ "group:publishers@example.com" ], "role":"roles/analyticshub.publisher" }Grave a política atualizada usando o método
projects.locations.dataExchanges.listings.setIamPolicy. 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
No corpo da solicitação, forneça os detalhes da ficha. Se a solicitação for bem-sucedida, o corpo da resposta conterá detalhes das informações do produto.
Ao conceder permissões no nível do recurso, como em uma listagem, é necessário usar letras minúsculas para a parte do local do nome do recurso. O uso de valores em maiúsculas ou mistos pode causar erros Permission Denied.
- Use:
projects/myproject/locations/us/dataExchanges/123/listings/456 - Evite:
projects/myproject/locations/US/dataExchanges/123/listings/456 - Evite:
projects/myproject/locations/Eu/dataExchanges/123/listings/456
É possível excluir e atualizar papéis de informações do produto usando o mesmo painel do IAM.
A seguir
- Saiba mais sobre os papéis do IAM do BigQuery.
- Saiba mais sobre o compartilhamento do BigQuery.
- Saiba como gerenciar trocas de dados.
- Saiba como gerenciar listagens.
- Saiba como visualizar e se inscrever em listagens e trocas de dados.