Video: Rollebaseret adgangskontrol SU04 2025
En af de mest almindelige metoder til sikring af data i NoSQL er at tildele hver post (eller dokument eller graf, afhængigt af din database type) med et sæt tilladelser knyttet til roller. Dette er rollebaseret adgangskontrol eller RBAC for kort.
Overvej en pressemeddelelse for et websted, der bliver opbevaret i et dokument (samlet) NoSQL-database. Redaktørrollen kan have opdateringsrettigheder til dokumentet, mens en mere offentlig rolle muligvis kun har tilladelse til læsning.
Denne brugstilfælde kræver tildeling af rolle tilladelser, ikke bruger tilladelser. Brugere kan tildeles en eller flere roller. Således arver brugerne tilladelser baseret på summen af deres roller.
At skulle skabe en rolle for at give brugeren tilladelse til at udføre en bestemt funktion kan virke som ekstra arbejde, men denne tilgang er meget nyttig. Overvej en bruger, der flytter til en anden afdeling eller som udelader helt.
Du ønsker ikke at se manuelt for hvert dokument, hvis tilladelser nævner denne bruger og ændrer eller fjerner dem. I stedet skal du bare ændre brugerens rolleopgaver i en enkelt operation. Brug af rollebaseret adgangskontrol (RBAC) er meget lettere for langsigtet vedligeholdelse af sikkerhedsrettigheder.
Se, hvordan databaser håndterer tilladelser og rollearv. Overvej underwriters i et forsikringsselskab, hvor der kan være praktikant, junior og senior forsikringsgivere, hver med øget adgang til forskellige typer information.
Du kan tildele de yngre underwriters de tilladelser, som praktikanterne er tildelt, plus et par flere. Derefter kunne du tildele alle junior underwriters tilladelser til senior forsikringsselskaber, plus et par mere, igen. Hvis du vil tilføje ekstra tilladelser til alle disse roller, skal du dog lave tre identiske ændringer.
Hvis du har fem niveauer af roller, er det fem eksemplarer. Også hvert system vil have en lang række roller som disse. Der er en bedre måde end at udføre den samme verdslige opgave igen og igen: Rollearv.
Nogle systemer omfatter rollearv. I dette tilfælde arver JuniorUnderwriter-rollen fra TraineeUnderwriter-rollen, og SeniorUnderwriter-rollen arver fra JuniorUnderwiter-rollen. Nu er alt hvad du behøver at gøre for at tilføje en tilladelse til alle roller, at tilføje den til kun TraineeUnderwriter-rollen (det laveste arviveau), og alle roller vil arve tilladelsen. Rollearv er meget lettere at forstå og vedligeholde.
Role-tilladelseslogik implementeres generelt med OR logik. Det vil sige, hvis du tildeler tre roller - RoleA, RoleB og RoleC - til en post med læsetilladelse, har en bruger denne tilladelse, hvis han har RoleA OR RoleB, OR RoleC.Hvis du ikke tildeler rollelæsningsrettigheder til en post, har ingen bruger tilladelse til at læse tilladelsen på denne post (selvfølgelig til side).