Panoramica delle viste autorizzate

Le visualizzazioni autorizzate sono visualizzazioni logiche delle tabelle che offrono un controllo dell'accesso granulare ai dati di Bigtable. Una visualizzazione autorizzata è un sottoinsieme di una tabella che puoi configurare per includere dati specifici della tabella. Successivamente, concedi l'accesso alla vista autorizzata separatamente da quello alla tabella.

Le viste autorizzate sono utili per le tabelle multi-tenant o per altre situazioni quando la tabella contiene dati a cui non tutti gli utenti dovrebbero accedere. A differenza delle viste in altri servizi di database, le viste autorizzate di Bigtable possono essere utilizzate per controllare l'accesso in lettura e in scrittura. Puoi creare migliaia di viste autorizzate in modo programmatico, allo stesso modo che puoi con i cosiddetti "viste aggiornabili" o "alias filtrati" di altri sistemi di archiviazione.

Questo documento descrive le visualizzazioni autorizzate e fornisce esempi di file di definizione. Prima di leggere questo documento, dovresti avere familiarità con il modello di archiviazione Bigtable. Per le istruzioni, consulta Creare e gestire le viste autorizzate.

Che cosa definisce una vista autorizzata

Quando crei una vista autorizzata, la definisci specificando i dati da includere nella vista autorizzata utilizzando uno dei seguenti parametri:

  • Prefisso della chiave di riga, ad esempio tutte le righe che iniziano con examplepetstore1|
  • Prefisso del qualificatore di colonna, ad esempio tutte le colonne i cui qualificatori iniziano con order# nella famiglia di colonne specificata
  • Qualificatore di colonna, ad esempio solo la colonna order-examplepetstore nella famiglia di colonne specificata
  • Una combinazione di prefisso della chiave di riga e qualificatore di colonna

Se lo stesso qualificatore di colonna viene utilizzato in più famiglie di colonne e vuoi includere tutte le colonne con quel qualificatore nella vista, devi specificare ogni combinazione di qualificatore di colonna e famiglia di colonne separatamente quando definisci la vista.

I valori della chiave di riga e del qualificatore di colonna che utilizzi per definire una visualizzazione autorizzata vengono trattati come dati di servizio. Per questo motivo, non creare una vista autorizzata utilizzando valori di chiave di riga o qualificatore di colonna che contengono informazioni sensibili. Per informazioni su come vengono gestiti i dati di servizio, consulta l'Informativa sulla privacy di Google Cloud.

Includere le colonne in una famiglia o in tutte le righe

Per assicurarti che tutte le colonne aggiunte a una famiglia di colonne nella tabella sottostante siano incluse anche nella visualizzazione autorizzata, devi specificare la stringa vuota ("") come prefisso del qualificatore di colonna. Ad esempio, un file di definizione verrebbe incluso nel sottoinsieme della famiglia: "qualifierPrefixes": [""].

Analogamente, se vuoi definire una visualizzazione autorizzata che includa tutte le righe della tabella, specifica la stringa vuota ("") come prefisso della chiave di riga. In un file di definizione, è scritto come "rowPrefixes": [""] nel sottoinsieme della vista.

Esempi di file di definizione

Questa sezione presenta esempi in formato JSON di file di definizione delle visualizzazioni autorizzate.

Di seguito è riportato un esempio di file di definizione per una visualizzazione autorizzata che include tutte le righe con il prefisso della chiave di riga examplepetstore1#.

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

Di seguito è riportato un esempio di file di definizione per una vista autorizzata che include la colonna skus nella famiglia di colonne order e tutte le colonne nella famiglia di colonne customer.

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

Di seguito è riportato un esempio di file di definizione per una vista autorizzata che include solo i dati della colonna skus nella famiglia di colonne order nelle righe che hanno un prefisso della chiave di riga examplepetstore1#.

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

Passaggi successivi