Visão geral das visualizações autorizadas
As visualizações autorizadas são visualizações lógicas de tabelas que oferecem controle de acesso refinado aos seus dados do Bigtable. Uma visualização autorizada é um subconjunto de uma tabela que você configura para incluir dados específicos. Depois, conceda acesso à visualização autorizada separadamente do acesso à tabela.
As visualizações autorizadas são úteis para tabelas multilocatárias ou outros situações em que sua tabela contém dados que nem todos os usuários devem conseguir acesso. Ao contrário das visualizações em outros serviços de banco de dados, as visualizações autorizadas do Bigtable podem ser usadas para controlar acesso de leitura e gravação. Você crie milhares de visualizações autorizadas de forma programática, da mesma forma que outros sistemas de armazenamento chamam de "visualizações atualizáveis" ou "filtradas" aliases."
Este documento descreve visualizações autorizadas e fornece exemplos de definição . Antes de ler este documento, familiarize-se com o modelo de armazenamento do Bigtable. Para instruções, consulte Criar e gerenciar visualizações autorizadas.
O que define uma visualização autorizada
Ao criar uma visualização autorizada, você a define especificando os dados para incluir na visualização autorizada usando um dos seguintes parâmetros:
- Prefixo da chave de linha: por exemplo, todas as linhas que começam com
examplepetstore1|
- Prefixo do qualificador de coluna, por exemplo, todas as colunas cujos qualificadores
começam com
order#
no grupo de colunas especificado - Qualificador de coluna, por exemplo, apenas a coluna
order-examplepetstore
em o grupo de colunas especificado - Uma combinação de prefixo de chave de linha e qualificador de coluna
Se o mesmo qualificador de coluna for usado em vários grupos de colunas e você quiser incluir todas as colunas com esse qualificador na visualização, será necessário especificar todas combinação de qualificador de coluna e grupo de colunas separadamente ao definir o visualização.
Os valores de chave de linha e de qualificador de coluna que você usa para definir um autorizadas são tratados como dados de serviço. Por isso, não criar uma visualização autorizada usando valores de chave de linha ou de qualificador de coluna que conter informações confidenciais. Para informações sobre como os dados de serviço são processados, consulte a página sobre privacidade do Google Cloud Aviso.
Inclusão de colunas em um grupo ou em todas as linhas
Se você quiser garantir que qualquer coluna adicionada a um grupo de colunas na
também seja incluída na visualização autorizada,
precisa especificar a string vazia (""
) como um prefixo de qualificador de coluna. Por
exemplo, um arquivo de definição incluiria isso no subconjunto de família:
"qualifierPrefixes": [""]
.
Da mesma forma, se você quiser definir uma visualização autorizada que inclua todas as linhas na tabela, especifique a string vazia (""
) como um prefixo de chave de linha. Em um
arquivo de definição, escrito como "rowPrefixes": [""]
no subconjunto de visualizações.
Para evitar visualizações autorizadas excessivamente complexas, o Bigtable permite especificar até 10 prefixos de qualificador distintos. Isso significa que uma visualização autorizada pode especificar um grupo de colunas com 10 prefixos de qualificadores e 10 grupos de colunas com um único prefixo de qualificador, ou qualquer valor entre o valor total número de qualificadores é no máximo 10.
Exemplos de arquivo de definição
Esta seção apresenta exemplos no formato JSON de visualizações autorizadas arquivos de definição.
Confira a seguir um exemplo de arquivo de definição para uma visualização autorizada que inclui todas as linhas com um prefixo de chave de linha de examplepetstore1#
.
{
"subsetView":
{
"rowPrefixes": ["examplestore1#"],
"familySubsets":
{
"customer":
{
"qualifiers":["address"],
"qualifierPrefixes":["tel"]
}
}
},
"deletionProtection": true
}
Confira a seguir um exemplo de arquivo de definição de uma visualização autorizada que inclui a coluna skus
no grupo de colunas order
e todas as colunas no grupo de colunas customer
.
"subsetView": {
"familySubsets": {
"order": {
"qualifiers": ["skus"]
}
}
"familySubsets": {
"key": "customer"
"qualifierPrefixes": [""]
}
}
Confira a seguir um exemplo de arquivo de definição para uma visualização autorizada que inclui apenas dados na coluna skus
no grupo de colunas order
em linhas que têm um prefixo de chave de linha examplepetstore1#
.
"subsetView": {
"rowPrefixes": ["examplepetstore1#"]
"familySubsets": {
"order": {
"qualifiers": ["skus"]
}
}
}