Hijerarhija uloga organizacijski je izraz koji se najčešće koristi u bazama podataka i računalnim sigurnosnim sustavima. Korisnici posjeduju eskalirajuće uloge koje se granaju prema gore poput grana stabla. Kao korisnici sustava se promoviraju kroz ove uloge. Oni nasljeđuju dodatne atribute, dužnosti i povezane varijable uloge koju usvajaju, a da pritom ne izgube nijedan od svojih atributa iz svoje prethodne uloge(a). Prednost ovoga je što omogućuje jednostavan organizacijski standard za dizajniranje baza podataka i sigurnosnih dozvola. Nedostaci proizlaze iz činjenice da se pojedine uloge često ne prepliću uredno jedna u drugu, što dovodi do nezgrapnih ili nepravilnih konstrukcija u dizajnu sustava.
Zamislite snježnu grudu koja se kotrlja nizbrdo. Kako napreduje, akumulira sve više i više veličine bez gubitka bilo kakvog izvornog sadržaja. Dok dosegne dno brda, ili viši nivo baze podataka, proširio se daleko iznad svoje izvorne veličine. Ovo je osnovni koncept hijerarhije uloga.
Na primjer, razmotrite hijerarhiju uloga baze podataka zaposlenika. Najelementarnija razina baze podataka bit će tablica Employees, koja prirodno sadrži svaki zapis o svakoj osobi koja radi u tvrtki, budući da su svi zaposlenici. Iznad Zaposlenika može se nalaziti tablica Menadžeri, koja može dodati dodatne atribute kao što su popisi zaposlenika koje svaki menadžer nadzire. No, tablica Managers će naravno biti ekskluzivnija; kao što je svaki menadžer zaposlenik, ali nije svaki zaposlenik menadžer. Tablica hijerarhije uloga nastavit će se “kapati” u obliku piramide, eventualno dodajući tablicu za voditelje podružnica, korporativne menadžere, potpredsjednike itd.
Sa sigurnosne perspektive, vrhunac hijerarhije bio bi neograničeni administrator sustava, koji može izvršiti bilo koju modifikaciju ili promjenu računalnog sustava. Dok bi najniži sloj bio jednostavan korisnik, koji bi mogao pristupiti samo nekolicini programa, a da mu nije dopušteno napraviti bilo kakve bitne promjene. U oba slučaja – bilo u bazi podataka ili sigurnosnoj situaciji – shema hijerarhije uloga omogućuje učinkovito “krvarenje prema gore”, dopuštajući korisnicima sustava da migriraju s jedne pozicije na drugu u prilično linearnom formatu.
Loša strana ovoga dolazi od složenih organizacija, u kojima atributi jednog entiteta ne prelaze nužno glatko u drugi. Razmotrimo slučaj u kojem se zaposlenici promaknu na rukovodeću poziciju nakon što su imali ulogu programera ili radnika u ljudskim resursima. Pretpostavimo da pravila tvrtke zabranjuju pojedincima da rade i kao programeri i kao kadrovi. Sada, prema strukturi hijerarhije uloga, svi u tablici Manageri moraju naslijediti i atribute programera i atributa nekoga tko radi u ljudskim resursima. To rezultira gubitkom prostora i nultim atributima unutar baze podataka, jer niti jedan menadžer neće posjedovati i atribute programera i nekoga u ljudskim resursima.