Visualizações autorizadas

Neste documento, descrevemos como criar visualizações autorizadas e visualizações materializadas autorizadas no BigQuery.

Visão geral

Como administrador de dados, você pode criar uma visualização autorizada para compartilhar um subconjunto de dados em um conjunto de dados com usuários e grupos específicos (principais). Os principais usuários podem acessar os dados que você compartilha e executar consultas neles, mas não podem acessar o conjunto de dados de origem diretamente.

Tipos de visualização

Uma visualização lógica é o tipo de visualização padrão do BigQuery, e uma visualização materializada é uma visualização pré-computada que armazena em cache periodicamente os resultados de uma consulta para aumentar o desempenho e a eficiência.

Uma visualização autorizada para uma visualização lógica é chamada de visualização autorizada, mas uma visualização autorizada para uma visualização materializada é chamada de visualização materializada autorizada.

Se uma visualização lógica depender de uma consulta grande ou computacionalmente cara, crie uma visualização materializada. No entanto, consultar apenas um subconjunto de dados ou usar outras técnicas pode muitas vezes melhorar o desempenho sem a necessidade de criar uma visualização materializada.

Para saber mais, acesse os recursos a seguir:

Etapas gerais para criar visualizações autorizadas

Para criar e compartilhar uma visualização, siga estas etapas gerais, que são as mesmas para visualizações lógicas e visualizações materializadas autorizadas.

  • Crie um conjunto de dados para conter os dados de origem.
  • Execute uma consulta para carregar dados em uma tabela de destino no conjunto de dados de origem.
  • Crie um conjunto de dados para conter a visualização autorizada.
  • Crie uma visualização autorizada com base em uma consulta SQL que restrinja as colunas que os analistas de dados podem ver nos resultados da consulta.
  • Conceda aos analistas de dados permissão para executar jobs de consulta.
  • Conceda aos analistas de dados acesso ao conjunto de dados que contém a visualização autorizada.
  • Conceda acesso de visualização ao conjunto de dados de origem.

Alternativas

Embora as visualizações autorizadas sejam flexíveis e escalonáveis, um dos métodos a seguir pode ser mais adequado para seu caso de uso:

  • Defina políticas no nível da linha em uma tabela.
  • Defina políticas no nível da coluna em uma tabela.
  • Armazene os dados em uma tabela separada.
  • Compartilhar todas as visualizações em um conjunto de dados (conjuntos de dados autorizados).

Usar a segurança no nível da linha ou da coluna ou separar tabelas

Ao definir políticas de acesso no nível da linha em uma tabela ou criar uma tabela separada para armazenar dados sensíveis, um administrador de dados pode restringir a capacidade de um usuário de visualizar esses dados. O armazenamento de dados em uma tabela separada isola os dados e remove a capacidade de ver quantas linhas existem na tabela.

Além disso, ao criar e aplicar tags de política, um administrador de dados pode restringir a capacidade do usuário de visualizar colunas em uma tabela.

Armazenar dados em uma tabela separada é o método mais seguro, mas menos flexível. A configuração de políticas no nível da linha é flexível e segura, enquanto o compartilhamento de visualizações autorizadas é flexível e oferece o melhor desempenho.

Para comparar esses métodos em detalhes, consulte os seguintes recursos:

Compartilhar todas as visualizações em um conjunto de dados

Para conceder a uma coleção de visualizações acesso a um conjunto de dados sem precisar autorizar cada visualização individual, é possível agrupar as visualizações em um conjunto de dados e fornecer o conjunto de dados a seguir. que contém o acesso de visualizações ao conjunto de dados que contém os dados.

É possível conceder acesso aos principais ao conjunto de dados que contém o grupo de visualizações ou a visualizações individuais no conjunto de dados, conforme necessário. Um conjunto de dados que tem acesso a outro conjunto de dados é chamado de conjunto de dados autorizado. O conjunto de dados que autoriza outro conjunto de dados a acessar os dados é chamado de conjunto de dados compartilhado.

Para mais informações, consulte Conjuntos de dados autorizados e Autorizar um conjunto de dados.

Limitações

  • Ao criar uma visualização autorizada ou uma visualização materializada autorizada em outro conjunto de dados, o conjunto de dados de origem e o de visualização autorizada precisam estar no mesmo local regional.
  • Quando você exclui uma visualização autorizada, pode levar até 24 horas para remover a visualização da lista. Durante esse período, não é possível acessar a visualização autorizada, mas a visualização autorizada excluída pode aparecer na lista de visualizações e será contabilizada no limite de visualizações autorizadas. Esse limite pode impedir a criação de outras visualizações autorizadas se a nova visualização autorizada exceder esse limite.

Antes de começar

Atribua papéis do Identity and Access Management (IAM) que deem aos usuários as permissões necessárias para consultar as visualizações autorizadas ou visualizações materializadas autorizadas que você compartilha.

Funções exigidas

Para criar ou atualizar uma visualização autorizada, você precisa de permissões no conjunto de dados que contém a visualização e no que fornece acesso a ela.

Você também precisa conceder aos usuários ou grupos acesso ao projeto e ao conjunto de dados que contêm a visualização.

Permissões de administrador no conjunto de dados que contém a visualização

As visualizações são tratadas como recursos de tabela no BigQuery. Portanto, para criá-las, são necessárias as mesmas permissões usadas para criar uma tabela. Você também precisa ter permissões para consultar as tabelas referenciadas pela consulta SQL da visualização.

Para criar uma visualização, você precisa ter a permissão bigquery.tables.create do IAM. O papel predefinido roles/bigquery.dataEditor do IAM inclui as permissões necessárias para criar uma visualização.

Além disso, se você tiver a permissão bigquery.datasets.create, será possível criar visualizações nos conjuntos de dados que forem criados. Para criar uma visualização para dados que não pertencem a você, é necessário ter a permissão bigquery.tables.getData para essa tabela.

Para mais informações sobre papéis e permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.

Permissões de administrador no segundo conjunto de dados que dá acesso à visualização

Para atualizar as propriedades do conjunto de dados, você precisa das seguintes permissões do IAM:

  • bigquery.datasets.update
  • bigquery.datasets.setIamPolicy (obrigatório apenas ao atualizar os controles de acesso do conjunto de dados no console do Google Cloud)

O papel predefinido do IAM roles/bigquery.dataOwner inclui as permissões necessárias para atualizar as propriedades do conjunto de dados.

Além disso, se você tiver a permissão bigquery.datasets.create, será possível atualizar as propriedades dos conjuntos de dados que criar.

Para mais informações sobre papéis e permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.

Permissões do usuário no projeto e no conjunto de dados para a visualização

Para compartilhar uma visualização autorizada com usuários ou grupos, conceda a eles as seguintes permissões do IAM:

  • O papel do IAM roles/bigquery.user para o projeto que contém a visualização autorizada.
  • O papel do IAM roles/bigquery-data-viewer para o conjunto de dados que contém a visualização autorizada.

Trabalhar com visualizações autorizadas

As seções a seguir descrevem como trabalhar com visualizações autorizadas e visualizações materializadas autorizadas.

Criar, compartilhar e excluir uma visualização autorizada

Para conferir as etapas completas de autorização, compartilhamento e exclusão de uma visualização autorizada, consulte o tutorial Criar uma visualização autorizada.

Gerenciar usuários ou grupos para visualizações autorizadas

Depois de autorizar uma visualização, você pode manter o acesso a ela concluindo as seguintes tarefas em um conjunto de dados, uma tabela ou uma visualização:

  • Acesse a política de acesso.
  • Conceda acesso.
  • Revogue o acesso.
  • Negar acesso.

Para mais informações, consulte Controlar o acesso a recursos usando o IAM.

Remover a autorização de uma visualização

Para remover a autorização de uma visualização, selecione uma das seguintes opções:

Console

  1. Acesse a página do BigQuery no console do Google Cloud.

    Acessar o BigQuery

  2. No painel Explorer, expanda o projeto e selecione um conjunto de dados.

  3. Clique em Compartilhamento > Autorizar visualizações.

  4. Clique em para Remover autorização.

  5. Clique em Fechar.

bq

Para remover a autorização de uma visualização, use o comando bq rm. Insira o table_id da visualização de que você quer remover a autorização.

    bq rm \
    project_id:dataset:table_id
    

API

Chame o método tables.delete e use as propriedades projectID, datasetID e tableID para remover a visualização autorizada do conjunto de dados. Para mais informações, consulte Tabelas.

Cotas e limites

  • As visualizações autorizadas estão sujeitas aos limites de conjuntos de dados. Consulte mais informações em Limites do conjunto de dados.
  • Quando você remove uma visualização autorizada, pode levar até 24 horas para que todas as referências a ela sejam removidas do sistema. Para evitar erros, aguarde 24 horas antes de reutilizar o nome de uma visualização removida ou crie um nome exclusivo para ela.

Tópicos avançados

As seções a seguir descrevem métodos avançados de uso de visualizações autorizadas.

Combinar a segurança no nível da linha com visualizações autorizadas

Os dados exibidos em uma visualização lógica ou materializada são filtrados de acordo com as políticas de acesso no nível da linha da tabela de origem subjacente.

Para saber como a segurança no nível da linha interage com as visualizações materializadas, consulte Usar a segurança no nível da linha com outros recursos do BigQuery.

Combinar a segurança no nível da coluna com visualizações autorizadas

O impacto da segurança no nível da coluna nas visualizações não depende de a visualização ser ou não autorizada.

Para uma descrição detalhada de como as permissões são aplicadas, consulte Visualizações de consulta para segurança no nível da coluna.

Usar o Analytics Hub com visualizações autorizadas

O Analytics Hub é uma plataforma de troca de dados com os seguintes recursos:

  • Permite compartilhar dados e insights em escala além dos limites organizacionais.
  • Usa um framework robusto de segurança e privacidade.
  • Oferece suporte à publicação de um conjunto de dados do BigQuery, chamado de conjunto de dados compartilhado, e das visualizações e dos conjuntos de dados autorizados associados, para um conjunto de assinantes.

Um conjunto de dados vinculado é um conjunto de dados somente leitura do BigQuery que serve como um ponteiro ou referência para um conjunto de dados compartilhado. A assinatura de uma listagem do Analytics Hub cria um conjunto de dados vinculado no projeto, mas não uma cópia dele. Assim, os assinantes podem ler os dados, mas não podem adicionar ou atualizar objetos.

Não há suporte a visualizações materializadas que se referem a tabelas no conjunto de dados vinculado.

Para mais informações, consulte Introdução ao Analytics Hub.

A seguir