Masking de données Postgres avec l'anonymissateur PostgreSQL

Masking de données Postgres avec l'anonymissateur PostgreSQL
Lors de l'utilisation du système de gestion de la base de données PostgreSQL, nous devons masquer entièrement ou une partie des données des utilisateurs pour garder les données sensibles protégées et inutilisées. Cela peut être fait à travers différentes approches, mais ici, nous expliquerons l'un des processus couramment utilisés de masquage des données.

Masquage des données

C'est la méthode utilisée pour protéger les données sensibles importantes en remplaçant les valeurs par certaines valeurs alternatives qui sont réalistes. Le masquage des données est également connu sous le nom de parapluie pour les données qui cachent la pièce et protègent les données des utilisateurs indésirables.

Anonciateur de PostgreSQL

Il s'agit d'une extension postgresql qui est créée pour masquer ou remplacer les informations personnelles ou appliquer un masque sur les informations. Cette technique est appliquée avec la procédure de masquage en créant des rôles.

La fonctionnalité du masquage des données

En utilisant le masquage des données, nos exigences légales sont confirmées pour garder les données privées, comme les PCI-DSS et d'autres réglementations sont créés pour s'assurer que les données resteront privées. Il protège les secrets d'informations car de nombreuses organisations travaillent avec des dossiers critiques à temps élevé, qui devraient être protégés contre les concurrents.

Fonctionnement du processus:

  • Nous configurons le système postgresql pour configurer le masquage des données.
  • Nous créons un utilisateur pour les sauvegardes sécurisées.
  • Ensuite, aussi, une sauvegarde masquée est créée.
  • Les sauvegardes sécurisées sont fournies aux développeurs.

Rôle

Un rôle peut être un seul utilisateur ou peut-être un groupe d'utilisateurs. Un rôle est que l'entité de la base de données PostgreSQL qui offre la propriété de PostgreSQL et fournit les privilèges de la base de données. Par exemple, un utilisateur de connexion est un rôle qui rend le nouvel utilisateur connecté à la base de données PostgreSQL. Grâce aux commandes et aux options du panneau Pgadmin, un rôle est créé.

Mise en œuvre

Accédez au panneau d'administration de PostgreSQL. Fournir le mot de passe pour la connexion de la base de données avec le serveur une fois qu'il est établi. Ouvrez maintenant l'outil de requête et utilisez la commande pour créer un rôle. Dans PostgreSQL, un rôle est créé pour l'utilisateur en appliquant une condition ou une logique séparément à toutes les commandes. Chaque fois que nous utilisons ce rôle dans nos commandes, la logique ou la condition est automatiquement appliquée à cette commande. Alors ici, un rôle nommé Role1 est créé. En tant que commande, nous utilisons la requête ci-dessous.

>> créer un rôle de rôle1; Commentaire sur le rôle Rôle1 est «masqué»;

Cela provoquera un commentaire masqué sur la commande où nous utiliserons le rôle. Ceci est le premier commentaire utilisé qui masque ou masquera les éléments. Chaque fois que nous voulons masquer un élément ou une colonne, nous utiliserons le rôle spécifié dans cette colonne. Après avoir créé le rôle, nous appliquerons désormais les effets sur une colonne spécifique dans un tableau. Sélectionnez donc un tableau sur lequel vous souhaitez appliquer un masque. Nous avons sélectionné un tableau nommé «patient» ayant trois attributs: ID, nom et téléphone d'un patient.

>> sélectionner * parmi les patients;

Cette commande affichera les données de chaque ligne. Maintenant, nous appliquerons le commentaire de Masked sur la colonne «nom». Le 'Anon' est le nom de l'extension dans le dossier PostgreSQL. Ici, la fonction random_name () est appelée, qui renverra un nom aléatoire anonyme. Et ce nom sera remplacé par le nom d'origine. C'est ainsi qu'un masque est appliqué pour les méthodes de sécurité.

>> commenter le patient colonne.Le nom est `` masqué avec une fonction anon.random_name () ';

Cela accédera au tableau puis à la colonne spécifiée, car vous pouvez voir qu'une méthode «point» est utilisée ici. Ce masque masquera les noms d'origine de la colonne; Lorsque le rôle est appliqué, vous verrez les résultats.

L'étape suivante consiste à appliquer le commentaire d'un masque sur la colonne «téléphones» de la table «patient». Une partie est visible, tandis que d'autres seront cachées. Le signe du dollar indique qu'ici le numéro d'origine apparaîtra. Tandis que le «*» montre que le nombre n'est pas visible. À la place du numéro, un astérisque sera placé comme dans le mot de passe; Les lettres sont cachées.

>> commenter le patient colonne.Les téléphones sont `` masqués avec une fonction anon.Partial (téléphones, 2, $$ * - *** - ** $$, 2) ';

Le paramètre «2» signifie que seuls deux nombres peuvent être visibles aux deux extrémités. Nous allons maintenant utiliser une instruction SELECT simple pour afficher les résultats d'une ligne spécifique. Cette vue sera ce qu'un utilisateur normal verra, sur lequel nous n'avons appliqué aucun masque.

>> Sélectionner * parmi le patient où id = '3';

Vous pouvez voir que les données entières sont visibles. Un utilisateur normal peut mettre à jour, afficher, supprimer et effectuer presque toutes les opérations de la relation de la base de données PostgreSQL. Mais pour restreindre certaines données, nous utilisons le masque comme le commentaire qui est appliqué au rôle. En utilisant ce masque, un utilisateur n'est pas en mesure d'effectuer une mise à jour concernant aucune commande sur la table comme supprimer, mettre à jour ou même ne peut pas afficher les résultats correctement. Comme nous l'avons vu la vue de l'utilisateur normal, nous verrons maintenant ce que l'utilisateur masqué verra sur l'exécution de la même requête. À cette fin, nous devons postuler et définir le rôle que nous avons créé des commentaires de masque à ce sujet. Sinon, le masque ne sera pas appliqué, et la vue sera la même que ci-dessus.

>> Set Role Role1; Sélectionnez * Patient FRPM où id = '3';

Rappelez maintenant les commentaires que nous avons appliqués; Deux masques ont été créés. Un sur la colonne «Nom» pour appliquer un nom aléatoire, et un sur la colonne «Phones» pour masquer les données partielles. Maintenant, en exécution, vous pouvez voir que le nom «Robert James» à la ligne 3 est remplacé par un nom aléatoire «sheetle», et de même, le numéro dans la colonne «Phones» est également masqué. Seuls les premiers et deux nombres sont visibles selon la condition que nous avons appliquée.

Ces commentaires «masqués» sont importants pour garder l'intimité. Et pour garder vos données intactes et visibles uniquement pour les personnes que vous souhaitez.

En appliquant Role1, l'utilisateur souhaite récupérer l'enregistrement d'une personne spécifique en appliquant une autre requête.

>> Set Role Role1; Sélectionnez * à partir du patient où nomme ilike 'Sushi Azaar';

Le mot-clé «ilike» agit de la même manière qu'une déclaration égale. Lors de l'exécution de la commande, vous verrez que 0 lignes sont affichées en raison du rôle ajouté à la commande; Si vous supprimez le rôle de la requête, les résultats seront affichés du tableau.

De même, appliquer maintenant une déclaration de suppression en postulant à ce rôle.

>> Set Role Role1 Supprimer du patient où id = '3';

Il ne supprimera aucune ligne de la table à mesure que le rôle est appliqué, et donc les privilèges sont limités. Et si l'utilisateur essaie de mettre à jour le tableau en utilisant une requête, il / elle ne pourra pas le faire car le rôle est mentionné dans la commande.

Conclusion

Cet article contient des informations concernant l'intégrité des données des pirates ou de la personne que vous souhaitez masquer les données. Le processus implique le masquage des données, qui se fait en créant un rôle dans PostgreSQL. Les données peuvent être remplacées ou partiellement cachées. Les deux types sont expliqués avec des exemples implémentés sur une colonne du tableau.