Steuerung der Sichtbarkeit von Tabellennamen
Die Verwaltung des Zugriffs auf eine große Menge an Daten innerhalb einer Organisation stellt erhebliche Herausforderungen dar. Besonders wenn viele Personen beteiligt sind, wird die Sicherstellung eines kontrollierten Zugriffs zu einer komplexen Aufgabe.
Unter diesen Umständen wird der Bedarf an Datenschutz besonders wichtig. Unbefugter Zugang und Manipulation können gravierende Konsequenzen haben, was die Bedeutung der Implementierung starker Sicherheitsmaßnahmen unterstreicht.
DataSunrise bietet daher eine Lösung namens Data Masking an, die den Schutz von Daten vor unbefugten Aktivitäten ermöglicht und somit die Verteidigung gegen potenzielle Risiken stärkt. Data Masking ist dabei ein wichtiges Werkzeug unter verschiedenen Schutzmaßnahmen, das es Organisationen ermöglicht, die Integrität und Vertraulichkeit von Daten in der komplexen Landschaft moderner Informationsdynamiken zu wahren.
Data Masking bietet nicht nur die Möglichkeit, Daten zu maskieren, sondern auch ganze Datenzeilen zu verbergen. Durch das Erstellen einer Maskierungsregel können bestimmte Benutzergruppen vom Zugriff auf bestimmte Datenbereiche ausgeschlossen werden, sodass nur relevante Informationen für ihre Aufgaben verfügbar sind.
Um dies zu veranschaulichen, nehmen wir das Szenario, in dem wir Tabellennamen basierend auf verschiedenen Abteilungen innerhalb der Organisation mit der “HIDE ROWS”-Funktion von DataSunrise verbergen möchten.
Angenommen, wir haben eine Verbindung zu einer lokalen PostgreSQL-Datenbank in DataSunrise hergestellt und anschließend die Proxy-Verbindung integriert.
Zuerst erstellen wir eine Maskierungsregel, indem wir die folgenden Schritte ausführen.
Gehe zu Masking > Dynamische Maskierungsregel > Neue Regel erstellen.
Geben Sie in den allgemeinen Einstellungen der Regel, die Sie erstellen möchten, einen passenden Namen. Wählen Sie den Datenbanktyp und die Instanz aus, auf die Sie diese Regel anwenden möchten.
Vergessen Sie auch nicht, das Kontrollkästchen “Ereignis protokollieren” zu aktivieren, damit Sie die Maskierungsereignisse im Abschnitt Dynamische Maskierungsereignisse überprüfen können. Andere Felder sind optional und können unausgefüllt bleiben, wenn sie nicht erforderlich sind.
Anschließend können wir im Filtersession die notwendigen Bedingungen festlegen. Zum Beispiel können wir bestimmen, dass die Regel für bestimmte Datenbankbenutzer oder DB-Benutzergruppen gilt. Hier, weil ich nicht möchte, dass der Benutzer “developer1” auf die Daten der HR-Abteilung zugreift, filtere ich diesen Benutzer aus. Wenn also jemand mit dem Benutzerkonto „developer1“ in das DBMS einloggt, kann er nicht auf die eingeschränkten Daten zugreifen.
Oder wenn es notwendig ist, die Daten vor mehreren Benutzern zu verbergen (z.B.: developer1+developer2 = „Testers“-Gruppe), gibt es die Möglichkeit, die Benutzer in zugehörige Gruppen zu sammeln.
Schließlich können die Haupteinstellungen für die Maskierung festgelegt werden. Da wir in diesem Artikel über das Verbergen von Tabellennamen sprechen, bleiben wir bei der Option „Hide Rows“.
Nach der Auswahl von „Hide Row“ wird zu den notwendigen Einstellungen zum Verbergen der Tabellen navigiert. Hier verwalten wir die Sichtbarkeit der Tabellennamen, die sich in der Instanz befinden. Wir werden die Zeilen aus Systemobjekten wie pg_catalog.pg_class verstecken. Um Systemobjekte auswählen zu können, ist es wichtig, das Kontrollkästchen „Systemobjekte anzeigen“ zu aktivieren.
Hinweis: Wenn Sie sich nicht sicher sind, welche Systemobjekttabellen in PgAdmin zur Erstellung der UI-Anzeige verwendet werden, bietet DataSunrises Überwachung der Datenaktivität (Auditing Service) eine gute Hilfe. Die unten empfohlenen Einstellungen sollten Sie aktivieren, da Sie möglicherweise mehrere Abfragen testen müssen, um sicherzustellen und zu überprüfen, was nach der Ausführung der Abfragen im Protokoll angezeigt wird.
Es wird einige Abfragen über die tatsächlich ausgeführte Abfrage geben. Durch Eingabe der „ID“ der Übersetzung können Sie die Details überprüfen, wie die Daten gesammelt und in der UI angezeigt werden.
Abgesehen von der Auswahl „Alle Zeilen verbergen“ besteht auch die Möglichkeit, nur die relevanten Zeilen zu verbergen, die das bestimmte Schlüsselwort enthalten, indem die Bedingung für den Wert der Spaltenzeilen festgelegt wird, die verborgen werden sollen.
Wie oben bereits erwähnt, möchte ich dem Benutzer „developer1“ keinen Zugriff auf die Daten der HR-Abteilung gewähren. Die Daten der IT-Abteilung werden ihm jedoch angezeigt. Daher filtere ich Tabellennamen aus, die „it“ enthalten, sodass diese IT-Abteilungstabellen dem Benutzer „developer1“ angezeigt werden.
Wenn Sie alle oben genannten Einstellungen abgeschlossen haben, klicken Sie auf „Speichern“, um die Regel zu speichern.
Jetzt wurden alle notwendigen Einstellungen zum Verstecken der Tabelle konfiguriert und die Regel ist bereit zur Anwendung.
Testen wir nun, ob die erstellte Maskierungsregel korrekt funktioniert.
Zum Testen demonstrieren wir mit pgadmin. Verbinden Sie sich in pgadmin über den Proxy mit derselben Datenbank. Zuerst werde ich mich als „postgres“ Benutzer verbinden.
Dann teste ich die Maskierungsregel, indem ich eine einfache Select-Abfrage ausführe.
SELECT * FROM pg_catalog.pg_class;
Nach der Ausführung können Sie immer noch die Ausgabe der Datenbanktabelle mit den Daten sowohl der IT- als auch der HR-Abteilung innerhalb der Tabelle sehen. Die Tabellennamen sind auch im linken Bereich weiterhin sichtbar. Denn der Benutzer „postgres“ wurde nicht als eingeschränkter Datenbankbenutzer ausgewählt.
Wenn wir uns als „developer1“ Datenbankbenutzer verbinden, können wir die Zeilen, die sich auf die HR-Abteilung beziehen, innerhalb der „pg_catalog.pg_class“-Tabelle nicht sehen, da diesem Benutzer der Zugriff auf die Daten der HR-Abteilung verweigert wird, aber immer noch auf die Daten der IT-Abteilung zugreifen kann. Ebenso wird die Anzeige der UI im linken Bereich geändert. Die Tabellen, die nicht zur IT-Abteilung gehören, werden verschwinden.
Auf diese Weise kann „Hide Rows“ aus der dynamischen Datenmaskierung verwendet werden, um Daten, einschließlich Systemobjekte wie Tabellennamen, vor unerwünschten Benutzern effizient zu schützen.