NAJWAŻNIEJSZA ODPOWIEDŹ
Uprawnienia należy sprawdzać przed pobraniem i przekazaniem danych modelowi oraz przed każdą operacją. Kontrola musi obejmować dokumenty, historię, pamięć podręczną i eksporty. Ukrycie linku do źródła po odpowiedzi nie zabezpiecza treści.
Rozpisz dostęp na konkretne obiekty
Zacznij od macierzy ról i danych. Kto może czytać dokument, kto zmieniać status, a kto zatwierdzać wynik? Uwzględnij dział, klienta, projekt i poziom poufności, jeśli wpływają na proces. Sama rola „pracownik” często jest zbyt szeroka dla informacji o umowach lub danych innych klientów.
Przykład demonstracyjny: konsultant ma dostęp do spraw przypisanych zespołowi, ale nie do wszystkich zgłoszeń firmy. Asystent powinien wyszukiwać w takim samym zakresie. Globalne konto techniczne ułatwia podłączenie systemu, lecz nie może automatycznie określać dostępu osoby zadającej pytanie. Potrzebne jest przekazanie i sprawdzenie tożsamości użytkownika.
Kontekst i materiały: OWASP: Authorization Cheat Sheet
Kontrola nie kończy się na wyszukiwaniu
Wyniki mogą zostać zapisane w historii, buforze lub pliku do pobrania. Sprawdź, czy kolejne osoby nie otrzymają odpowiedzi przygotowanej wcześniej dla szerszego zakresu uprawnień. Klucz pamięci podręcznej i polityka udostępniania powinny uwzględniać granice dostępu, a nie tylko podobieństwo pytania.
Zaplanuj zmianę roli i odejście pracownika. Odebranie uprawnień w źródle powinno wpłynąć na powiązane kopie i przyszłe odpowiedzi. Niektóre organizacje wymagają zachowania historii w określonym zakresie; takie zasady trzeba uzgodnić z właścicielem danych. Techniczny projekt musi realizować rzeczywistą politykę, a nie ją zgadywać.
Odczyt i działanie to różne uprawnienia
Możliwość zobaczenia zamówienia nie oznacza prawa do jego anulowania. Narzędzia wykonujące zmiany powinny sprawdzać rodzaj operacji, obiekt i aktualny stan. Nie wystarczy potwierdzić, że użytkownik jest zalogowany. Pomiędzy przygotowaniem propozycji a wykonaniem może zmienić się status sprawy lub rola użytkownika.
Przy akceptacji pokaż zakres działania i istotne dane. Sprawdź je ponownie po stronie serwera. Model nie powinien sam wyznaczać granic dostępu na podstawie tego, co ktoś napisał w rozmowie. Deklaracja „jestem administratorem” jest treścią do odczytania, a nie dowodem uprawnienia.
Odbiór wymaga prób między rolami
Zbuduj konta testowe o różnych zakresach. Pytaj o ten sam dokument, korzystaj z historii i eksportu, a następnie odbierz dostęp. Sprawdź również odnośniki otwierane bezpośrednio, poza interfejsem. Ukryty przycisk nie stanowi zabezpieczenia, jeśli operację nadal można wykonać przez żądanie.
W rejestrze zdarzeń zapisuj tożsamość, typ operacji i wynik kontroli, ograniczając zbędne treści. Ustal, kto może przeglądać taki rejestr. Logi również są zbiorem danych i nie powinny przypadkowo stać się miejscem szerszego dostępu niż sam produkt. Weryfikację powtarzaj po zmianach integracji i modelu uprawnień.
OD CZEGO ZACZĄĆ
Zabierz to do swojego projektu.
- Rozpisz role, obiekty i rodzaje operacji.
- Uwzględnij historię, eksport oraz pamięć podręczną.
- Sprawdzaj dostęp ponownie przy wykonaniu zmiany.
- Przetestuj odebranie uprawnień i konta różnych klientów.
Wybierz jeden punkt, którego dziś brakuje w Twoim procesie. To dobry temat na pierwszą rozmowę z zespołem.
PYTANIA I ODPOWIEDZI
Pytania, które pojawiają się najczęściej.
Czy można polecić modelowi, żeby pilnował dostępu?
Można opisać oczekiwane zachowanie, ale decyzję o dostępie musi egzekwować aplikacja. Model nie powinien otrzymywać danych, których użytkownik nie może zobaczyć.
Czy prywatne wdrożenie rozwiązuje problem?
Zmienia sposób hostowania, ale nie zastępuje uprawnień wewnątrz organizacji. Nadal trzeba oddzielać role, klientów, projekty i operacje oraz kontrolować historię i logi.
Źródła i kontekst
- OWASP: Authorization Cheat Sheet ↗
OWASP opisuje projektowanie i sprawdzanie autoryzacji. Powyższe scenariusze przenoszą problem na historię i przepływy firmowego asystenta.
Opracowanie: Zespół ALGOV. Stan wiedzy: 8 września 2026. Przykłady opisują możliwe scenariusze i nie są wynikami projektów klientów. Jak powstają nasze poradniki.