Wprowadzenie
Authorization (Autoryzacja) to proces sprawdzania, czy uwierzytelniona osoba, aplikacja lub system ma odpowiednie uprawnienia do wykonania danej akcji lub dostępu do zasobu. Często mylona z Authentication (uwierzytelnianiem) – Authentication mówi „kim jesteś”, a Authorization mówi „co wolno ci robić”.
Różnica między Authentication a Authorization
- Authentication (AuthN) – weryfikacja tożsamości
- Authorization (AuthZ) – decyzja o uprawnieniach
Główne modele autoryzacji
- RBAC (Role-Based Access Control) – najpopularniejszy, dostęp na podstawie ról (admin, user, moderator)
- ABAC (Attribute-Based Access Control) – bardzo elastyczny, decyzja na podstawie atrybutów (roli, departamentu, godziny, lokalizacji)
- ReBAC (Relationship-Based Access Control) – dostęp na podstawie relacji (np. „właściciel dokumentu”, „członek grupy”)
- PBAC (Policy-Based Access Control) – reguły deklaratywne
- ACL (Access Control List) – klasyczne listy uprawnień na poziomie obiektu
Najlepsze praktyki
- Principle of Least Privilege (najmniejsze uprawnienia)
- Role-Based + Attribute-Based w połączeniu
- Regularne przeglądy uprawnień
- Używanie silników autoryzacji (OPA, Casbin, Permify)
Powiązane pojęcia
Authentication • RBAC • ABAC • OAuth 2.0 • JWT • Access Control • Principle of Least Privilege • API Security • Zero Trust