sql >> Databasteknik >  >> RDS >> Sqlserver

Behörighetsdesign

Om du vill skydda tillgångar (filer, databasrader, domänenheter, dokument, etc.) istället för applikationsfunktioner eller användarförmågor , rollbaserad säkerhet passar inte särskilt bra.

En bättre modell är att använda åtkomstkontrollistor (ACL) som du känner till från NTFS. Du sa det nästan själv eftersom du måste tilldela särskilda behörigheter för varje objekt för varje användare eller roll. Det är vad en ACL gör.

Om du behöver skydda objekt som i slutändan är rader i SQL Server måste du definiera anpassade tabeller för dina ACL:er, eftersom SQL Server inte har något stöd för behörigheter på radnivå.

Baserat på data i dessa ACL:er måste du implementera nödvändiga säkerhetskontroller i dina dataåtkomstkomponenter.

Här är några länkar till relaterade SO-svar:




  1. Kan vi skriva fallutlåtande utan att ha något annat uttalande

  2. Får inte önskad utdata efter att ha kört en QoQ

  3. Infoga flera data till MySQL och uppdatera om det finns

  4. Friendship System SQL-struktur och fråga