Historia pytania:
Wraz ze wzrostem liczby użytkowników i modułów w systemach IT, rozdzielanie ról i określanie praw stało się krytycznym zadaniem. Błędy w projektowaniu schematu dostępu prowadzą do luk w bezpieczeństwie, nie działających funkcji i ryzyk wycieku danych.
Problem:
Brak spójnej metodologii budowania macierzy praw, brak zgodności między różnymi modułami i nieprawidłowy opis scenariuszy dostępu prowadzą do niedogodności dla użytkowników oraz konfliktów, a czasami nawet konsekwencji prawnych.
Rozwiązanie:
Stosowana jest metoda macierzy dostępu (access matrix), w której dla każdego modułu systemu opisane są role (Role-Based Access Control, RBAC), rodzaje operacji oraz odpowiednie scenariusze użycia. Dokumentowane jest:
Wszystko to jest rejestrowane w zestawieniu "ról i praw", zazwyczaj z wykorzystaniem arkuszy kalkulacyjnych, konstruktorów schematów lub za pomocą specjalistycznych diagramów UML (np. Use Case).
Kluczowe cechy:
Czy wystarczy opisać tylko podstawowe role (admin, użytkownik) dla całego systemu?
Nie, należy uszczegółowić role na poziomie zadań i modułów, w przeciwnym razie pojawią się szare strefy i luki w bezpieczeństwie.
Czy można budować prawa dostępu wyłącznie na podstawie istniejącej struktury organizacyjnej?
Nie, struktura organizacyjna zmienia się szybko, a procesy biznesowe trwają dłużej. Należy wydzielać role w oparciu o scenariusze biznesowe i obszary odpowiedzialności.
Czy należy rejestrować tylko zezwolenia dostępu?
Nie, należy opisywać nie tylko zezwolenia, ale także zakazy (deny rules) oraz przewidzieć procedury eskalacji i czasowego przyznawania praw.
Negatywny przypadek:
W dużym systemie CRM wszystkie prawa były opisane tylko na poziomie dwóch podstawowych ról. W praktyce pojawiło się wiele konfliktów: zwykli menedżerowie przypadkowo usuwali ważne dane, a operatorzy nie mieli dostępu do swoich funkcji.
Zalety:
Wady:
Pozytywny przypadek:
Analityk podzielił prawa według ról i modułów, przeprowadził warsztat projektowy z użytkownikami, opisał przypadki delegowania i cofania praw. Stworzył macierz dostępu, uzgodnił szablony podróży użytkownika dla różnych typów pracowników.
Zalety:
Wady: