Neste tutorial, cria uma vista autorizada no BigQuery que é usada pelos seus analistas de dados. As vistas autorizadas permitem-lhe partilhar resultados de consultas com utilizadores e grupos específicos sem lhes conceder acesso aos dados de origem subjacentes. A vista recebe acesso aos dados de origem, em vez de um utilizador ou um grupo. Também pode usar a consulta SQL da vista para excluir colunas e campos dos resultados da consulta.
Uma abordagem alternativa à utilização de uma visualização autorizada seria configurar controlos de acesso ao nível da coluna nos dados de origem e, em seguida, conceder aos utilizadores acesso a uma visualização que consulte os dados com controlo de acesso. Para mais informações sobre os controlos de acesso ao nível da coluna, consulte o artigo Introdução ao controlo de acesso ao nível da coluna.
Se tiver várias vistas autorizadas que acedem ao mesmo conjunto de dados de origem, pode autorizar o conjunto de dados que contém as vistas em vez de autorizar uma vista individual.
Crie um conjunto de dados para armazenar os dados de origem
Começa por criar um conjunto de dados para armazenar os dados de origem.
Para criar o conjunto de dados de origem, escolha uma das seguintes opções:
Consola
Aceda à página do BigQuery.
No painel esquerdo, clique em
Explorador:Se não vir o painel do lado esquerdo, clique em
Expandir painel do lado esquerdo para o abrir.No painel Explorador, junto ao projeto onde quer criar o conjunto de dados, clique em > Criar conjunto de dados.
Ver açõesNa página Criar conjunto de dados, faça o seguinte:
Para o ID do conjunto de dados, introduza
github_source_data
.Para Tipo de localização, verifique se a opção Várias regiões está selecionada.
Para Multirregião, escolha EUA ou UE. Todos os recursos que criar neste tutorial devem estar na mesma localização multirregional.
Clique em Criar conjunto de dados.
SQL
Use a CREATE SCHEMA
declaração DDL:
Na Google Cloud consola, aceda à página BigQuery.
No editor de consultas, introduza a seguinte declaração:
CREATE SCHEMA github_source_data;
Clique em
Executar.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Crie uma tabela e carregue os dados de origem
Depois de criar o conjunto de dados de origem, preenche uma tabela no mesmo guardando os resultados de uma consulta SQL numa tabela de destino. A consulta obtém dados do conjunto de dados público do GitHub.
Consola
Aceda à página do BigQuery.
No editor de consultas, introduza a seguinte consulta:
SELECT commit, author, committer, repo_name FROM `bigquery-public-data.github_repos.commits` LIMIT 1000;
Clique em Mais e selecione Definições de consulta.
Em Destino, selecione Definir uma tabela de destino para os resultados da consulta.
Para Conjunto de dados, introduza
PROJECT_ID.github_source_data
.Substitua
PROJECT_ID
pelo ID do seu projeto.Para ID da tabela, introduza
github_contributors
.Clique em Guardar.
Clique em Executar.
Quando a consulta estiver concluída, no painel Explorador, clique em Conjuntos de dados e, de seguida, clique no conjunto de dados
github_source_data
.Clique em Vista geral > Tabelas e, de seguida, clique na tabela
github_contributors
.Para verificar se os dados foram escritos na tabela, clique no separador Pré-visualizar.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Crie um conjunto de dados para armazenar a sua vista autorizada
Depois de criar o conjunto de dados de origem, cria um novo conjunto de dados separado para armazenar a vista autorizada que partilha com os seus analistas de dados. Num passo posterior, concede à vista autorizada acesso aos dados no conjunto de dados de origem. Os seus analistas de dados têm acesso à vista autorizada, mas não acesso direto aos dados de origem.
As vistas autorizadas devem ser criadas num conjunto de dados diferente dos dados de origem. Desta forma, os proprietários dos dados podem conceder aos utilizadores acesso à vista autorizada sem conceder simultaneamente acesso aos dados subjacentes. O conjunto de dados de origem e o conjunto de dados de visualização autorizado têm de estar na mesma localização regional.
Para criar um conjunto de dados para armazenar a sua vista, escolha uma das seguintes opções:
Consola
Aceda à página do BigQuery.
No painel esquerdo, clique em
Explorador:No painel Explorador, selecione o projeto onde quer criar o conjunto de dados.
Expanda a opção
Ver ações e clique em Criar conjunto de dados.Na página Criar conjunto de dados, faça o seguinte:
Para o ID do conjunto de dados, introduza
shared_views
.Para Tipo de localização, verifique se a opção Várias regiões está selecionada.
Para Multirregião, escolha EUA ou UE. Todos os recursos que criar neste tutorial devem estar na mesma localização multirregional.
Clique em Criar conjunto de dados.
SQL
Use a CREATE SCHEMA
declaração DDL:
Na Google Cloud consola, aceda à página BigQuery.
No editor de consultas, introduza a seguinte declaração:
CREATE SCHEMA shared_views;
Clique em
Executar.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Crie a vista autorizada no novo conjunto de dados
No novo conjunto de dados, cria a visualização que pretende autorizar. Esta é a vista que partilha com os seus analistas de dados. Esta vista é criada através de uma consulta SQL que exclui as colunas que não quer que os analistas de dados vejam.
A tabela de origem github_contributors
contém dois campos do tipo RECORD
:
author
e committer
. Para este tutorial, a sua vista autorizada exclui todos os dados do autor, exceto o nome do autor, e exclui todos os dados do autor da confirmação, exceto o nome do autor da confirmação.
Para criar a vista no novo conjunto de dados, escolha uma das seguintes opções:
Consola
Aceda à página do BigQuery.
No editor de consultas, introduza a seguinte consulta.
SELECT commit, author.name AS author, committer.name AS committer, repo_name FROM `PROJECT_ID.github_source_data.github_contributors`;
Substitua
PROJECT_ID
pelo ID do seu projeto.Clique em Guardar > Guardar vista.
Na caixa de diálogo Guardar vista, faça o seguinte:
Para Projeto, verifique se o seu projeto está selecionado.
Para Conjunto de dados, introduza
shared_views
.Para Tabela, introduza
github_analyst_view
.Clique em Guardar.
SQL
Use a CREATE VIEW
declaração DDL:
Na Google Cloud consola, aceda à página BigQuery.
No editor de consultas, introduza a seguinte declaração:
CREATE VIEW shared_views.github_analyst_view AS ( SELECT commit, author.name AS author, committer.name AS committer, repo_name FROM `PROJECT_ID.github_source_data.github_contributors` );
Substitua
PROJECT_ID
pelo ID do seu projeto.Clique em
Executar.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Conceda aos seus analistas de dados autorização para executar tarefas de consulta
Para consultar a vista, os seus analistas de dados precisam da autorização bigquery.jobs.create
para poderem executar tarefas de consulta e têm de ter acesso à vista. Nesta secção, concede a função de bigquery.user
aos seus analistas de dados. A função
bigquery.user
inclui a autorização bigquery.jobs.create
. Num passo posterior, concede aos seus analistas de dados autorização para aceder à vista.
Para atribuir o grupo de analistas de dados à função bigquery.user
ao nível do projeto, faça o seguinte:
Na Google Cloud consola, aceda à página IAM.
Certifique-se de que o seu projeto está selecionado no seletor de projetos.
Clique em
Conceder acesso.Na caixa de diálogo Conceder acesso a, faça o seguinte:
No campo Novos responsáveis, introduza o grupo que contém os seus analistas de dados. Por exemplo,
data_analysts@example.com
.No campo Selecionar uma função, pesquise a função Utilizador do BigQuery e selecione-a.
Clique em Guardar.
Conceda aos seus analistas de dados autorização para consultar a vista autorizada
Para que os seus analistas de dados consultem a vista, têm de receber a função de
bigquery.dataViewer
ao nível do conjunto de dados ou da vista.
A concessão desta função ao nível do conjunto de dados dá aos seus analistas acesso a todas as tabelas e vistas no conjunto de dados. Uma vez que o conjunto de dados criado neste tutorial contém uma única visualização de propriedade autorizada, está a conceder acesso ao nível do conjunto de dados. Se tiver uma coleção de vistas autorizadas às quais precisa de conceder acesso, considere usar um conjunto de dados autorizado.
A função bigquery.user
que concedeu anteriormente aos seus analistas de dados
dá-lhes as autorizações necessárias para criar tarefas de consulta. No entanto, não podem consultar a vista com êxito, a menos que também tenham acesso bigquery.dataViewer
à vista autorizada ou ao conjunto de dados que contém a vista.
Para conceder aos seus analistas de dados bigquery.dataViewer
acesso ao conjunto de dados que contém a vista autorizada, faça o seguinte:
Consola
Aceda à página do BigQuery.
No painel esquerdo, clique em
Explorador:No painel Explorador, clique em Conjuntos de dados e, de seguida, selecione o conjunto de dados
shared_views
para abrir o separador Detalhes.Clique em > Autorizações.
PartilhaNo painel Autorizações de partilha, clique em Adicionar principal.
Para Novos responsáveis, introduza o grupo que contém os seus analistas de dados, por exemplo,
data_analysts@example.com
.Clique em Selecionar uma função e selecione BigQuery > Visualizador de dados do BigQuery.
Clique em Guardar.
Clique em Fechar.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Autorize a vista a aceder ao conjunto de dados de origem
Depois de criar controlos de acesso para o conjunto de dados que contém a vista autorizada, concede à vista autorizada acesso ao conjunto de dados de origem. Esta autorização dá à vista, mas não ao seu grupo de analistas de dados, acesso aos dados de origem.
Para conceder à vista autorizada acesso aos dados de origem, escolha uma destas opções:
Consola
Aceda à página do BigQuery.
No painel esquerdo, clique em
Explorador:No painel Explorador, clique em Conjuntos de dados e, de seguida, selecione o conjunto de dados
github_source_data
para abrir o separador Detalhes.Clique em Partilha > Autorizar visualizações.
No painel Vistas autorizadas, para Vista autorizada, introduza
PROJECT_ID.shared_views.github_analyst_view
.Substitua PROJECT_ID pelo ID do seu projeto.
Clique em Adicionar autorização.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Valide a configuração
Quando a configuração estiver concluída, um membro do seu grupo de analistas de dados (por exemplo, data_analysts
) pode validar a configuração consultando a vista.
Para validar a configuração, um analista de dados deve executar a seguinte consulta:
Aceda à página do BigQuery.
No editor de consultas, introduza a seguinte declaração:
SELECT * FROM `
PROJECT_ID
.shared_views.github_analyst_view`;Substitua
PROJECT_ID
pelo ID do seu projeto.Clique em
Executar.
Os resultados da consulta são semelhantes aos seguintes. Apenas o nome do autor e o nome do responsável pela confirmação são visíveis nos resultados.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
Código fonte completo
Segue-se o código-fonte completo do tutorial para sua referência.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.