Séria: Ako písať dokumentáciu a manuály v IT projekte
Reálny problém z praxe
Tester hlási:
„Používateľ vidí dáta, ktoré by nemal.“
Vývojár odpovie:
„Ale je prihlásený.“
Používateľ je prihlásený.
Ale nemá mať prístup k týmto dátam.
Nakoniec sa zistí:
- role sú nastavené nesprávne
- kontrola oprávnení sa robí len na frontende
- API neoveruje prístup
Používateľ prešiel autentifikáciou.
Ale autorizácia zlyhala.
Čo sa tu vlastne pokazilo (analýza systému)
Problém nie je v jednej chybe.
Problém je, že nie je jasne oddelené:
- kto je používateľ
- čo smie robiť
Autentifikácia odpovedá na otázku:
kto si?
Autorizácia odpovedá na otázku:
čo smieš robiť?
Tieto dve veci sa v praxi často miešajú.
A bezpečnosť sa berie ako „nejako to funguje“.
Skutočné náklady (čas, chaos, riziko)
Keď autentifikácia a autorizácia nie sú zdokumentované:
- tester nevie, čo má overiť
- vznikajú bezpečnostné chyby
- support nevie vysvetliť správanie systému
- admin nevie správne nastaviť role
Najhorší stav:
používateľ vidí alebo robí to, čo nemá
To už nie je bug.
To je bezpečnostný problém.
Minimálny model riešenia
Dokumentácia bezpečnosti nemusí byť komplikovaná.
Ale musí byť jasná.
1. Autentifikácia
- ako sa používateľ prihlasuje (heslo, SSO, token)
- aké sú pravidlá (expirácia, obnovovanie)
- čo sa deje pri neúspešnom prihlásení
2. Autorizácia
- aké role existujú
- aké oprávnenia majú
- čo je povolené a čo zakázané
Nestačí napísať „admin má všetko“.
3. Kontrola prístupu
- kde sa kontrola vykonáva (frontend, backend, API)
- čo sa stane pri porušení pravidiel
- aký kód sa vracia (napr. 403)
Kontrola len na frontende nestačí.
4. Prístup k dátam
- kto vidí ktoré dáta
- podľa akých pravidiel
- ako sa filtrujú
Toto je častý zdroj chýb.
5. Bezpečnostné scenáre
- čo sa stane pri pokuse o neoprávnený prístup
- čo sa loguje
- ako sa rieši incident
Príklad
Bez dokumentácie:
„Používateľ je prihlásený.“
S dokumentáciou:
- používateľ sa autentifikuje cez token
- má rolu „user“
- nemá prístup k dátam iných používateľov
- API pri pokuse vráti 403
Zrazu je jasné:
čo je správne správanie
čo je chyba
čo testovať
Mini checklist
Je jasné, ako prebieha prihlásenie?
Sú definované role a oprávnenia?
Je popísané, kto vidí aké dáta?
Je jasné, kde sa kontroluje prístup?
Sú uvedené chybové scenáre?
Ak nie, bezpečnosť nie je pod kontrolou.
Prepojenie na kvalitu a workflow
Autentifikácia a autorizácia nie sú len bezpečnostná téma.
Sú základ pre:
- testovanie
- správu používateľov
- integrácie
- audit
Pre testera je to kritické:
Bez toho nevieš:
- pripraviť testy rôznych rolí
- overiť prístup k dátam
- odhaliť bezpečnostné chyby
Bezpečnosť sa netestuje len „či sa dá prihlásiť“.
Testuje sa, čo sa dá urobiť po prihlásení.
Krátke zhrnutie
Autentifikácia a autorizácia nie sú to isté.
Autentifikácia rieši:
kto si.
Autorizácia rieši:
čo smieš robiť.
Ak to nie je zdokumentované:
- vznikajú bezpečnostné chyby
- systém je nepredvídateľný
Ak to zdokumentované je:
- vieš, čo testovať
- vieš, čo je chyba
- vieš, kde sú hranice systému
A to je základ bezpečného produktu.
