sql >> Database teknologi >  >> RDS >> Mysql

MYSQL adgangskontrol

Der er tre tilgange, du kan tage:

  1. Gør det i appen
  2. Gør det mellem appen og db'en inde i en db-proxy
  3. Gør det inde i databasen

Den første mulighed ville ikke rigtig kvalificere som adgangskontrol på rækkeniveau, da applikationslogikken er den, der er ansvarlig for filtreringen/maskeringen. (Filtrering er adgangskontrol på rækkeniveau, mens maskering er celleniveau).

Den anden mulighed , ved hjælp af en proxy, er en tilgang, der i stigende grad tages. Der er dedikerede løsninger såsom:

  1. GreenSQL
  2. Informatica DDM, og
  3. Axiomatics Data Access Filter.

Disse løsninger opfanger typisk SQL-trafikken og ændrer den, så kun autoriserede data returneres. Dette kaldes dynamisk datamaskering . Det er forklaret lidt mere på Wikipedia .

Den tredje mulighed er at bruge databasens native muligheder. Oracle har f.eks. noget, der hedder Virtual Private Database (VPD), som lader dig konfigurere avancerede rækkefiltreringsfunktioner.

I dit tilfælde (MySQL) er der noget, der hedder finkornet adgangskontrol (FGAC). Der er en fantastisk artikel om emnet her . Google det udtryk for flere ressourcer.




  1. Sådan forbinder du flere databaser i PHP, MYSQLi &PDO

  2. Hvordan bruger man ANY i stedet for IN i en WHERE-klausul med Rails?

  3. Hvorfor MySQL's LEFT JOIN returnerer NULL-poster, når med WHERE-klausul?

  4. Gruppering af WHERE-sætninger i Codeigniter