Príklad
V systéme na správu dokumentov existuje priečinok Projekty, do ktorého majú členovia tímu právo dokumenty zobrazovať. V jeho podpriečinku Projekty/Financie sú však citlivé rozpočty. Vedúca financií tu potrebuje upravovať dokumenty, ostatní členovia tímu ich nemajú ani vidieť.
Tester potrebuje overiť, či sa práva z nadradeného priečinka prenášajú na podpriečinky podľa nastavených pravidiel, či výnimka dedenie správne preruší a či sa obmedzenie nedá obísť priamou URL adresou alebo API.
Ako otestovať dedenie oprávnení v adresárovej štruktúre
1. Priprav štruktúru a očakávané oprávnenia
- Vytvor nadradený priečinok, aspoň dva podpriečinky a dokument v každej úrovni, napríklad
Projekty,Projekty/FinancieaProjekty/Financie/Rozpočty. - Priprav používateľov s odlišným prístupom: člena tímu, vedúcu financií, externého používateľa a administrátora.
- Zapíš, ktoré práva majú byť zdedené: zobrazenie, vytváranie, úprava, odstránenie alebo zdieľanie.
- Priprav jednoduchú maticu používateľ – priečinok – operácia – očakávaný výsledok. Pomôže odlíšiť chybu dedenia od chyby v roli používateľa.
2. Over základné dedenie z nadradeného priečinka
- Priraď členovi tímu na priečinok
Projektyprávo iba na zobrazenie. - Over, že vidí nadradený priečinok, jeho podpriečinky aj dokumenty v nich, ak dedenie nie je prerušené.
- Skontroluj, že používateľ nemôže v žiadnej zdedenej úrovni nahrať, upraviť ani odstrániť dokument.
- Vytvor nový podpriečinok a nový dokument až po pridelení práv. Over, či automaticky prevezmú oprávnenia rodiča.
- Skontroluj aj zobrazenie v stromovej navigácii, vo vyhľadávaní, v nedávnych položkách a vo výsledkoch filtrov.
3. Otestuj prerušenie dedenia a výnimky
- Na priečinku
Projekty/Financievypni dedenie a nastav prístup iba vedúcej financií. - Over, že člen tímu už nevidí tento priečinok, jeho obsah ani podpriečinok
Rozpočty. - Skús otvoriť citlivý dokument cez uloženú priamu URL adresu. Systém má prístup odmietnuť bez zobrazenia obsahu alebo citlivých metadát.
- Over, že vedúca financií má práva, ktoré jej boli nastavené priamo, a že administrátor má prístup podľa pravidiel systému.
- Ak systém podporuje opätovné zapnutie dedenia, over návrat k právam rodičovského priečinka a jasné upozornenie, ak sa tým prepíšu lokálne výnimky.
4. Skontroluj kombinácie povolení a zákazov
- Priraď používateľa do skupiny, ktorá má na rodičovský priečinok právo na zobrazenie, a zároveň mu na podpriečinok nastav výslovný zákaz.
- Over, ktoré pravidlo má prednosť podľa špecifikácie: výslovný zákaz, priame povolenie alebo právo zdedené cez skupinu.
- Otestuj používateľa, ktorý získava práva z dvoch skupín s rozdielnym rozsahom.
- Skontroluj, či právo na úpravu automaticky zahŕňa zobrazenie a či právo na vytvorenie dokumentu neumožní nečakané odstránenie cudzieho dokumentu.
- Over, že systém pri nejednoznačnej konfigurácii zobrazí zrozumiteľnú informáciu administrátorovi a nezvolí príliš široký prístup.
5. Zmeň oprávnenia po vytvorení obsahu
- Pridaj dokument do podpriečinka, potom zmeň práva na rodičovskom priečinku.
- Over, či sa zmena správne prejaví aj na existujúcich podpriečinkoch a dokumentoch, ak majú dediť práva.
- Skontroluj, že lokálna výnimka v podpriečinku zostane zachovaná, ak ju zmena rodičovského priečinka nemá prepísať.
- Presuň dokument z priečinka s obmedzeným prístupom do priečinka so širším prístupom a opačne. Over, či dokument prevezme nové pravidlá a či nezostanú pôvodné práva.
- Otestuj kopírovanie priečinka alebo dokumentu. Práva pri kópii môžu mať iné pravidlá než práva pri presune.
6. Over prístup mimo používateľského rozhrania
- Skús načítať dokument a obsah podpriečinka cez API pod účtom bez oprávnenia.
- Over, že backend vráti očakávaný výsledok, napríklad
403, prípadne404, ak systém nemá prezradiť existenciu položky. - Skús zmeniť identifikátor priečinka alebo dokumentu v URL a v API požiadavke.
- Over, že používateľ bez prístupu nemôže dokument stiahnuť cez priamy odkaz, náhľad, export ani prílohu e-mailového oznámenia.
- Skontroluj, že používateľské rozhranie iba neukrýva tlačidlá, ale že každú operáciu kontroluje aj server.
7. Otestuj zmenu práv počas práce používateľa
- Prihlás používateľa, otvor mu dokument v zdedenom priečinku a potom mu právo na rodičovský priečinok odober.
- Over, či sa prístup zruší okamžite alebo po obnovovaní relácie podľa pravidiel systému.
- Skontroluj, že používateľ po strate práva nemôže uložiť už otvorený dokument ani stiahnuť jeho aktuálnu verziu.
- Ak má používateľ otvorený zoznam priečinkov, over aktualizáciu stromu, vyhľadávania a dostupných akcií.
- Otestuj aj pridelenie nového práva počas relácie a správanie pri vypršanom tokene alebo cache prehliadača.
8. Skontroluj audit a hraničné situácie
- Over auditné záznamy pri zmene dedenia, vytvorení výnimky, presune dokumentu a zamietnutom pokuse o prístup.
- Skontroluj, či záznam uvádza používateľa, čas, priečinok, zdroj a cieľ presunu, vykonanú zmenu a jej výsledok.
- Otestuj veľmi hlbokú štruktúru priečinkov. Dedenie musí fungovať rovnako aj po viacerých úrovniach.
- Over správanie pri odstránení alebo obnovení rodičovského priečinka z koša.
- Skontroluj výkon pri zmene práv na priečinku s veľkým počtom podpriečinkov a dokumentov. Systém nesmie dočasne sprístupniť citlivý obsah nesprávnym používateľom.
Dedenie oprávnení nie je len nastavenie jednej roly na priečinku. Treba overiť, ako sa práva správajú pri novom obsahu, výnimkách, presunoch aj pri zmene počas aktívnej relácie. Rozhodujúce je, aby rovnaké pravidlá platili v používateľskom rozhraní, vo vyhľadávaní, cez priamy odkaz aj na backende.
