Présentation des vues autorisées
Les vues autorisées sont des vues logiques des tables qui vous permettent de contrôler précisément l'accès à vos données Bigtable. Une vue autorisée est un sous-ensemble d'une table que vous configurez pour inclure des données de table spécifiques. Ensuite, accordez l'accès à la vue autorisée indépendamment de l'accès à la table.
Les vues autorisées sont utiles pour les tables mutualisées ou d'autres situations lorsque votre table contient des données auxquelles tous les utilisateurs ne doivent pas avoir accès. Contrairement aux vues d'autres services de base de données, les vues autorisées Bigtable peuvent être utilisées pour contrôler les accès en lecture et en écriture. Vous pouvez créer des milliers de vues autorisées par programmation, comme vous le feriez avec ce que d'autres systèmes de stockage appellent des "vues pouvant être mises à jour" ou des "alias filtrés".
Ce document décrit les vues autorisées et fournit des exemples de fichiers de définition. Avant de lire ce document, vous devez vous familiariser avec le modèle de stockage Bigtable. Pour obtenir des instructions, consultez la page Créer et gérer des vues autorisées.
Qu'est-ce qu'une vue autorisée ?
Lorsque vous créez une vue autorisée, vous la définissez en spécifiant les données à inclure dans la vue autorisée à l'aide de l'un des paramètres suivants:
- Préfixe de clé de ligne (par exemple, toutes les lignes commençant par
examplepetstore1|
) - Préfixe du qualificatif de colonne (par exemple, toutes les colonnes dont les qualificatifs commencent par
order#
dans la famille de colonnes spécifiée) - Qualificatif de colonne (par exemple, uniquement la colonne
order-examplepetstore
de la famille de colonnes spécifiée) - Une combinaison d'un préfixe de clé de ligne et d'un qualificatif de colonne
Si le même qualificatif de colonne est utilisé dans plusieurs familles de colonnes et que vous souhaitez inclure toutes les colonnes portant ce qualificatif dans la vue, vous devez spécifier chaque combinaison de qualificatif de colonne et de famille de colonnes séparément lorsque vous définissez la vue.
Les valeurs de clé de ligne et de qualificatif de colonne que vous utilisez pour définir une vue autorisée sont traitées comme des données de service. Pour cette raison, ne créez pas de vue autorisée à l'aide de valeurs de clé de ligne ou de qualificatif de colonne contenant des informations sensibles. Pour en savoir plus sur le traitement des données de service, consultez l'Avis de confidentialité de Google Cloud.
Inclure des colonnes dans une famille ou toutes les lignes
Si vous souhaitez vous assurer que toutes les colonnes ajoutées à une famille de colonnes de la table sous-jacente sont également incluses dans votre vue autorisée, vous devez spécifier la chaîne vide (""
) comme préfixe du qualificatif de colonne. Par exemple, un fichier de définition inclurait ceci dans le sous-ensemble de la famille : "qualifierPrefixes": [""]
.
De même, si vous souhaitez définir une vue autorisée qui inclut toutes les lignes de la table, spécifiez la chaîne vide (""
) comme préfixe de clé de ligne. Dans un fichier de définition, cette valeur est écrite sous la forme "rowPrefixes": [""]
dans le sous-ensemble de vues.
Exemples de fichiers de définition
Cette section présente des exemples de fichiers de définition de vues autorisés au format JSON.
Voici un exemple de fichier de définition pour une vue autorisée qui inclut toutes les lignes dont le préfixe de clé de ligne est examplepetstore1#
.
{
"subsetView":
{
"rowPrefixes": ["examplestore1#"],
"familySubsets":
{
"customer":
{
"qualifiers":["address"],
"qualifierPrefixes":["tel"]
}
}
},
"deletionProtection": true
}
Voici un exemple de fichier de définition pour une vue autorisée qui inclut la colonne skus
dans la famille de colonnes order
et toutes les colonnes de la famille de colonnes customer
.
"subsetView": {
"familySubsets": {
"order": {
"qualifiers": ["skus"]
}
}
"familySubsets": {
"key": "customer"
"qualifierPrefixes": [""]
}
}
Voici un exemple de fichier de définition pour une vue autorisée qui n'inclut que les données de la colonne skus
de la famille de colonnes order
dans les lignes dont le préfixe de clé de ligne est examplepetstore1#
.
"subsetView": {
"rowPrefixes": ["examplepetstore1#"]
"familySubsets": {
"order": {
"qualifiers": ["skus"]
}
}
}
Étapes suivantes
- Supprimer des données via une vue autorisée
- Découvrez comment ajouter des tags aux ressources Bigtable.