Mysql
 sql >> Base de données >  >> RDS >> Mysql

Contrôle d'accès MYSQL

Vous pouvez adopter trois approches :

  1. Faites-le dans l'application
  2. Faites-le entre l'application et la base de données, à l'intérieur d'un proxy de base de données
  3. Faites-le dans la base de données

La première option ne serait pas vraiment considéré comme un contrôle d'accès au niveau de la ligne puisque la logique de l'application est celle qui est responsable du filtrage/masquage. (Le filtrage est un contrôle d'accès au niveau de la ligne alors que le masquage est au niveau de la cellule).

La deuxième option , à l'aide d'un proxy, est une approche de plus en plus utilisée. Il existe des solutions dédiées telles que :

  1. GreenSQL
  2. Informatica DDM, et
  3. Filtre d'accès aux données axiomatiques.

Ces solutions interceptent généralement le trafic SQL et le modifient de manière à ce que seules les données autorisées soient renvoyées. C'est ce qu'on appelle le masquage dynamique des données . C'est expliqué un peu plus sur Wikipedia .

La troisième option consiste à utiliser les capacités natives de la base de données. Par exemple, Oracle a quelque chose appelé Virtual Private Database (VPD) qui vous permet de configurer des fonctionnalités avancées de filtrage de lignes.

Dans votre cas (MySQL), il existe quelque chose appelé contrôle d'accès à grain fin (FGAC). Il y a un super article sur le sujet ici . Google ce terme pour plus de ressources.