Présentation des vues autorisées

Les vues autorisées sont des vues logiques de tables qui vous permettent un contrôle des accès précis à 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. Vous accordez ensuite l'accès à la vue autorisée séparément de l'accès à la table.

Les vues autorisées sont utiles pour les tables multi-locataires ou dans d'autres situations où 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 à la fois l'accès en lecture et en écriture. Vous pouvez créer des milliers de vues autorisées de manière programmatique, comme vous le pouvez avec ce que d'autres systèmes de stockage appellent des "vues modifiables" ou des "alias filtrés".

Ce document décrit les vues autorisées et fournit des exemples de définition . Avant de lire ce document, vous devez connaître Bigtable stockage modèle. Pour obtenir des instructions, consultez Créer et gérer des vues autorisées.

Qu'est-ce qui définit 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 de préfixe de clé de ligne et de 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 comportant ce qualificatif dans la vue, vous devez spécifier toutes les combinaison du qualificatif de colonne et de la famille de colonnes séparément lorsque vous définissez 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. Par conséquent, 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 sur la façon dont les données des services sont traitées, consultez le document Google Cloud Privacy Remarque.

Inclure des colonnes dans une famille ou toutes les lignes

Si vous souhaitez vous assurer que toute colonne ajoutée à une famille de colonnes dans la table sous-jacente est également incluse dans votre vue autorisée, vous devez spécifier la chaîne vide ("") comme préfixe de qualificatif de colonne. Par exemple, un fichier de définition inclurait ce sous-ensemble de famille : "qualifierPrefixes": [""].

De même, si vous souhaitez définir une vue autorisée qui inclut tous lignes de la table, spécifiez la chaîne vide ("") comme préfixe de clé de ligne. Dans un fichier de définition, il est écrit sous la forme "rowPrefixes": [""] dans le sous-ensemble de la vue.

Pour éviter les vues autorisées excessivement complexes, Bigtable vous permet de spécifier au maximum 10 préfixes de qualificatif distincts. Cela signifie qu'une vue autorisée peut spécifier une famille de colonnes avec 10 préfixes de qualificatif, 10 familles de colonnes avec un seul préfixe de qualificatif, ou n'importe quelle combinaison, à condition que le nombre total de qualificatifs ne dépasse pas 10.

Exemples de fichiers de définition

Cette section présente des exemples de fichiers de définition de vues autorisées au format JSON.

Voici un exemple de fichier de définition pour une vue autorisée qui inclut toutes les lignes avec un préfixe de clé de ligne 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 de la famille de colonnes order et toutes les colonnes de la famille de colonnes customer.

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

Vous trouverez ci-dessous 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"]
    }
  }
}

Étape suivante