Skip to content

Concepts

Un court glossaire qui couvre le reste de la documentation.

TermeSignification
TargetConteneur délimitant un projet ou une application.
ConfigurationEnsemble de règles au sein d'un Target.
Data InstancePaire (class, property), modélisant généralement une colonne de base de données.
TransformerOpération unique : chiffrer, tokeniser, masquer, valider, formater, etc.
Transformer SequenceChaîne ordonnée de Transformers appliquée à une donnée.
Rights ContextQui est autorisé à faire quoi. Contrôle d'accès granulaire par donnée.
Processing ContextQuelle opération doit s'exécuter. Généralement Protect, Unprotect ou Search.
Logging ContextQuelles informations inclure dans les journaux d'audit.
Dependency ContextValeurs auxiliaires dont certains Transformers ont besoin pour s'exécuter.
Preuve (evidence)Paires clé-valeur envoyées avec chaque requête pour l'acheminer vers le bon contexte.
Gestionnaire de secretsEmplacement de stockage des clés de chiffrement. Azure Key Vault ou CipherTrust Manager.

Les trois premiers (Target, Configuration, Data Instance) sont configurés une seule fois. Les Rights Contexts et Processing Contexts sont référencés par GUID à chaque appel d'API. La preuve (evidence) est fournie au moment de la requête.

Targets et Configurations

Un Target est un conteneur pour une ou plusieurs configurations de transformation, généralement une par projet ou application. Une Configuration est l'ensemble des règles, au sein d'un Target, qui définit comment les données doivent être transformées.

Data Instances

Les Data Instances représentent les champs précis que vous souhaitez protéger. Chaque instance est une paire (class, property) :

  • Nom de classe : le type d'entité, par exemple User, Payment ou Account.
  • Nom de propriété : l'attribut à transformer, par exemple FirstName, Amount ou IBAN.
InstanceValeurs d'exemple
(User, FirstName)Laura, John, …
(Payment, Amount)12'450 CHF, 230 EUR, …
(Account, IBAN)CH93 0076 2011 6238 5295 7

En général, une classe correspond à une table dans une base de données et une propriété correspond à une colonne.

Transformers et Transformer Sequences

Les Transformers sont des opérations individuelles qui modifient les données :

  • Insert / Extract : injecter ou extraire des propriétés.
  • Wrap / Unwrap : ajouter ou retirer des balises ou des mots-clés autour d'une valeur.
  • Validate : vérifier qu'une valeur respecte des critères, à l'aide d'une expression régulière.
  • Format : remplacer une valeur, ou une partie de celle-ci, par un motif ou un espace réservé.
  • Transform : les opérations réversibles et irréversibles :
    • Anonymisation (irréversible).
    • Chiffrement / Déchiffrement (réversible avec une clé).
    • Tokenisation / Détokenisation (réversible avec une table de correspondance).

Les Transformers peuvent être filtrés par type de données, de sorte qu'une séquence ne s'applique qu'aux valeurs de la bonne forme : date et heure, email, IBAN, nombre entier naturel, SSN, chaîne de caractères et UUID.

Une Transformer Sequence est une chaîne ordonnée de Transformers. Combiner plusieurs Transformers dans une séquence permet de construire un flux complet de protection ou de déprotection (par exemple, déchiffrer puis masquer).

Contextes

Les contextes déterminent ce qui se passe lors d'une requête donnée. Il en existe quatre types :

  • Rights Context : définit qui peut accéder à quelles Data Instances et avec quelle permission (Transform, Read ou Not defined), sélectionné par un ensemble de preuves.
  • Processing Context : associe les Data Instances à des Transformer Sequences pour une opération précise telle que Protect, Unprotect ou Search, sélectionné par un ensemble de preuves.
  • Logging Context : précise quelles informations inclure dans les journaux d'audit.
  • Dependency Context : fournit des valeurs auxiliaires dont certaines transformations ont besoin.

Les Rights Contexts et Processing Contexts sont les deux que vous référencez par GUID à chaque appel d'API.

Preuve (evidence)

Une preuve (evidence) est une paire clé-valeur qui sélectionne quel Rights Context et quel Processing Context s'appliquent à une requête. C'est le mécanisme d'acheminement qui relie une requête entrante aux permissions et aux règles de transformation correctes.

Lorsque vous configurez un Rights Context ou un Processing Context, vous l'associez à un ou plusieurs ensembles de preuves, c'est-à-dire des combinaisons de paires clé-valeur qui identifient quand le contexte s'applique. Au moment de la requête, la preuve que vous envoyez est comparée à ces ensembles pour déterminer :

  1. quel Rights Context s'applique, ce qui détermine si chaque Data Instance est transformée, renvoyée telle quelle ou annulée ; et
  2. quel Processing Context s'applique, ce qui détermine quelle Transformer Sequence s'exécute sur chaque Data Instance.

Les clés de preuve sont entièrement personnalisables. Role et Action sont des choix courants, mais vous pouvez définir n'importe quelle clé adaptée à votre modèle de contrôle d'accès, comme Department, Region ou Environment.

Comment ils s'articulent

Une requête transporte une preuve, rattachée à un Rights Context (qui appelle) et à un Processing Context (que faire). La requête transporte également les instances à transformer, chacune pointant vers une paire (class, property) configurée.

Le moteur recherche la Configuration, vérifie que la preuve du Rights Context accorde l'accès à chaque Data Instance, exécute la Transformer Sequence sélectionnée par la preuve du Processing Context, et renvoie un résultat par instance.

Le même point de terminaison sert à protéger, déprotéger, rechercher et à toute autre opération définie par votre configuration. Seule la preuve change d'un appel à l'autre.