Baza wiedzy

Kontrola dostępu oparta na rolach (RBAC)

Kontrola dostępu oparta na rolach (RBAC)

W środowisku klasy enterprise nieograniczony dostęp administracyjny dla wszystkich stanowi niedopuszczalne ryzyko. Obsługa platformy backupowej wymaga szczegółowej kontroli nad tym, kto może zmieniać polityki retencji, kto może zainicjować odtwarzanie bare-metal oraz kto posiada uprawnienia do zarządzania kluczami kryptograficznymi.

StateWarden wymusza zasadę najmniejszych uprawnień (Principle of Least Privilege) poprzez kontrolę dostępu opartą na rolach (RBAC) na dwóch poziomach: systemowe role platformy (wykorzystywane przez personel Cyberprime i integratorów) oraz role przypisywane w ramach Realmu, które definiujesz dla własnego zespołu.


1. Jak oceniany jest dostęp

Każde chronione żądanie API jest autoryzowane przez WebAPI w ustalonej kolejności:

  1. Bypass Właściciela Realmu. Konto zapisane jako właściciel Realmu jest zawsze autoryzowane, niezależnie od przypisania jakichkolwiek ról. W Realmie istnieje dokładnie jeden Właściciel i tylko Właściciel może usunąć Realm.
  2. Systemowe role platformy. Konta personelu i integratorów są oceniane w drugiej kolejności (patrz sekcja 3).
  3. Członkostwo w Realmie. Dla wszystkich pozostałych użytkowników WebAPI wczytuje rolę przypisaną członkowi w danym Realmie i ocenia jej zestaw uprawnień. Uprawnienie jest przyznawane tylko wtedy, gdy odpowiedni klucz ma jawnie ustawioną wartość true; brak klucza oznacza odmowę.

Sprawdzanie uprawnień odbywa się przy każdym żądaniu względem bieżącego stanu bazy danych. Jeśli rola członka zostanie zmieniona lub członek zostanie usunięty, nowe ograniczenia obowiązują w jego istniejących sesjach już od następnego wywołania API - nie pozostaje żaden buforowany dostęp, który musiałby wygasnąć.

2. Role Realmu i zestawy uprawnień

Role Realmu są przechowywane w ramach Realmu jako nazwane zestawy uprawnień. Możesz tworzyć dowolną liczbę ról niestandardowych i przypisywać je członkom.

Przy tworzeniu Realmu StateWarden automatycznie tworzy domyślną rolę Administrator, zawierającą wszystkie uprawnienia, i przypisuje ją twórcy Realmu. Tej domyślnej roli nie można edytować ani jej usunąć; do ograniczania uprawnień pozostałych członków służą role niestandardowe.

Model uprawnień

Uprawnienia to klucze z przestrzenią nazw w formacie category.action. WebAPI aktywnie egzekwuje następujące klucze:

KategoriaUprawnienieAutoryzuje do
Realmrealm.manage_settingsEdycji metadanych Realmu i polityki bezpieczeństwa Realmu (w tym polityki MFA)
Realmrealm.manage_billingPodglądu i zmiany subskrypcji, planu, dodatków, kodów promocyjnych oraz procesu płatności
Realmrealm.manage_membersZarządzania rolami niestandardowymi, członkami i zaproszeniami
Realmrealm.view_audit_logsOdczytu dziennika audytu Realmu i dzienników poszczególnych urządzeń
Urządzeniedevice.viewPodglądu konfiguracji bezpieczeństwa urządzenia
Urządzeniedevice.pairGenerowania, listowania i unieważniania kodów parowania urządzeń
Urządzeniedevice.manage_configZmiany nazw urządzeń; włączania/wyłączania śledzenia zmian; konfiguracji root proxy; restartu; wyzwalania aktualizacji systemu
Urządzeniedevice.removeOdparowania urządzenia (powoduje też miękkie usunięcie jego kopii zapasowych)
Kopia zapasowabackup.viewListowania kopii zapasowych i polityk kopii zapasowych
Kopia zapasowabackup.start_manualWyzwalania ręcznej kopii zapasowej na agencie
Kopia zapasowabackup.deleteUsuwania archiwum kopii zapasowej
Polityka kopii zapasowychbackup_policy.manageTworzenia, edycji i usuwania harmonogramów kopii zapasowych oraz polityk retencji
Przywracanierestore.file_levelPrzywracania na poziomie plików i migracji działających maszyn wirtualnych
Przywracanierestore.instant_mountMontowania i odmontowywania archiwów kopii zapasowych
Przywracanierestore.bmr_tokenGenerowania tokenu Bare-Metal Recovery
Vigilvigil.view_dashboardPodglądu statystyk, historii, wykryć i reguł wykluczeń Vigil
Vigilvigil.triage_risksKlasyfikowania, ignorowania lub wykluczania wykryć; tworzenia i usuwania reguł wykluczeń
Vigilvigil.manage_policiesEdycji polityk bezpieczeństwa poszczególnych urządzeń
Vigilvigil.start_scanWyzwalania skanu anty-malware lub skanu podatności na żądanie
Kryptografiacrypto.rotate_keysInicjalizacji szyfrowania; prowizjonowania kluczy urządzeń; rotacji kluczy głównych i kluczy urządzeń

Uwaga dotycząca wykluczeń Vigil: wykluczenie lub klasyfikacja wykrycia Vigil wymaga uprawnienia vigil.triage_risks. Sam odczyt wykryć (vigil.view_dashboard) nigdy nie pozwala na wykluczanie.

Uwaga dotycząca operacji destrukcyjnych: RBAC i MFA to osobne warstwy egzekwowania. Akcje destrukcyjne lub kryptograficzne (usuwanie kopii zapasowych lub urządzeń, zmiana polityk, zarządzanie kluczami, przywracanie danych) wymagają dodatkowo niedawnej weryfikacji MFA zgodnie z polityką MFA Realmu, nawet w przypadku użytkowników posiadających właściwe uprawnienie. Zobacz Zarządzanie MFA i tożsamością: logika trójstanowa.

3. Systemowe role platformy

Niezależnie od ról Realmu każde konto posiada rolę systemową na poziomie platformy:

  • ADMIN / SUPPORT_L3: pełny dostęp odczyt-zapis do wszystkich Realmów. Zarezerwowane dla operacji platformowych i zaawansowanego wsparcia.
  • SUPPORT_L1 / SUPPORT_L2: ściśle tylko do odczytu. Te poziomy są autoryzowane wyłącznie do operacji podglądu (klucze uprawnień zawierające .view, .list, .dashboard lub audit_logs). Nie mogą wykluczać wykryć, modyfikować żadnej konfiguracji ani wykonywać jakichkolwiek operacji zapisu.
  • INTEGRATOR_ADMIN: pełny dostęp, ale ograniczony do Realmów należących do własnej organizacji integratorskiej.
  • USER: konto standardowe. Dostęp jest przyznawany wyłącznie poprzez członkostwo w Realmie i przypisaną rolę Realmu.

4. Zarządzanie zespołem

Zarządzanie zespołem odbywa się na stronie Zespół i role (/members), widocznej na pasku bocznym w sekcji aktywnego Realmu.

Zapraszanie nowego członka

  1. Otwórz Zespół i role i kliknij Zaproś członka.
  2. Wpisz adres e-mail użytkownika i wybierz jego rolę początkową.
  3. System rejestruje zaproszenie, a usługa pocztowa Hermes dostarcza wiadomość e-mail zawierającą czasowo ograniczony link akceptacyjny (ważny przez 7 dni).
  4. Odbiorca akceptuje zaproszenie pod adresem /invite/accept; członkostwo zostaje utworzone z przypisaną rolą.

Oczekujące zaproszenia można listować i cofać na tej samej stronie.

Modyfikacja dostępu

Użytkownicy z uprawnieniem realm.manage_members mogą w dowolnym momencie zmienić rolę członka lub usunąć go z Realmu. Ponieważ autoryzacja jest oceniana przy każdym żądaniu, obniżone uprawnienia zaczynają obowiązywać od najbliższego wywołania API danego członka.

5. Ślad audytowy

Każda akcja zmieniająca stan w ramach Realmu jest zapisywana w dzienniku audytu Realmu wraz z tożsamością działającego użytkownika, znacznikiem czasu, typem zdarzenia i ustrukturyzowanymi metadanymi. Administracja członkostwem i rolami, operacje istotne dla bezpieczeństwa oraz operacje na kopiach zapasowych są rejestrowane w dzienniku audytu Realmu, co zachowuje pełną historię tego, kto co i kiedy zmienił.

WebAPI nie udostępnia żadnej operacji modyfikacji ani usuwania pojedynczych wpisów audytowych. Dziennik jest systemem referencyjnym dla przeglądów zgodności i analizy forensycznej po incydentach; jego odczyt wymaga uprawnienia realm.view_audit_logs.


StateWarden: Inżynieria odporności.

Czy ten artykuł był pomocny?