Panoramica delle viste autorizzate

Le viste autorizzate sono visualizzazioni logiche di tabelle che ti forniscono un controllo granulare dell'accesso ai dati Bigtable. Un vista autorizzata è un sottoinsieme di una tabella che puoi configurare per includere specifici delle tabelle. Quindi concedi l'accesso alla vista autorizzata. separatamente dall'accesso alla tabella.

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

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

Che cos'è 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 in la famiglia di colonne specificata
  • Una combinazione di prefisso della chiave di riga e qualificatore di colonna

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

I valori della chiave di riga e del qualificatore di colonna utilizzati per definire una visualizzazione autorizzata vengono trattati come dati di servizio. Per questo motivo, non creare una vista autorizzata utilizzando valori della chiave di riga o del 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.

Inclusione di colonne in una famiglia o in tutte le righe

Per assicurarti che tutte le colonne aggiunte a una famiglia di colonne nel anche la tabella sottostante è inclusa nella vista autorizzata, deve specificare la stringa vuota ("") come prefisso del qualificatore di colonna. Per Ad esempio, un file di definizione includerebbe questo elemento nel sottoinsieme della famiglia: "qualifierPrefixes": [""].

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

Per evitare viste autorizzate eccessivamente complesse, Bigtable ti consente di specificare al massimo 10 prefissi di qualificatori distinti. Ciò significa che una vista autorizzata può specificare una famiglia di colonne con 10 prefissi di qualificatore, 10 famiglie di colonne con un singolo prefisso di qualificatore o qualsiasi valore intermedio, purché il numero totale di qualificatori non superi 10.

Esempi di file di definizione

Questa sezione illustra esempi di visualizzazione autorizzata in formato JSON. file di definizione.

Di seguito è riportato un esempio di file di definizione per una vista autorizzata che includa 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 in la 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 nella colonna skus in order famiglia di colonne in righe con prefisso della chiave di riga examplepetstore1#.

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

Passaggi successivi