Gerenciar trocas de dados
Neste documento, descrevemos como gerenciar trocas de dados no compartilhamento do BigQuery (antigo Analytics Hub). Como administrador de compartilhamento do BigQuery, você pode fazer o seguinte:
- Criar, atualizar, visualizar, compartilhar e excluir trocas de dados.
- Criar, atualizar, excluir e compartilhar listagens.
- Gerenciar administradores de compartilhamento do BigQuery, administradores das listagens, editores, assinantes e leitores.
Por padrão, uma troca de dados é particular. Somente usuários ou grupos com acesso a uma troca podem visualizar ou se inscrever nos dados dela. Você pode pedir para
tornar sua troca de dados pública.
Ao tornar sua troca de dados pública, os
usuários doGoogle Cloud (allAuthenticatedUsers)
podem
descobrir
e
assinar
listagens.
Antes de começar
Para começar a usar o BigQuery Sharing (antigo Analytics Hub), ative a API Analytics Hub no projeto Google Cloud .
Para ativar a API Analytics Hub, você precisa das seguintes permissões de gerenciamento de identidade e acesso (IAM):
serviceUsage.services.getserviceUsage.services.listserviceUsage.services.enable
O papel predefinido do IAM a seguir inclui as permissões necessárias para ativar a API Analytics Hub:
- Administrador do Service Usage (
roles/serviceusage.serviceUsageAdmin)
Para ativar a API Analytics Hub, selecione uma das seguintes opções:
Console
Acesse a página da API Analytics Hub e ative a API para seu Google Cloud projeto.
gcloud
Execute o comando gcloud services enable:
gcloud services enable analyticshub.googleapis.com
Funções exigidas
Para receber as permissões necessárias
para gerenciar trocas de dados,
peça ao administrador para conceder a você o
papel do IAM de Administrador do Analytics Hub (roles/analyticshub.admin)
no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Criar uma troca de dados
Para criar uma troca de dados, siga estas etapas:
Console
Acesse a página Compartilhamento (Analytics Hub).
Clique em Criar troca.
Na caixa de diálogo Criar troca, selecione um Projeto e uma Região para a troca de dados. Não é possível atualizar o projeto e a região depois de criar a troca de dados.
No campo Nome de exibição, insira um nome para sua troca de dados.
Opcional: insira valores nos campos a seguir:
- Contato principal: insira o URL ou o endereço de e-mail do contato principal da troca de dados.
- Descrição: insira uma descrição para a troca de dados.
Para registrar os identificadores principais de todos os usuários que executam jobs e consultas em conjuntos de dados vinculados, clique na chave Registro de e-mails de assinantes. Quando você ativa essa opção, todas as listagens futuras na troca de dados têm a geração de registros de e-mails de assinantes ativada. Os dados registrados estão disponíveis no campo
job_principal_subjectda visualizaçãoINFORMATION_SCHEMA.SHARED_DATASET_USAGE.Para ativar a detecção pública, clique na opção Detecção pública. Quando uma troca pode ser descoberta publicamente, todas as listagens na troca aparecem e podem ser pesquisadas no catálogo. Se você ativar a descoberta pública, configure as permissões de troca. Por padrão, todas as listagens herdam a configuração de descoberta pública da troca de dados. Essa herança de configurações significa que as trocas públicas não podem ter listagens privadas, mas as trocas privadas podem ter listagens públicas. É possível definir o tipo de descoberta pública no nível de listagem individual. O projeto em que você cria a troca de dados precisa ter uma organização e uma conta de faturamento associadas.
Clique em Criar troca.
Opcional: na seção Permissões de troca, siga estas etapas:
Insira os endereços de e-mail nos seguintes campos para conceder os papéis do Identity and Access Management (IAM):
- Administradores: atribua o
papel de administrador do Analytics Hub
(
roles/analyticshub.admin) a esses usuários. - Editores: atribua o
papel de editor do Analytics Hub
(
roles/analyticshub.publisher) a esses usuários. Para informações sobre as tarefas que os editores de compartilhamento do BigQuery podem realizar, consulte Gerenciar listagens. - Assinantes: atribua o
papel de assinante do Analytics Hub
(
roles/analyticshub.subscriber) a esses usuários. Para informações sobre as tarefas que os assinantes do BigQuery Sharing podem realizar, consulte Ver e assinar listagens e trocas de dados. Leitores: atribua o papel de leitor do Analytics Hub (
roles/analyticshub.viewer) a esses usuários. Os leitores do BigQuery Sharing podem ver anúncios.Se a descoberta pública estiver ativada, conceda o papel de Leitor do Analytics Hub para
allUsersouallAuthenticatedUsers.
- Administradores: atribua o
papel de administrador do Analytics Hub
(
Para salvar permissões, clique em Definir permissões.
Se você não tiver definido permissões para a troca de dados, clique em Pular.
API
Use o método projects.locations.dataExchanges.create.
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges?dataExchangeId=DATAEXCHANGE_ID
Substitua:
PROJECT_ID: o ID do projeto em que você quer criar a troca de dados.LOCATION: o local da troca de dados. Para mais informações sobre locais que aceitam o BigQuery Sharing, consulte Regiões compatíveis.DATAEXCHANGE_ID: o ID da sua troca de dados.
No corpo da solicitação, forneça os detalhes da troca de dados.
Se a solicitação for bem-sucedida, o corpo da resposta vai conter os detalhes da troca de dados.
Se você ativar o registro de e-mails de assinantes com o campo logLinkedDatasetQueryUserEmail, a resposta da troca de dados vai conter log_linked_dataset_query_user_email: true. Os dados registrados estão disponíveis no campo job_principal_subject da visualização INFORMATION_SCHEMA.SHARED_DATASET_USAGE.
Para mais informações sobre as tarefas que podem ser executadas em trocas de dados usando
APIs, consulte Métodos projects.locations.dataExchanges.
Atualizar uma troca de dados
Para atualizar uma troca de dados, siga estas etapas:
Console
Acesse a página Compartilhamento (Analytics Hub).
Na lista de trocas de dados, selecione a troca que você quer atualizar.
Acesse a guia Detalhes.
Clique em Editar troca.
Na caixa de diálogo Editar troca, atualize os seguintes campos:
- Nome de exibição
- Contato principal
- Descrição
- Descoberta pública
- Se você ativar a descoberta pública, conceda o papel de Leitor do Analytics Hub (
roles/analyticshub.viewer) paraallUsersouallAuthenticatedUsers. - Se você desativar a descoberta pública, remova o papel de Leitor do Analytics Hub (
roles/analyticshub.viewer) deallUsersouallAuthenticatedUsers. As trocas públicas não podem ter listagens privadas, mas as trocas privadas podem ter listagens públicas.
- Se você ativar a descoberta pública, conceda o papel de Leitor do Analytics Hub (
Geração de registros de e-mails de assinantes
Clique em Salvar.
API
Use o método projects.locations.dataExchanges.patch.
PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID?updateMask=UPDATEMASK
Substitua UPDATEMASK pela lista de campos que você quer atualizar. Para atualizar vários valores, use uma lista separada por vírgulas. Por exemplo, para atualizar o nome de exibição e o contato principal de uma troca de dados, insira displayName,primaryContact.
No corpo da solicitação, especifique os valores atualizados dos seguintes campos:
displayNamedescriptionprimaryContactdocumentationicondiscoveryTypelogLinkedDatasetQueryUserEmail
Para detalhes sobre esses campos, consulte Recurso: DataExchange.
Para mais informações sobre as tarefas que podem ser executadas em trocas de dados usando
APIs, consulte Métodos projects.locations.dataExchanges.
Ver trocas de dados
Para ver as trocas de dados no seu projeto ou organização a que você tem acesso, siga estas etapas:
Console
Acesse a página Compartilhamento (Analytics Hub).
A página mostra as trocas de dados no seu projeto Google Cloud . Se você tiver a permissão
resourcemanager.organizations.get, também poderá ver as trocas de dados na sua organização Google Cloud .
API
Para ver as trocas de dados no seu projeto, use o método projects.locations.dataExchanges.list:
GET https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges
Substitua:
- PROJECT_ID: o ID do projeto;
- LOCATION: o local para o qual você quer listar as trocas de dados.
Para ver as trocas de dados na sua organização, use o
método organizations.locations.dataExchanges.list:
GET https://analyticshub.googleapis.com/v1/organizations/ORGANIZATION_ID/location/LOCATION/dataExchanges
Substitua:
ORGANIZATION_ID: o ID da organização. Para mais informações, consulte Como conseguir o ID da organização.LOCATION: o local em que você quer listar as trocas de dados.
Compartilhar uma troca de dados
Se o editor de compartilhamento do BigQuery pertencer a uma organização diferente da organização que contém a troca de dados, ele não poderá ver sua troca de dados no compartilhamento do BigQuery. Compartilhe um link para a troca de dados com o publisher.
Acesse a página Compartilhamento (Analytics Hub).
Na lista de trocas de dados, clique em Mais opções.
Clique em Copiar link de compartilhamento.
Conceder aos usuários acesso a uma troca de dados
Para conceder aos usuários acesso a uma troca de dados, é preciso definir a política do IAM para essa troca. Para mais informações sobre os papéis do usuário do IAM predefinidas, consulte Papéis do IAM de compartilhamento do BigQuery.
Console
No console Google Cloud , 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 principais, clique em Adicionar principal.
No campo Novos participantes, adicione os IDs de e-mail a quem você quer conceder acesso. Você também pode usar
allUserspara tornar um recurso público e acessível a todos na Internet ouallAuthenticatedUserspara torná-lo acessível apenas a usuários conectados do Google.No menu Selecionar um papel, escolha Hub do Analytics e selecione um dos seguintes papéis do Identity and Access Management (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
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 da ficha.
Criar administradores de compartilhamento do BigQuery
Para gerenciar trocas de dados, crie administradores concedendo aos usuários o papel de administrador do Analytics Hub (roles/analyticshub.admin) no nível do projeto ou da troca de dados.
Para permitir que os administradores gerenciem todas as trocas de dados em um projeto, conceda a eles o papel de administrador do Analytics Hub nesse projeto.
Para permitir que os administradores gerenciem uma troca de dados específica, conceda a eles o papel de administrador do Analytics Hub para essa troca de dados.
Tornar uma troca de dados pública
Por padrão, uma troca de dados é particular. Somente usuários ou grupos com acesso a uma troca podem visualizar ou se inscrever nas listagens. É possível tornar uma troca de dados pública,
o que permite que
Google Cloud usuários (allAuthenticatedUsers)
descubram e assinem as listagens dela.
Para tornar uma troca de dados pública, siga estas etapas:
Para permitir que
allAuthenticatedUsersveja as listagens, conceda a ele o papel de Leitor do Analytics Hub (roles/analyticshub.viewer) no nível da troca de dados.Para permitir que
allAuthenticatedUsersse inscreva nas listagens, conceda a ele o papel de assinante do Analytics Hub (roles/analyticshub.subscriber) no nível da troca de dados.Ative a descoberta pública ao criar ou atualizar uma troca de dados. Especifique as configurações quando você torna pública uma troca de dados.
Excluir uma troca de dados
A exclusão de uma troca de dados também exclui todas as listagens dela. No entanto, os conjuntos de dados compartilhados e vinculados não são excluídos. Quando você exclui um projeto, as trocas de dados dele não são excluídas. Exclua essas trocas de dados antes de excluir o projeto. Não é possível desfazer a exclusão de uma troca de dados.
Antes de excluir uma troca de dados, siga estas etapas com base na configuração dela:
- Para trocas de dados com itens comerciais integrados ao Google Cloud Marketplace, desative os itens integrados ao Cloud Marketplace.
- Para trocas de dados com fichas de várias regiões,
remova todas as assinaturas ativas usando o método
projects.locations.subscriptions.revoke.
Para excluir uma troca de dados, siga estas etapas:
Console
Acesse a página Compartilhamento (Analytics Hub).
Na lista de trocas de dados, selecione a troca que você quer excluir.
Acesse a guia Detalhes.
Clique em Excluir troca.
Na caixa de diálogo Excluir troca?, confirme a exclusão digitando Excluir.
Clique em Excluir.
API
Use o método projects.locations.dataExchanges.delete.
DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID
Substitua:
PROJECT_ID: o ID do projeto em que você quer criar a troca de dados.LOCATION: o local da troca de dados. Para mais informações sobre locais que aceitam o BigQuery Sharing, consulte Regiões compatíveis.DATAEXCHANGE_ID: o ID da sua troca de dados.
Para mais informações sobre as tarefas que podem ser executadas em trocas de dados usando
APIs, consulte Métodos projects.locations.dataExchanges.
A seguir
- Saiba mais sobre como gerenciar listagens.
- Saiba como conceder papéis do usuário do Analytics Hub.
- Saiba como ver e assinar listagens e trocas de dados.
- Saiba mais sobre a geração de registros de auditoria de compartilhamento.