Hvad er rollehierarkiet?
Et rollehierarki er et organisatorisk udtryk, der oftest bruges i databaser og computersikkerhedssystemer. Brugere har eskalerende roller, der forgrener sig opad som grene af et træ. Som brugere af systemet fremmes gennem disse roller. De arver de ekstra attributter, pligter og relaterede variabler af den rolle, de indtager, uden at miste nogen af deres attributter fra deres tidligere rolle (r). Fordelen ved dette er, at det giver mulighed for en enkel organisatorisk standard til design af databaser og sikkerhedstilladelser. Ulemper skyldes det faktum, at individuelle roller ofte ikke blæser pænt ind i hinanden, hvilket tvinger akavede eller forkerte konstruktioner i design af systemet.
Forestil dig en snebold rullende ned ad bakke. Efterhånden som det skrider frem akkumuleres det mere og mere størrelse uden at miste noget af det oprindelige indhold. Da den når bunden af bakken eller databasens højere niveau, er den udvidet langt ud over den oprindelige størrelse. Dette er det grundlæggende begreb om et rollehierarki.
Overvej for eksempel et rollehierarki i en medarbejderdatabase. Det mest elementære niveau i databasen vil være medarbejder-tabellen, der naturligt indeholder hver registrering af hver person, der arbejder i virksomheden, da de alle er ansatte. Over medarbejdere er tabellen Managers, der muligvis tilføjer yderligere attributter, såsom lister over de ansatte, som hver leder overvåger. Managers-tabellen vil naturligvis dog være mere eksklusiv; da hver leder er en medarbejder, men ikke hver medarbejder er en leder. Rollehierarkitabellen vil fortsætte med at "sive op" i en pyramide-lignende form, eventuelt tilføje en tabel til filialledere, virksomhedsledere, næstformænd og så videre.
Fra et sikkerhedsperspektiv ville toppen af hierarkiet være en ubegrænset systemadministrator, der kan udføre enhver ændring eller ændring til et computersystem. Mens det laveste niveau ville være en simpel bruger, der muligvis kun kunne få adgang til en håndfuld programmer uden at have tilladelse til at foretage nogen væsentlige ændringer. I begge tilfælde - enten en database eller en sikkerhedssituation - tillader rollehierarki-skemaet et effektivt "blødning opad", så brugerne af systemet kan migrere fra en position til den næste i et ret lineært format.
Ulempen med dette kommer fra komplekse organisationer, hvor en enheds attributter ikke nødvendigvis blæser glat ind i en anden. Overvej et tilfælde, hvor medarbejderne forfremmes til en lederstilling efter at have haft en rolle som enten en programmør eller arbejdskraft. Antag, at virksomhedsregler forbyder individer i at arbejde både som programmerer og som personalearbejdere. I henhold til rollehierarki-strukturen skal alle i administratortabellen arve både egenskaberne for en programmør og dem fra en person, der arbejder med menneskelige ressourcer. Dette resulterer i spildt rum- og nullattributter i databasen, da ingen enkelt manager vil besidde både attributterne for en programmør og en person i menneskelige ressourcer.