ITBlog

IT Blog w tematach różnych...

  • O blogu…
  • Edukacja
    • Moodle – stare
    • Moodle2
    • Testy
  • Firma

Model AAA – Autoryzacja (część 1)

Napisane przez Igor Brzeżek on 23 października 2025
Napisane w: Model AAA.

Contents
  1. AAA: Drugi Filar AAA – Czym jest Autoryzacja?
  2. Zasada Minimalnych Uprawnień: Fundament Autoryzacji
  3. Modele Kontroli Dostępu: Jak systemy decydują „kto co może”?
  4. 1. Dyskrecjonalna Kontrola Dostępu (DAC – Discretionary Access Control)
  5. 2. Mandatoryjna Kontrola Dostępu (MAC – Mandatory Access Control)
  6. 3. Kontrola Dostępu Oparta na Rolach (RBAC – Role-Based Access Control)
  7. 4. Kontrola Dostępu Oparta na Atrybutach (ABAC – Attribute-Based Access Control)
  8. Podsumowanie

AAA: Drugi Filar AAA – Czym jest Autoryzacja?

W poprzednich artykułach przeszliśmy przez proces Uwierzytelniania, czyli odpowiadania na fundamentalne pytanie: „Kim jesteś?”. Ustaliliśmy tożsamość użytkownika, weryfikując jego poświadczenia. Ale co dalej? Samo wpuszczenie kogoś do budynku nie oznacza, że może on wchodzić do każdego pokoju, otwierać każdy sejf i korzystać z każdego urządzenia. Tutaj na scenę wkracza drugi, równie ważny filar modelu AAA: Autoryzacja.

Autoryzacja odpowiada na pytanie: „Co wolno Ci zrobić?”. To proces, który następuje bezpośrednio po pomyślnym uwierzytelnieniu i polega na przyznaniu lub odmowie określonych praw i uprawnień do zasobów. W dzisiejszym artykule zagłębimy się w teorię autoryzacji, poznamy jej najważniejszą zasadę oraz przeanalizujemy kluczowe modele, które rządzą cyfrowym światem kontroli dostępu.


Zasada Minimalnych Uprawnień: Fundament Autoryzacji

Zanim przejdziemy do konkretnych modeli, musimy zrozumieć filozofię, która leży u podstaw każdej dojrzałej strategii autoryzacji. Jest nią Zasada Minimalnych Uprawnień (ang. Principle of Least Privilege – PoLP). To prosta, ale niezwykle potężna koncepcja:

Użytkownik, program czy proces powinien mieć dostęp tylko do tych informacji i zasobów, które są absolutnie niezbędne do wykonania jego zadania, i ani jednego więcej.

Wyobraź sobie kasjera w banku. Potrzebuje on dostępu do systemu, aby obsługiwać wpłaty i wypłaty na kontach klientów. Ale czy powinien mieć możliwość modyfikowania oprocentowania kredytów, zatwierdzania pożyczek dla korporacji albo przeglądania logów serwera? Oczywiście, że nie. Zasada minimalnych uprawnień gwarantuje, że nawet jeśli konto kasjera zostanie przejęte przez atakującego, potencjalne szkody będą ograniczone tylko do tego, co kasjer mógł zrobić. Bez tej zasady, każdy skompromitowany użytkownik staje się super-administratorem.

+-------------------------+
|     Potencjalne Prawa   |
|-------------------------|
|  - Zmiana własnego hasła|

Modele Kontroli Dostępu: Jak systemy decydują „kto co może”?

Systemy informatyczne wykorzystują różne modele, aby wdrożyć reguły autoryzacji. Każdy model ma inną logikę, zalety i wady. Poznanie ich pomoże Ci zrozumieć, dlaczego kontrola dostępu działa w określony sposób w Linuksie, Windowsie czy w aplikacjach webowych. Oto cztery najważniejsze modele:

1. Dyskrecjonalna Kontrola Dostępu (DAC – Discretionary Access Control)

Logika: Właściciel zasobu decyduje.

W modelu DAC twórca lub właściciel obiektu (np. pliku, katalogu) ma pełną swobodę (dyskrecję) w decydowaniu, kto inny ma do niego dostęp i na jakich zasadach. To najbardziej elastyczny i najczęściej spotykany model w standardowych systemach operacyjnych.

Klasycznym przykładem jest system uprawnień do plików w Linux/Unix. Każdy plik ma właściciela i przypisaną grupę. Właściciel może użyć polecenia chmod, aby nadać prawa do odczytu, zapisu i wykonania dla siebie, dla grupy i dla wszystkich innych. To on, a nie centralny administrator, decyduje o losie swojego pliku.

+----------------+      Nadaje prawa      +----------------+
|  Jan (Właściciel)| -------------------> |    Plik.txt    |
|   pliku.txt    |                        |  (Odczyt/Zapis)|
+----------------+                        +----------------+
        |                                        ^
        |                                        |
        `------------> Nadaje prawa -------------`
        |              (Tylko Odczyt)
        V
+----------------+
|      Anna      |
|  (Inny Użytkownik)|
+----------------+
  • Zalety: Elastyczność, prostota, intuicyjność dla użytkowników.
  • Wady: W dużych organizacjach prowadzi do chaosu (brak centralnego nadzoru). Użytkownicy mogą przez pomyłkę nadać zbyt szerokie uprawnienia.

2. Mandatoryjna Kontrola Dostępu (MAC – Mandatory Access Control)

Logika: System decyduje na podstawie etykiet bezpieczeństwa.

W modelu MAC dostęp nie jest pozostawiony decyzji właściciela. Jest on narzucany (jest mandatoryjny) przez system operacyjny na podstawie centralnie zdefiniowanej polityki. Zarówno podmioty (użytkownicy, procesy), jak i obiekty (pliki, porty sieciowe) mają przypisane etykiety bezpieczeństwa (np. Ściśle Tajne, Tajne, Publiczne). Dostęp jest udzielany tylko wtedy, gdy etykieta użytkownika jest zgodna z etykietą obiektu zgodnie z regułami polityki.

To model stosowany w środowiskach o najwyższych wymaganiach bezpieczeństwa, takich jak systemy wojskowe, rządowe czy wywiadowcze. W świecie Linuksa jego najpopularniejszą implementacją jest SELinux (Security-Enhanced Linux).

+-------------------+      Chce odczytać      +-----------------+
| Użytkownik        | ----------------------> |  Dokument       |
| Etykieta: "Tajne" |                         | Etykieta: "Tajne" |
+-------------------+                         +-----------------+
         |                                             ^
         |                                             |
         |                   +-------------------------+
         |                   |      Jądro Systemu      |
         |                   |  (Polityka Bezpieczeństwa) |
         |                   |-------------------------|
         `-----------------> | Reguła: "Tajne" może    |
                             | czytać "Tajne" => ZEZWÓL |
                             +-------------------------+
  • Zalety: Bardzo wysoki poziom bezpieczeństwa, centralne zarządzanie polityką, odporność na błędy użytkowników.
  • Wady: Mało elastyczny, bardzo skomplikowany w konfiguracji i zarządzaniu.

3. Kontrola Dostępu Oparta na Rolach (RBAC – Role-Based Access Control)

Logika: Twoja funkcja w organizacji decyduje.

RBAC jest dziś najpopularniejszym modelem w środowiskach korporacyjnych i aplikacjach biznesowych. Zamiast przypisywać uprawnienia bezpośrednio do poszczególnych użytkowników, tworzy się role, które odzwierciedlają funkcje biznesowe (np. Administrator, Księgowy, Marketingowiec, Audytor). Następnie rolom przypisuje się odpowiednie uprawnienia, a użytkownikom przypisuje się role.

Dzięki temu zarządzanie uprawnieniami staje się niezwykle proste. Gdy do firmy dołącza nowy księgowy, wystarczy przypisać mu rolę „Księgowy”, a automatycznie otrzyma on cały pakiet niezbędnych uprawnień. Gdy odchodzi, po prostu odbieramy mu rolę.

+-------------+      Przypisany do      +-------------+      Posiada      +---------------+      Dostęp do
| Użytkownicy | ----------------------> |    Role     | ---------------> |  Uprawnienia  | ----------------> |  Zasoby   |
|-------------|                         |-------------|                  |---------------|                   |-----------|
| - Jan       |                         |             |                  | - Tworzenie   |                   | - Faktury |
| - Anna      | ------->+               | - Księgowy  | ------->+        | - Odczyt      | -------->+        | - Raporty |
| - Piotr     | ---+    |               |             |         |        | - Modyfikacja |          |        |-----------|
|             |    |    |               |             |         |        |               |          |
|             |    |    `-------------> | - Audytor   | ---+    |        `--------------> | - Tylko Odczyt|          |
|             |    |                    |             |    |    |                         |               |          |
|             |    `------------------> | - Admin     |    |    |                         |               |          |
+-------------+                         +-------------+    |    |                         +---------------+          |
                                                           |    |                                                    |
                                                           |    `----------------------------------------------------+
                                                           |
                                                           `--------------------------------------------------------> +-----------+
                                                                                                                     | Serwery   |
                                                                                                                     |-----------|
    
  • Zalety: Skalowalność, łatwość zarządzania w dużych organizacjach, zgodność z Zasadą Minimalnych Uprawnień, centralizacja.
  • Wady: Może być zbyt sztywny dla bardzo dynamicznych środowisk; początkowa analiza i zdefiniowanie ról bywa czasochłonne.

4. Kontrola Dostępu Oparta na Atrybutach (ABAC – Attribute-Based Access Control)

Logika: Polityka decyduje na podstawie dynamicznego kontekstu.

ABAC to najbardziej dynamiczny i granularny model. Decyzje o dostępie są podejmowane w czasie rzeczywistym na podstawie atrybutów (cech) przypisanych do użytkownika, zasobu, środowiska i samej akcji. Polityka jest zdefiniowana w formie reguł logicznych, np. „ZEZWÓL na akcję ‚modyfikuj’, jeśli atrybut ‚rola’ użytkownika to ‚lekarz’, atrybut ‚typ’ zasobu to ‚karta pacjenta’, a atrybut ‚sieć’ środowiska to ‚sieć szpitalna'”.

Ten model świetnie sprawdza się w złożonych systemach, chmurze i środowiskach „Zero Trust”, gdzie kontekst jest królem. Dostęp może zależeć od lokalizacji geograficznej, pory dnia, poziomu ryzyka urządzenia czy zachowania użytkownika.

+------------------+  +------------------+  +-------------------+
| Atrybuty Użytkownika |  | Atrybuty Zasobu  |  | Atrybuty Środowiska |
| - Rola: Menadżer |  | - Typ: Raport FIN|  | - Czas: 09:00-17:00 |
| - Dział: Finanse |  | - Status: Poufny |  | - IP: 10.1.1.5      |
+------------------+  +------------------+  +-------------------+
         |                   |                     |
         V                   V                     V
+-------------------------------------------------------------+
|    Silnik Polityki (Policy Decision Point - PDP)            |
|-------------------------------------------------------------|
| Reguła: ZEZWÓL, gdy (Rola=Menadżer LUB Dział=Finanse)        |
| ORAZ (Status=Poufny) ORAZ (Czas jest w godzinach pracy)     |
|-------------------------------------------------------------|
|                        Wynik: ZEZWÓL                        |
+-------------------------------------------------------------+
  • Zalety: Niezwykła elastyczność i granularność, idealny do dynamicznych i złożonych środowisk.
  • Wady: Bardzo skomplikowany w projektowaniu i wdrażaniu, wymaga starannego zdefiniowania atrybutów i polityk.

Podsumowanie

Autoryzacja to mózg operacji bezpieczeństwa. Podczas gdy uwierzytelnianie otwiera bramę, autoryzacja wyznacza ścieżki, którymi wolno się poruszać. Zrozumienie fundamentalnej Zasady Minimalnych Uprawnień oraz poznanie różnych modeli kontroli dostępu – od prostego DAC, przez bezpieczny MAC, skalowalny RBAC, aż po dynamiczny ABAC – jest kluczowe dla każdego, kto chce świadomie projektować i wdrażać bezpieczne systemy.

Teraz, gdy mamy solidne podstawy teoretyczne, jesteśmy gotowi na kolejny krok. W następnym artykule zobaczymy, jak te modele wyglądają w praktyce. Skonfigurujemy uprawnienia w Linuksie, przyjrzymy się poziomom uprawnień w Cisco i RouterOS oraz wdrożymy kontrolę dostępu opartą na rolach. Do zobaczenia!

Nawigacja

← Model AAA – Autoryzacja (część 2)
Model AAA – Autentykacja (część 2) →
  • Szukaj

  • Kategorie

    • IT ogólnie (85)
      • Bezpieczeństwo (17)
        • Model AAA (7)
      • CCTV (3)
      • Hardware (1)
      • Sieci (14)
        • MikroTik (7)
        • Pomiary w sieciach LAN (3)
        • Symulator sieci GNS3 (2)
      • Software (40)
        • Programowanie (2)
        • Systemy operacyjne (15)
          • Linux Debian (14)
        • Windows (7)
      • WiFi (2)
      • Wirtualizacja (26)
    • Różne (1)
  • Ostatnie wpisy

    • Model AAA – wprowadzenie
    • Model AAA – Autentykacja (część 1)
    • Model AAA – Autentykacja (część 2)
    • Model AAA – Autoryzacja (część 1)
    • Model AAA – Autoryzacja (część 2)
  • Strona odwiedzona

    od 11.01.2013

  • Doskonała platforma e-learningowa Uzyskaj certyfikat IT

Proudly powered by WordPress Theme: Parament by Automattic.
7ads6x98y