Authorization

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