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 sobre os dados do Bigtable. Uma visualização autorizada é um subconjunto de uma tabela que você configura para incluir dados de tabela específicos. Depois, conceda acesso à visualização autorizada separadamente do acesso à tabela.

As visualizações autorizadas são úteis para tabelas multilocatárias 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 outros sistemas de armazenamento chamam de "visualizações atualizáveis" ou "aliases filtrados".

Neste documento, descrevemos as visualizações autorizadas e fornecemos 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 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 com qualificadores que começam com order# no grupo 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 qualificador de coluna e chave de linha usados para definir uma visualização autorizada são tratados como dados de serviço. Por esse motivo, não crie uma visualização autorizada usando valores de chave de linha ou de qualificadores de coluna que contenham informações sensíveis. Para saber mais sobre como os dados de serviço são processados, consulte o Aviso de privacidade do Google Cloud.

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 tabela subjacente também seja incluída na visualização autorizada, especifique a string vazia ("") como um prefixo de qualificador de coluna. Por exemplo, um arquivo de definição incluiria este 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, isso é gravado como "rowPrefixes": [""] no subconjunto de visualizações.

Exemplos de arquivo de definição

Esta seção apresenta exemplos formatados em JSON de arquivos de definição de visualização autorizados.

Veja 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 examplepetstore1#.

    {
      "subsetView":
      {
        "rowPrefixes": ["examplestore1#"],
        "familySubsets":
        {
          "customer":
          {
            "qualifiers":["address"],
            "qualifierPrefixes":["tel"]
          }
        }
      },
      "deletionProtection": true
    }

Veja a seguir 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 de colunas customer.

"subsetView": {
 "familySubsets": {
  "order": {
     "qualifiers": ["skus"]
  }
}
  "familySubsets": {
    "key": "customer"
    "qualifierPrefixes": [""]
  }
}

Veja a seguir um exemplo de arquivo de definição para uma visualização autorizada que inclui apenas dados na coluna skus do grupo de colunas order nas linhas que têm um prefixo de chave de linha examplepetstore1#.

"subsetView": {
  "rowPrefixes": ["examplepetstore1#"]
  "familySubsets": {
    "order": {
      "qualifiers": ["skus"]
    }
  }
}

A seguir