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. Puoi quindi concedere l'accesso alla vista autorizzata separatamente da quello alla tabella.

Le viste autorizzate sono utili per le tabelle multi-tenant o altre situazioni in cui la tabella contiene dati a cui non tutti gli utenti devono poter 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 scrittura. Tu creare migliaia di viste autorizzate in modo programmatico, puoi usare quello che gli altri sistemi di archiviazione chiamano "viste aggiornabili" o "filtrati aliases."

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

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 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 le chiave di riga o i valori qualificatore di colonna che contengono informazioni sensibili. Per sul modo in cui vengono gestiti i dati dei servizi, consulta le Norme sulla privacy di Google Cloud Avviso.

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 tutti i righe nella 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.

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 include tutte le righe con un 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 della colonna skus della famiglia di colonne order nelle righe che hanno un prefisso della chiave di riga examplepetstore1#.

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

Passaggi successivi