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"]
}
}
}