Postgres -Datenmaskierung mit Postgresql Anonymizer

Postgres -Datenmaskierung mit Postgresql Anonymizer
Während wir das PostgreSQL -Datenbankverwaltungssystem verwenden, müssen wir die gesamten oder einen Teil der Daten der Benutzer ausblenden, um sensible Daten geschützt und ungenutzt zu halten. Dies kann durch verschiedene Ansätze erfolgen, aber hier erklären wir einen der häufig verwendeten Prozesse der Datenmaskierung.

Datenmaskierung

Es ist die Methode zum Schutz wichtiger sensibler Daten, indem die Werte durch einige alternative Werte ersetzt werden, die realistisch äquivalent sind. Die Datenmaskierung wird auch als Regenschirm für die Daten bezeichnet, die den Teil darin verborgen und die Daten vor unerwünschten Benutzern schützt.

PostgreSQL Anonymizer

Es handelt sich um eine Postgresql -Erweiterung, die zum Ausblenden oder Ersetzen persönlicher Daten erstellt oder eine Maske auf die Informationen angewendet wird. Diese Technik wird mit dem Maskierungsverfahren angewendet, indem Rollen erstellt werden.

Die Funktionalität der Datenmaskierung

Durch die Verwendung von Datenmaskierung werden unsere gesetzlichen Anforderungen bestätigt, um die Daten privat zu halten, wie PCI-DSS und andere Vorschriften, um sicherzustellen, dass die Daten privat bleiben. Es schützt die Informationsgeheimnisse, da viele Organisationen mit hohen kritischen Aufzeichnungen arbeiten, die vor Wettbewerbern geschützt werden sollten.

Arbeiten des Prozesses:

  • Wir konfigurieren das PostgreSQL -System zum Konfigurieren der Datenmaskierung.
  • Wir erstellen einen Benutzer für die sicheren Sicherungen.
  • Dann wird auch eine maskierte Sicherung erstellt.
  • Die sicheren Backups werden den Entwicklern zur Verfügung gestellt.

Rolle

Eine Rolle kann ein einzelner Benutzer oder eine Gruppe von Benutzern sein. Eine Aufgabe ist die Entität der PostgreSQL -Datenbank, die PostgreSQL -Eigentum angibt und die Datenbankrechte bereitstellt. Beispielsweise ist ein Login -Benutzer eine Rolle, mit der der neue Benutzer in der PostgreSQL -Datenbank angemeldet werden kann. Durch die Befehle und die Pgadmin -Panel -Optionen wird eine Rolle erstellt.

Implementierung

Gehen Sie zum Administratorbereich von PostgreSQL. Geben Sie das Kennwort für die Verbindung der Datenbank mit dem Server an, sobald er festgelegt ist. Öffnen Sie nun das Abfragetool und verwenden Sie den Befehl, um eine Rolle zu erstellen. In PostgreSQL wird für den Benutzer eine Rolle erstellt, indem eine beliebige Bedingung oder Logik getrennt auf alle Befehle angewendet wird. Wenn wir diese Rolle in unseren Befehlen verwenden, wird die Logik oder der Zustand automatisch auf diesen Befehl angewendet. Hier wird also eine Rolle namens Rollen1 erstellt. Als Befehl verwenden wir die unten angegebene Abfrage.

>> Rollenrolle erstellen1; Kommentar zu Rollenrolle1 ist "maskiert";

Dies führt zu einem Kommentar, der auf dem Befehl maskiert wird, wo wir die Rolle verwenden werden. Dies ist der erste verwendete Kommentar, der die Elemente maskiert oder versteckt. Wann immer wir jedes Element oder eine Spalte maskieren möchten, verwenden wir die angegebene Rolle in dieser Spalte. Nachdem wir die Rolle erstellt haben, werden wir nun die Auswirkungen auf eine bestimmte Spalte in einer Tabelle anwenden. Wählen Sie also eine Tabelle aus, auf die Sie eine Maske anwenden möchten. Wir haben eine Tabelle mit dem Namen "Patienten" mit drei Attributen ausgewählt: ID, Name und Telefon eines Patienten.

>> aus Patienten auswählen;

In diesem Befehl werden die Daten in jeder Zeile angezeigt. Jetzt werden wir den Kommentar von Masked auf die Spalte "Name" anwenden. Der 'Anon' ist der Name der Erweiterung im Postgresql -Ordner. Hier wird die Funktion random_name () aufgerufen, die einen anonymen zufälligen Namen zurückgibt. Und dieser Name wird durch den ursprünglichen Namen ersetzt. So wird eine Maske für Sicherheitsmethoden angewendet.

>> Kommentar zum Spaltenpatienten.Name ist 'maskiert mit Funktion Anon.zufälliger Name()';

Dies greift auf die Tabelle und dann auf die angegebene Spalte zu, wie Sie sehen können, dass hier eine "Punkt" -Methode verwendet wird. Diese Maske verbergt die ursprünglichen Namen der Spalte; Wenn die Rolle angewendet wird, sehen Sie die Ergebnisse.

Der nächste Schritt besteht darin, den Kommentar einer Maske auf die Spalte 'Telefone' der Tabelle 'Patient' anzuwenden,. Ein Teil des Teils ist sichtbar, während andere versteckt sein werden. Das Dollar -Zeichen zeigt an, dass hier die ursprüngliche Nummer angezeigt wird. Während das '*' zeigt, dass die Zahl nicht sichtbar ist. An der Stelle der Nummer wird ein Sternchen genau wie im Passwort platziert. Die Buchstaben sind versteckt.

>> Kommentar zum Spaltenpatienten.Telefone sind mit Funktionsanon maskiert.partiell (Telefone, 2, $$*-***-** $$, 2) ';

Der Parameter '2' bedeutet, dass nur zwei Zahlen an beiden Enden sichtbar sein können. Jetzt werden wir eine einfache Auswahlanweisung verwenden, um die Ergebnisse einer bestimmten Zeile anzuzeigen. Diese Ansicht wird das sein, was ein normaler Benutzer sehen wird, auf das wir keine Maske angewendet haben.

>> aus dem Patienten auswählen, wobei ID = '3';

Sie können sehen, dass die gesamten Daten sichtbar sind. Ein normaler Benutzer kann fast alle Vorgänge in der Beziehung der PostgreSQL -Datenbank aktualisieren, anzeigen, löschen und ausführen. Um einige Daten einzuschränken, verwenden wir die Maske als den Kommentar, der auf die Rolle angewendet wird. Durch die Verwendung dieser Maske kann ein Benutzer keine Aktualisierungen bezüglich eines Befehls in der Tabelle wie löschen, aktualisieren oder sogar die Ergebnisse nicht richtig anzeigen. Wie wir die Ansicht des normalen Benutzers gesehen haben, werden wir jetzt sehen, was der maskierte Benutzer bei der Ausführung derselben Abfrage sehen wird. Zu diesem Zweck müssen wir uns anwenden und die Rolle festlegen, die wir Mask -Kommentare dazu erstellt haben. Andernfalls wird die Maske nicht angewendet, und die Ansicht ist die gleiche wie oben.

>> Rollenrolle festlegen1; SELECT * FRPM -Patienten wobei ID = '3';

Erinnern Sie sich nun an die Kommentare, die wir angewendet haben. Es wurden zwei Masken erstellt. Eine in der Spalte "Name", um einen zufälligen Namen anzuwenden, und eine in der Spalte "Telefone", um Teildaten auszublenden. Jetzt können Sie sehen, dass der Name 'Robert James' in Zeile 3 durch einen zufälligen Namen 'Blatt' ersetzt wird, und in ähnlicher Weise ist die Nummer in der Spalte "Telefone" ebenfalls versteckt. Nur die ersten und letzten beiden Zahlen sind gemäß der Bedingung sichtbar, die wir angewendet haben.

Diese "maskierten" Kommentare sind wichtig, um die Privatsphäre beizubehalten. Und um Ihre Daten nur für die gewünschten Personen intakt und sichtbar zu halten.

Durch die Anwendung von Rollen1 möchte der Benutzer die Aufzeichnung einer bestimmten Person durch Anwenden einer anderen Abfrage abrufen.

>> Rollenrolle festlegen1; Wählen Sie * vom Patienten aus, wobei der Name Ilike 'Sushi Azaar';

Das Schlüsselwort "Ilike" wirkt ebenso wie eine gleiche Aussage. Bei der Ausführung des Befehls sehen Sie, dass 0 Zeilen aufgrund der dem Befehl hinzugefügten Rolle angezeigt werden. Wenn Sie die Rolle aus der Abfrage entfernen, werden die Ergebnisse aus der Tabelle angezeigt.

In ähnlicher Weise wenden Sie nun eine Löschanweisung an, indem Sie sich für die Rolle bewerben.

>> Rollenrolle festlegen1 vom Patienten löschen wobei ID = '3';

Es wird keine Zeile aus der Tabelle löschen, da die Rolle angewendet wird, und daher sind die Privilegien eingeschränkt. Und wenn der Benutzer versucht, die Tabelle mit einer Abfrage zu aktualisieren, kann er dies nicht tun, da die Rolle im Befehl erwähnt wird.

Abschluss

Dieser Artikel enthält Informationen zur Datenintegrität der Hacker oder der Person, die Sie ausblenden möchten. Der Prozess beinhaltet Datenmaskierung, die durch die Erstellung einer Rolle in PostgreSQL durchgeführt wird. Daten können ersetzt oder teilweise versteckt werden. Beide Typen werden mit Beispielen erklärt, die in einer Spalte der Tabelle implementiert sind.