DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WINDEV, WEBDEV et WINDEV Mobile 2024 !
Aide / WLangage / Gestion des bases de données / HFSQL / Gestion de HFSQL Client/Serveur
  • Présentation
  • Mise en place dans WINDEV, WEBDEV et WINDEV Mobile
  • Conditions d'utilisation
  • Principe
  • Mise en place dans l'analyse
  • Modification de l'analyse
  • Activation du chiffrement des fichiers de données
  • Définition des droits utilisateur
  • Centre de Contrôle HFSQL
  • Programmation
  • Gestion de l'anonymisation via les commandes SQL
  • Anonymisation : particularités et limites
  • Ajouts et des modifications d'enregistrements (fonctions HFSQL)
  • Utilisation de requêtes SQL INSERT, UPDATE
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
L'anonymisation est un mécanisme qui permet de transformer les données d'une rubrique qui vont être affichées à l'utilisateur. Ces données pourront être partiellement ou totalement masquées : les données ne seront pas visibles "en clair".
Anonymiser les données permet donc de limiter l'exposition des données sensibles en les masquant à certains utilisateurs. Anonymiser permet également de sécuriser certaines informations et d'éviter leur propagation. Ainsi, L'anonymisation d'un fichier de données consiste à remplacer toutes les données personnelles. Par exemple :
  • remplacer les noms de famille par XXX[..]XXX.
  • remplacer les noms de ville par 1, 2, 3, 4, 5, ... pour pouvoir faire des statistiques sur le nombre d'habitants sans pouvoir identifier les villes.
Il existe 2 types d'anonymisation des données :
  • l'anonymisation statique qui est irréversible : la donnée est définitivement perdue.
  • l'anonymisation dynamique, aussi appelée "pseudonymisation". Cette anonymisation est réalisée à la volée par le serveur de base de données : elle est donc réversible. La donnée initiale est accessible selon les droits utilisateur.
Les 2 anonymisations sont utiles mais chacune dans un cas spécifique.
  • Dans un fichier anonymisé statiquement, les données personnelles n'existent plus : le fichier sort donc du champ d'application du RGPD. Le fichier peut alors être traité, conservé et transmis sans limitation.
  • Dans le cas d'une anonymisation dynamique, les données personnelles existent encore : le fichier reste donc concerné par le RGPD (par exemple en ce qui concerne les durées de conservation).
Mise en place dans WINDEV, WEBDEV et WINDEV Mobile

Conditions d'utilisation

La mise en place de l'anonymisation peut être effectuée uniquement dans une application utilisant des fichiers de données HFSQL en mode Client/Serveur.

Principe

La mise en place de l'anonymisation d'une rubrique consiste à :
Par défaut, la rubrique sera anonymisée pour tous les utilisateurs. Pour désanonymiser une rubrique pour un utilisateur ou un groupe d'utilisateurs, il est nécessaire de lui donner le droit de désanonymiser.
Mise en place dans l'analyse

Modification de l'analyse

Pour mettre en place l'anonymisation d'une rubrique présente dans un fichier de données :
  1. Dans l'éditeur d'analyses, sélectionnez le fichier concerné.
  2. Dans le menu contextuel du fichier, sélectionnez l'option "Description des rubriques".
  3. Sélectionnez la rubrique à anonymiser.
  4. Affichez le volet "Anonymisation".
    Par défaut, l'option "Aucune règle (la rubrique n'est pas anonymisée)" est sélectionnée.
  5. Sélectionnez la règle voulue et définissez ses paramètres :
    • un texte aléatoire (lorem ipsum), pour générer plusieurs mots aléatoires,
    • une valeur constante, à définir,
    • un bruitage aléatoire (une variation de plus ou moins x %) pour les valeurs entières,
    • une valeur renvoyée par une procédure stockée, pour une anonymisation spécifique (par exemple, si vous avez besoin d'anonymiser une partie spécifique d'un code interne tout en conservant une partie de l'information),
    • un brouillage partiel, pour afficher quelques caractères réels en début et fin de valeurs et en appliquant une chaîne constante pour le reste.
  6. Validez la fenêtre de description des rubriques.
  7. Générez l'analyse et effectuez la modification automatique des données.
Remarque : La propriété RègleAnonymisation permet de connaître la règle d'anonymisation définie sur une rubrique. Cette règle est donnée au format SQL.

Activation du chiffrement des fichiers de données

Lors de l'utilisation de l'anonymisation automatique, Il est conseillé d'activer le chiffrement des fichiers de données. Ainsi, les données restent inexploitables, même en cas de piratage du serveur ou de vol d'une sauvegarde,
Pour activer le chiffrement des fichiers de données sous l'éditeur d'analyses :
  1. Sélectionnez le fichier de données.
  2. Dans le menu contextuel, sélectionnez l'option "Description du fichier de données".
  3. Dans l'onglet "Détail", dans la zone "Protection des données", indiquez le mode de cryptage voulu pour le fichier de données, le fichier d'index et/ ou le fichier de mémo.
    Par défaut, l'algorithme de chiffrement à utiliser est du RC5 sur 16 boucles.
Remarque : Pour encore plus de sécurité, cochez "Activer la sécurité renforcée".
Définition des droits utilisateur
Pour définir quels utilisateurs peuvent accéder à la valeur réelle des données (non anonymisée), il suffit de donner un droit spécifique.
L'autorisation d'un utilisateur à lire les données anonymisées peut être appliquée :
  • au niveau de la base de données,
  • au niveau du fichier de données,
  • au niveau de la rubrique.
La définition du droit de désanonymiser une rubrique (et de n'importe quel autre droit) peut être effectuée :
  • depuis le Centre de Contrôle HFSQL,
  • par programmation.

Centre de Contrôle HFSQL

Pour donner le droit au niveau de la base de données ou du fichier de données, il suffit de cliquer sur le bouton "Gestion des droits" depuis le ruban du Centre de Contrôle HFSQL.
Pour donner le droit au niveau de la rubrique, il suffit de cliquer sur le picto "clé" de la rubrique depuis le volet "Description" du fichier.
Dans la fenêtre qui s'affiche, il est possible de modifier le droit sur la rubrique.

Programmation

La modification des droits par programmation peut être effectuée via les fonctions HModifieDroitXXX du WLangage (HModifieDroitRubrique, HModifieDroitFichier, etc.).
// Autorise l'utilisateur MARC à désanonymiser :
// - toutes les rubriques de tous les fichiers de la base de données "Anonymisation"
HModifieDroitBaseDeDonnées(cnxMaConnexion, "MARC", hDroitDésanonymisation, hAutorisé, "Anonymisation")
// - toutes les rubriques du fichier "Adresse"
HModifieDroitFichier(cnxMaConnexion, "MARC", hDroitDésanonymisation, hAutorisé, "Anonymisation", "Adresse")
// - uniquement la rubrique "CodePostal" du fichier "Adresse"
HModifieDroitRubrique(cnxMaConnexion, "MARC", hDroitDésanonymisation, hAutorisé, "Anonymisation", "Adresse", "CodePostal")
Remarque : Lorsque des données sont anonymisées dans l'UI des applications, il peut être utile d'informer les utilisateurs que cet affichage est normal et qu'il requiert des droits avancés. Pour cela, il suffit d'utiliser les fonctions WLangage HInfoDroitXXX pour connaître les droits de l'utilisateur et afficher des indications le cas échéant.
// Vérifie si le droit est autorisé au niveau du fichier de données
SI HInfoDroitFichier(gcnxConnexion, sUtilisateur, hDroitDésanonymisation, 
		NOM_BASEDEDONNÉES, Adresse, hEffectif) = hInterdit ALORS
	RENVOYER Faux
FIN
Gestion de l'anonymisation via les commandes SQL
Les commandes SQL utilisées pour gérer l'anonymisation sont les suivantes :
  • ADD MASKED : Combinée à la commande SQL ALTER TABLE, permet de créer un masque d'anonymisation pour une rubrique d'un fichier.
  • DROP MASKED : Combinée à la commande SQL ALTER TABLE, permet de supprimer un masque d'anonymisation pour une rubrique d'un fichier.
  • GRANT : Permet d'activer un masque d'anonymisation.
  • REVOKE : Permet de désactiver un masque d'anonymisation.
Anonymisation : particularités et limites
Lorsque l'anonymisation est activée sur une rubrique :
  • Il est nécessaire de posséder les droits de désanonymisation pour :
    • utiliser la fonction HLitRecherche sur une rubrique clé anonymisée.
    • utiliser une requête SQL avec une condition WHERE sur une rubrique anonymisée.
    • utiliser une requête SQL avec dans la clause ORDER BY une référence à une rubrique anonymisée.
    • utiliser les fonctions HCopieFichierDepuisServeur, HSauvegarde, HCopieFichier avec des fichiers de données.
    • utiliser la réplication sur les fichiers.
  • Fonction HCopieEnreg : il n'est pas possible de récupérer les valeurs d'origine. Les valeurs anonymisées sont mises dans le buffer du nouvel enregistrement.
  • Il est possible de définir une règle d'anonymisation sur une rubrique clé ou non clé. Il n'est pas possible de définir une règle d'anonymisation sur une rubrique de type clé composée.
  • Dans le cas de la définition d'une règle d'anonymisation sur une rubrique de type tableau, cette règle s'applique à tous les éléments du tableau.
  • Vue matérialisée :
    • Il est nécessaire de posséder les droits de désanonymisation pour définir une vue matérialisée sur un fichier.
    • Même en possédant le droit de désanonymisation, les rubriques anonymisées conservent leurs règle d'anonimisation dans la vue matérialisée.
    • Quelques soient les droits d'anonymisation / désanonymisation, il n'est pas possible de créer une vue matérialisée avec des rubriques calculées anonymisées.
  • En possédant les droits de désanonymisation, il n'est pas possible d'effectuer des sauvegardes de fichiers contenant des rubriques anonymisées.

Ajouts et des modifications d'enregistrements (fonctions HFSQL)

  • Lors de l'appel de la fonction HAjoute (ou HEnregistre) pour ajouter un nouvel enregistrement, les rubriques sont initialisées soit avec leur valeur par défaut, soit avec la valeur indiquées. Les règles d'anonymisation ne sont pas appliquées.
  • Lors de l'appel de la fonction HModifie (ou HEnregistre) pour modifier un enregistrement existant, seules les rubriques anonymisées pour lesquelles l'utilisateur possède un droit de désanonymisation seront modifiées.

Utilisation de requêtes SQL INSERT, UPDATE

  • Lors de l'appel d'une requête SQL de type INSERT, les rubriques non affectées dans la requête sont initialisées avec la valeur par défaut décrite dans l'analyse. Les rubriques affectées sont initialisées automatiquement avec la valeur passée sans application de la règle d'anonymisation.
  • Lors de l'appel d'une requête SQL de type UPDATE, les rubriques affectées sont initialisées automatiquement avec la valeur passée sans application de la règle d'anonymisation.
Note : Dans le cas de l'utilisation de la fonction RETURNING, 2 cas se présentent :
  • Si la rubrique est affectée dans la requête SQL, si la rubrique est anonymisée, lors du 'returning' de cette rubrique, la règle d'anonymisation ne sera pas appliquée à la valeur renvoyée contenue dans la rubrique.
  • Si la rubrique n'est pas affectée dans la requête SQL, si la rubrique est anonymisée, lors du 'returning' de cette rubrique, la règle d'anonymisation sera appliquée à la valeur renvoyée contenue dans la rubrique.
Version minimum requise
  • Version 2024
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 05/04/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale