Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL контрол на достъпа

Има три подхода, които можете да предприемете:

  1. Направете го в приложението
  2. Направете го между приложението и db, вътре в db прокси
  3. Направете го в базата данни

Първата опция всъщност не се квалифицира като контрол на достъпа на ниво ред, тъй като логиката на приложението е тази, която отговаря за филтрирането/маскирането. (Филтрирането е контрол на достъпа на ниво ред, докато маскирането е на ниво клетка).

Вторият вариант , използвайки прокси, е подход, който все повече се прилага. Има специални решения като:

  1. GreenSQL
  2. Informatica DDM и
  3. Аксиоматичен филтър за достъп до данни.

Тези решения обикновено прихващат SQL трафика и го променят така, че да се връщат само разрешени данни. Това се нарича динамично маскиране на данни . Обяснено е малко повече в Уикипедия .

Трети вариант е да се използват собствените възможности на базата данни. Например Oracle има нещо, наречено виртуална частна база данни (VPD), което ви позволява да конфигурирате разширени възможности за филтриране на редове.

Във вашия случай (MySQL) има нещо, наречено финен контрол на достъпа (FGAC). Има страхотна статия по темата тук . Google този термин за повече ресурси.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да добавите клиент с помощта на JDBC за ClientDetailsServiceConfigurer през Spring?

  2. СУПЕР привилегия(и) за тази операция

  3. Създайте MySQL база данни

  4. Изготвеният PDO израз fetch() връща двойни резултати

  5. Използвате ли LIMIT в рамките на GROUP BY, за да получите N резултата на група?