sql >> Base de Datos >  >> RDS >> Mysql

Control de acceso MYSQL

Hay tres enfoques que podría tomar:

  1. Hazlo dentro de la aplicación
  2. Hágalo entre la aplicación y la base de datos, dentro de un proxy de base de datos
  3. Hazlo dentro de la base de datos

La primera opción realmente no calificaría como control de acceso a nivel de fila ya que la lógica de la aplicación es la responsable del filtrado/enmascaramiento. (El filtrado es un control de acceso a nivel de fila, mientras que el enmascaramiento es a nivel de celda).

La segunda opción , utilizando un proxy, es un enfoque que se adopta cada vez más. Existen soluciones dedicadas como:

  1. GreenSQL
  2. Informatica DDM y
  3. Filtro de acceso a datos de Axiomatics.

Estas soluciones normalmente interceptan el tráfico de SQL y lo modifican para que solo se devuelvan los datos autorizados. Esto se llama enmascaramiento dinámico de datos . Se explica un poco más en Wikipedia .

La tercera opción es usar las capacidades nativas de la base de datos. Por ejemplo, Oracle tiene algo llamado Base de datos privada virtual (VPD) que le permite configurar capacidades avanzadas de filtrado de filas.

En su caso (MySQL), hay algo llamado control de acceso detallado (FGAC). Hay un gran artículo sobre el tema aquí . Busca en Google ese término para obtener más recursos.