Video: Isilon: How to Enable a User for sFTP Access 2024
En av de vanligaste metoderna för att säkra data i NoSQL är att tilldela varje post (eller dokument eller graf, beroende på din databas typ) med en uppsättning behörigheter kopplade till roller. Detta är rollbaserad åtkomstkontroll, eller RBAC för kort.
Tänk på ett pressmeddelande för en webbplats som lagras i en dokument (aggregerad) NoSQL-databas. Redaktörsrollen kan ha uppdateringsbehörigheter för dokumentet, medan en mer allmän roll kanske bara har läsbehörigheter.
Detta användarfall kräver att roll behörigheter, inte användare behörigheter. Användare kan tilldelas en eller flera roller. Användare ärvs sålunda rättigheter utifrån summan av sina roller.
Att behöva skapa en roll för att ge användarbehörighet att utföra en viss funktion kan verka som extra arbete, men detta tillvägagångssätt är mycket användbart. Tänk på en användare som flyttar till en annan avdelning eller som lämnar helt.
Du vill inte behöva titta manuellt för varje dokument vars behörigheter nämner den här användaren och ändrar eller tar bort dem. Ändra bara den användarens rolluppgifter i en enda operation. Att använda rollbaserad åtkomstkontroll (RBAC) är mycket lättare för långsiktigt underhåll av säkerhetsbehörigheter.
Se hur databaser hanterar behörigheter och rollarv. Överväga försäkringsbolag i ett försäkringsbolag, där det kan finnas praktikanter, juniorer och senior försäkringsgivare, var och en med ökad tillgång till olika typer av information.
Du kan tilldela de yngre försäkringsgivarna de behörigheter som praktikanterna tilldelas, plus några fler. Då skulle du kunna tilldela alla juniortillståndsbehörigheterna till senior försäkringsgivare, plus några få, igen. Om du vill lägga till ytterligare behörigheter för alla dessa roller måste du göra tre identiska ändringar.
Om du har fem nivåer av roller är det fem kopior. Dessutom kommer varje system att ha en mängd roller som dessa. Det finns ett bättre sätt än att utföra samma vardagliga uppgift om och om igen: Roll arv.
Vissa system innefattar rollarv. I detta fall är JuniorUnderwriter-rollen arv från TraineeUnderwriter-rollen, och SeniorUnderwriter-rollen ärver från JuniorUnderwiter-rollen. Nu är allt du behöver göra för att lägga till ett tillstånd för alla roller, att lägga till det endast i TraineeUnderwriter-rollen (den lägsta arvet) och alla roller kommer att erva tillståndet. Rollarv är mycket lättare att förstå och underhålla.
Role-tillståndslogiken implementeras generellt med OR-logik. Det vill säga om du tilldelar tre roller - RoleA, RoleB och RoleC - till en post med läsbehörighet, har en användare denna behörighet om han har RoleA OR RoleB, ELLER RoleC.Om du inte tilldelar rollläsbehörigheter till en post, har ingen användare läsbehörigheter på den inspelningen (det är givetvis en arv åt sidan).