Bezpieczeństwo i codzienna praca - Firmowe SSO
Na tej stronie Zakresy są dwa i rozłączne
Zakresy są dwa i rozłączne
Konfiguracja konta loguje wyłącznie użytkowników tego konta; konfiguracja platformowa (bez przypisanego konta) loguje wyłącznie pracowników Docka. Zakres bierze się z tego, kto jest zalogowany, nigdy z parametrów żądania - a konkretnie z tego, czy identyfikator organizacji w adresie wskazuje konfigurację platformową czy konfigurację konkretnego konta. Superadmin ustawiający firmowe SSO Docka nie włącza tym niczego żadnemu subskrybentowi, i odwrotnie: konfiguracja konta nigdy nie sięga po pracowników Docka. Jedna konfiguracja na zakres - w bazie pilnuje tego unikalny indeks, więc nie da się przez pomyłkę założyć dwóch konfiguracji platformowych naraz.
Kto ma dostęp do ekranu
Wśród ról platformowych ekran firmowego SSO widzi wyłącznie superadmin - to konfiguracja dostępu do panelu, nie projektów ani rozliczeń, więc superdeveloper i superksięgowy jej nie dotykają. Po stronie konta subskrybenta konfigurują ją właściciel i administrator konta.
Co DockRay sprawdza przy każdym logowaniu
Zanim ktokolwiek zostanie zalogowany, DockRay weryfikuje kolejno: jednorazowe state i nonce, podpis tokenu ID przez klucze publiczne dostawcy (JWKS), wystawcę (iss), odbiorcę (aud), czas ważności (exp) i potwierdzenie adresu e-mail (email_verified). Brak lub niezgodność któregokolwiek z tych elementów kończy logowanie błędem, zamiast wpuścić kogoś na podstawie niepełnego dowodu tożsamości.
Ochrona przed SSRF
Adres discovery i każdy endpoint zwrócony przez dostawcę muszą być publicznym adresem HTTPS - adresy prywatne i zarezerwowane są odrzucane, bo konfigurowalny issuer byłby inaczej narzędziem do odpytywania sieci wewnętrznej DockRay z uprawnieniami administratora konta. Klient HTTP używany do rozmowy z dostawcą nie idzie za przekierowaniami - adres jest sprawdzany przed wysłaniem żądania, a przekierowanie prowadziłoby już pod adres, którego nikt nie zweryfikował.
SSO nie tworzy kont
Zalogować się może wyłącznie istniejący użytkownik należący do zakresu danej konfiguracji - integracja nigdy nie zakłada konta ani nie przenosi użytkownika między kontami. Przy pierwszym logowaniu dopięcie odbywa się po potwierdzonym adresie e-mail, a każde kolejne logowanie opiera się już na trwale zapisanym identyfikatorze sub, nie na adresie, który może się zmienić. Zmiana issuera w konfiguracji usuwa dotychczasowe powiązania - to świadoma decyzja, bo nowy issuer to inny dostawca tożsamości, a stare potwierdzenia tożsamości nie powinny automatycznie przechodzić na nowego.
Co się dzieje przy utracie dostępu
Drugi składnik DockRay obowiązuje po udanym logowaniu przez SSO tak samo, jak po zalogowaniu hasłem - dostawca tożsamości dowodzi, kim ktoś jest, ale o dostępie do panelu decyduje wyłącznie DockRay. Dezaktywowany użytkownik nie zaloguje się nawet z poprawnym, w pełni zweryfikowanym tokenem. Zejście konta subskrybenta na plan darmowy gasi logowanie tą drogą, nie tylko chowa przycisk w panelu - integracja jest płatną składową i przestaje działać razem z utratą tej składowej.