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:
- 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.
- Systemowe role platformy. Konta personelu i integratorów są oceniane w drugiej kolejności (patrz sekcja 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:
| Kategoria | Uprawnienie | Autoryzuje do |
|---|---|---|
| Realm | realm.manage_settings | Edycji metadanych Realmu i polityki bezpieczeństwa Realmu (w tym polityki MFA) |
| Realm | realm.manage_billing | Podglądu i zmiany subskrypcji, planu, dodatków, kodów promocyjnych oraz procesu płatności |
| Realm | realm.manage_members | Zarządzania rolami niestandardowymi, członkami i zaproszeniami |
| Realm | realm.view_audit_logs | Odczytu dziennika audytu Realmu i dzienników poszczególnych urządzeń |
| Urządzenie | device.view | Podglądu konfiguracji bezpieczeństwa urządzenia |
| Urządzenie | device.pair | Generowania, listowania i unieważniania kodów parowania urządzeń |
| Urządzenie | device.manage_config | Zmiany nazw urządzeń; włączania/wyłączania śledzenia zmian; konfiguracji root proxy; restartu; wyzwalania aktualizacji systemu |
| Urządzenie | device.remove | Odparowania urządzenia (powoduje też miękkie usunięcie jego kopii zapasowych) |
| Kopia zapasowa | backup.view | Listowania kopii zapasowych i polityk kopii zapasowych |
| Kopia zapasowa | backup.start_manual | Wyzwalania ręcznej kopii zapasowej na agencie |
| Kopia zapasowa | backup.delete | Usuwania archiwum kopii zapasowej |
| Polityka kopii zapasowych | backup_policy.manage | Tworzenia, edycji i usuwania harmonogramów kopii zapasowych oraz polityk retencji |
| Przywracanie | restore.file_level | Przywracania na poziomie plików i migracji działających maszyn wirtualnych |
| Przywracanie | restore.instant_mount | Montowania i odmontowywania archiwów kopii zapasowych |
| Przywracanie | restore.bmr_token | Generowania tokenu Bare-Metal Recovery |
| Vigil | vigil.view_dashboard | Podglądu statystyk, historii, wykryć i reguł wykluczeń Vigil |
| Vigil | vigil.triage_risks | Klasyfikowania, ignorowania lub wykluczania wykryć; tworzenia i usuwania reguł wykluczeń |
| Vigil | vigil.manage_policies | Edycji polityk bezpieczeństwa poszczególnych urządzeń |
| Vigil | vigil.start_scan | Wyzwalania skanu anty-malware lub skanu podatności na żądanie |
| Kryptografia | crypto.rotate_keys | Inicjalizacji 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,.dashboardlubaudit_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
- Otwórz Zespół i role i kliknij Zaproś członka.
- Wpisz adres e-mail użytkownika i wybierz jego rolę początkową.
- System rejestruje zaproszenie, a usługa pocztowa Hermes dostarcza wiadomość e-mail zawierającą czasowo ograniczony link akceptacyjny (ważny przez 7 dni).
- 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.