Visão geral das visualizações autorizadas
As visualizações autorizadas de tabelas do Bigtable oferecem controle de acesso refinado aos seus dados do Bigtable. Uma visualização autorizada é um subconjunto de uma tabela configurada para incluir dados específicos. Em seguida, conceda acesso à visualização autorizada separado do acesso à tabela.
As visualizações autorizadas são úteis para tabelas multitenant ou outras situações em que a tabela contém dados que nem todos os usuários podem acessar. 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 o acesso de leitura e gravação. É possível criar milhares de visualizações autorizadas de forma programática, da mesma forma que você pode fazer com o que outros sistemas de armazenamento chamam de "visualizações atualizáveis" ou "aliases filtrados".
Este documento descreve as visualizações autorizadas e fornece exemplos de arquivos 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 a serem incluídos 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
no 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, especifique cada combinação de qualificador de coluna e grupo de colunas separadamente ao definir a visualização.
Os valores de chave de linha e qualificador de coluna usados para definir uma visualização autorizada são tratados como dados de serviço. Por isso, não crie uma visualização autorizada usando valores de chave de linha ou qualificador de coluna que contenham informações sensíveis. Para mais informações sobre como os dados de serviço são tratados, consulte o Aviso de privacidade doGoogle Cloud .
Inclusão de colunas em uma família ou em todas as linhas
Se você quiser garantir que qualquer coluna adicionada a um grupo de colunas na tabela subjacente também seja incluída na sua visualização autorizada, especifique a string vazia (""
) como um prefixo de qualificador de coluna. Por
exemplo, um arquivo de definição incluiria isso no subconjunto da família:
"qualifierPrefixes": [""]
.
Da mesma forma, se você quiser definir uma visualização autorizada que inclua todas as linhas da tabela, especifique a string vazia (""
) como um prefixo de chave de linha. Em um arquivo de definição, isso é escrito como "rowPrefixes": [""]
no subconjunto de visualização.
Para evitar visualizações autorizadas excessivamente complexas, o Bigtable permite especificar no máximo 10 prefixos de qualificador distintos. Isso significa que uma visualização autorizada pode especificar um grupo de colunas com 10 prefixos de qualificador, 10 grupos de colunas com um único prefixo de qualificador ou qualquer valor entre eles, desde que o número total de qualificadores seja no máximo 10.
Como prática recomendada, especifique uma chave apenas uma vez por objeto JSON. Se você especificar uma chave, como um nome de grupo de colunas, mais de uma vez, a entrada final da chave vai substituir todas as entradas anteriores dela.
Exemplos de arquivos de definição
Esta seção apresenta exemplos formatados em JSON de arquivos de definição de visualização autorizada.
Confira a seguir um exemplo de arquivo de definição para uma visualização autorizada
que inclui a coluna address
do grupo de colunas customer
e colunas
que começam com tel
para linhas com um prefixo de chave de linha examplepetstore1#
.
{
"subsetView":
{
"rowPrefixes": ["examplepetstore1#"],
"familySubsets":
{
"customer":
{
"qualifiers":["address"],
"qualifierPrefixes":["tel"]
}
}
},
"deletionProtection": true
}
Confira um exemplo de arquivo de definição para uma visualização autorizada
que inclui a coluna skus
no grupo de colunas order
e todas as colunas no
grupo customer
.
{
"subsetView": {
"rowPrefixes": [""],
"familySubsets": {
"order": {
"qualifiers": ["skus"]
},
"customer": {
"qualifierPrefixes": [""]
}
}
}
}
Confira abaixo um exemplo de arquivo de definição para uma visualização autorizada
que inclui apenas dados na coluna skus
do grupo de colunas order
em linhas que têm um prefixo de chave de linha examplepetstore1#
.
{
"subsetView": {
"rowPrefixes": ["examplepetstore1#"]
"familySubsets": {
"order": {
"qualifiers": ["skus"]
}
}
}
}
Confira um exemplo de arquivo de definição para uma visualização autorizada
que inclui apenas dados nas colunas skus
e agents
do grupo de colunas order
e nas colunas dog
, cat
e bird
do grupo de colunas pet_id
.
{
"subsetView": {
"rowPrefixes": [""]
"familySubsets": {
"order": {
"qualifiers": ["skus", "agents"]
"pet_id": {
"qualifiers": ["dog", "cat", "bird"]
}
}
}
}
}
A seguir
- Excluir dados usando uma visualização autorizada.
- Saiba como adicionar tags aos recursos do Bigtable.