Video: ID Scandinavia - BusinessMail 2025
En av de vanligste metodene for å sikre data i NoSQL er å tildele hver post (eller dokument eller graf, avhengig av databasetypen din) med et sett med tillatelser knyttet til roller. Dette er rollebasert tilgangskontroll, eller RBAC for kort.
Vurder en pressemelding for et nettsted som lagres i et dokument (samlet) NoSQL-database. Redigeringsrollen kan ha oppdateringsrettigheter for dokumentet, mens en mer offentlig rolle kan ha bare lese tillatelser.
Denne brukssaken krever at rolle tillatelser, ikke bruker tillatelser. Brukere kan tildeles en eller flere roller. Dermed erverver brukerne tillatelser basert på summen av deres roller.
Å måtte opprette en rolle for å gi brukeren tillatelse til å utføre en bestemt funksjon kan virke som ekstraarbeid, men denne tilnærmingen er veldig nyttig. Tenk på en bruker som flytter til en annen avdeling eller som går helt ut.
Du vil ikke måtte se manuelt for hvert dokument hvis tillatelser nevner denne brukeren, og endre eller fjerne dem. I stedet endrer du bare brukerens rolleoppdrag i en enkelt operasjon. Bruke rollebasert tilgangskontroll (RBAC) er mye lettere for langsiktig vedlikehold av sikkerhetsrettigheter.
Se hvordan databaser håndterer tillatelser og rollearv. Tenk overforfattere i et forsikringsselskap, hvor det kan være trainee, junior og senior forsikringsselskaper, hver med økende tilgang til ulike typer informasjon.
Du kan tilordne de yngre underwriters tillatelsene som trainees er tildelt, pluss noen flere. Deretter kan du tilordne alle de yngre garantistillatelsene til senior forsikringsgivere, pluss noen få, igjen. Hvis du vil legge til ekstra tillatelser til alle disse rollene, må du gjøre tre identiske endringer.
Hvis du har fem nivåer av roller, er det fem eksemplarer. Også, hvert system vil ha en rekke roller som disse. Det er en bedre måte å utføre den samme verdslige oppgaven igjen og igjen: Rollearv.
Noen systemer inkluderer rollearv. I dette tilfellet arver JuniorUnderwriter-rollen fra TraineeUnderwriter-rollen, og SeniorUnderwriter-rollen arver fra JuniorUnderwiter-rollen. Nå er alt du trenger å gjøre for å legge til en tillatelse til alle roller, å legge den til bare TraineeUnderwriter-rollen (det laveste arvenivået), og alle roller vil arve tillatelsen. Rollearv er mye lettere å forstå og vedlikeholde.
Rolle tillatelse logikk er vanligvis implementert med OR logikk. Det vil si, hvis du tildeler tre roller - RoleA, RoleB og RoleC - til en plate med lesetillatelse, har en bruker denne tillatelsen hvis han har RoleA OR RoleB, OR RoleC.Hvis du ikke tilordner rulleavlesningsrettigheter til en plate, har ingen bruker lesetillatelser på denne platen (arv til side, selvfølgelig).
