Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Zugriffskontrolle

Es gibt drei mögliche Ansätze:

  1. In der App erledigen
  2. Machen Sie es zwischen der App und der DB, innerhalb eines DB-Proxys
  3. Machen Sie es innerhalb der Datenbank

Die erste Option würde sich nicht wirklich als Zugriffskontrolle auf Zeilenebene qualifizieren, da die Anwendungslogik für das Filtern / Maskieren verantwortlich ist. (Filtern ist eine Zugriffskontrolle auf Zeilenebene, während Maskieren auf Zellenebene erfolgt).

Die zweite Option , die Verwendung eines Proxys, ist ein Ansatz, der zunehmend verfolgt wird. Es gibt dedizierte Lösungen wie:

  1. GreenSQL
  2. Informatica DDM und
  3. Axiomatischer Datenzugriffsfilter.

Diese Lösungen fangen normalerweise den SQL-Datenverkehr ab und ändern ihn so, dass nur autorisierte Daten zurückgegeben werden. Dies wird als dynamische Datenmaskierung bezeichnet . Auf Wikipedia wird es etwas ausführlicher erklärt .

Die dritte Option ist es, die nativen Fähigkeiten der Datenbank zu verwenden. Zum Beispiel hat Oracle eine sogenannte Virtual Private Database (VPD), mit der Sie erweiterte Zeilenfilterfunktionen konfigurieren können.

In Ihrem Fall (MySQL) gibt es etwas, das als feinkörnige Zugriffskontrolle bezeichnet wird (FGAC). Einen großartigen Artikel zum Thema gibt es hier . Google diesen Begriff für weitere Ressourcen.