[ MSP, interfejsy API i integracje ]

Wymagania dotyczące standardu SCIM i cyklu życia użytkownika dla platformy uwierzytelniania

Określ wymagania dotyczące cyklu życia SCIM za pomocą stabilnych identyfikatorów, operacji powiązanych z dzierżawcami i oddzielnych dowodów na wyłączenie, role i odwołanie sesji.

Przez zespół badawczy EmailAuth · 7 minut czytania

[Kluczowe punkty]

  • Odpowiedzi na udostępnienie SCIM nie dowodzą całkowitego cofnięcia dostępu.
  • Powiąż każdą operację klienta i zasobu z autoryzowaną dzierżawą.
  • Użyj negatywnych testów urządzeń do odczytów, eksportów, zapisów i zmian w cyklu życia.
Na tej stronie

Traktuj udostępnianie jako umowę cyklu życia

SCIM może ujednolicić sposób wymiany informacji o tożsamości, ale stwierdzenie, że platforma obsługuje SCIM, nie oznacza pełnego cyklu życia dostępu. Wymagania muszą określać, które zasoby i atrybuty są obsługiwane, w jaki sposób użytkownicy są powiązani z dzierżawcami, co oznaczają zmiany ról i jak wyłączenie wpływa na istniejący dostęp. Odpowiedź na udostępnienie nie jest automatycznie dowodem na to, że każda sesja, zezwolenie na eksport lub dane uwierzytelniające API zostały unieważnione.

RFC 7643 definiuje podstawowy schemat SCIM, w tym zasoby użytkowników i grup. RFC 7644 definiuje operacje protokołu i rozważania dotyczące udostępniania. Te podstawowe specyfikacje stanowią słownik wymagań, a nie dowód, że EmailAuth implementuje jakiś konkretny punkt końcowy lub zachowanie w cyklu życia. Podczas przygotowywania tego manuskryptu nie utworzono, nie zmieniono, nie wyłączono ani nie usunięto żadnego użytkownika.

Ustal identyfikatory i powiązanie dzierżawy

Zapisz identyfikator zasobu dostawcy usług, identyfikator korelacji klienta udostępniającego, jeśli jest używany, oraz dzierżawcę, którego dotyczy operacja. RFC 7643 odróżnia identyfikator od externalId; nie należy ich przypadkowo zastępować zmiennym adresem e-mail. Adres użytkownika lub nazwa wyświetlana mogą ulec zmianie bez sugerowania, że ​​nowa osoba powinna odziedziczyć stare konto. Zdefiniuj, w jaki sposób aplikacja identyfikuje istniejący zasób i zapobiega skierowaniu aktualizacji do użytkownika innego dzierżawcy.

RFC 7644 omawia wielodostępność i stowarzyszanie klientów z dzierżawcami, nie zalecając jednej uniwersalnej implementacji dzierżawy. Wymagaj od rzeczywistego dostawcy wyjaśnienia swojego obowiązującego modelu: który uwierzytelniony klient udostępniania może działać na którym dzierżawcy i zestawie zasobów. Identyfikator dzierżawy podany w żądaniu sam w sobie nie jest wystarczającą autoryzacją. Implementacja musi ustanowić relację między uwierzytelnionym klientem a żądanym zakresem, w tym operacjami list, wyszukiwania i cyklu życia.

Określ obsługiwane zasoby i zachowanie aktualizacji

Zapytaj, które atrybuty użytkownika i grupy są akceptowane, zwracane, niezmienne, wymagane lub ignorowane. Rozszerzenia dokumentów i wszelkie mapowania od członkostwa w grupie do uprawnień aplikacji. Pomyślna aktualizacja obiektu grupy nie oznacza sama w sobie, że zmieniła się odpowiednia rola aplikacji. Zachowanie dostępu należy potwierdzić osobno. Unikaj zakładania, że ​​każda platforma obsługująca standard SCIM obsługuje te same filtry, operacje PATCH lub punkty końcowe wykrywania.

RFC 7644 definiuje operacje takie jak odzyskiwanie, tworzenie, zastępowanie, modyfikacja i usuwanie oraz opisuje wykrywanie konfiguracji dostawcy usług. Użyj tych mechanizmów, aby zadawać precyzyjne pytania dotyczące obsługiwanych możliwości. W stosownych przypadkach zachowaj udokumentowane zachowanie w przypadku błędów i obsługę współbieżności. Jeśli operacja nie jest obsługiwana, zapisz obsługiwaną alternatywę, zamiast traktować ogólną etykietę SCIM jako pozwolenie na jej użycie. W tej pracy nie doszło do wykrycia punktu końcowego ani wykonania żądania.

Zdefiniuj wyłączenie bez wymyślania odwołania

RFC 7643 opisuje atrybut Aktywny użytkownik jako wskaźnik stanu administracyjnego, którego ostateczne znaczenie określa dostawca usług. To kluczowa kwalifikacja. Nie można założyć, że ustawienie wartości active na false unieważni każdą aktywną sesję, token API lub delegowaną integrację we wszystkich implementacjach. Wymaganie powinno określać zamierzony wynik dostępu i wymagać dowodów na aktualną platformę pokazujących, co faktycznie się zmienia.

Odróżnij niepełnosprawnych użytkowników od usuniętych zasobów i od usunięcia członkostwa w grupie. Każde z nich może mieć różne konsekwencje dla dostępu, zachowanych zapisów audytu i późniejszej ponownej aktywacji. Wymagaj od dostawcy wyjaśnienia, jak zachowują się istniejące sesje, w jaki sposób przeprowadzane jest pilne unieważnianie i które nieinteraktywne poświadczenia znajdują się poza cyklem życia SCIM. Jeśli platforma wymaga osobnego działania powstrzymującego, udokumentuj to działanie i jego autoryzację, zamiast ukrywać je za statusem „wyłączenie zakończone”.

Sprawdź zmiany ról i zachowany dostęp

Redukcja roli jest szczególnie przydatnym testem, ponieważ może ujawnić buforowane lub niekompletne aktualizacje autoryzacji. Zdefiniuj początkową dozwoloną akcję, zastosuj autoryzowaną zmianę cyklu życia w środowisku urządzenia i sprawdź, czy obecnie niedozwolona akcja jest zabroniona zgodnie z udokumentowanym harmonogramem platformy. Trzymaj opis testu oddzielnie od twierdzenia, że ​​został on uruchomiony. Nie oceniaj tylko tego, czy zmieniła się etykieta interfejsu użytkownika.

Wskazówki dotyczące tożsamości wielodostępnej platformy Azure oddziela tożsamość, uprawnienia i uprawnienia. Zastosuj tę separację do wymagań: SCIM może przenosić dane użytkownika lub grupy, podczas gdy aplikacja podejmuje decyzje dotyczące autoryzacji zasobów i uprawnień komercyjnych. Usunięta licencja, wyłączone konto i usunięta rola administracyjna niekoniecznie są tą samą operacją. Zapisz, który system jest właścicielem każdej decyzji i w jaki sposób wykrywane są niespójne stany.

Arkusz macierzy dostępu

Utwórz macierz zawierającą klienta udostępniającego, powiązanego dzierżawcę, zasób docelowy, operację, zamierzoną rolę lub stan cyklu życia, oczekiwany wynik autoryzacji i lokalizację dowodów. Uwzględnij przypadki odczytu, wyszukiwania, dostępu do aplikacji związanego z eksportem, zapisu i cyklu życia użytkownika. Użyj co najmniej dwóch izolowanych urządzeń najemców z rozróżnialnymi danymi syntetycznymi, aby wycieki między różnymi najemcami nie mogły ukryć się za identycznymi wynikami. Do proponowanego projektu nie są potrzebne żadne dane prawdziwego najemcy.

Dodaj negatywne przypadki dla klienta próbującego skontaktować się z użytkownikiem innego dzierżawcy, wyszukiwania zwracającego rekordy innego dzierżawcy, redukcji roli pozostawiającej dostępne zapisy administracyjne oraz wyłączonej tożsamości zachowującej nieobsługiwany dostęp. Są to przypadki akceptacji defensywnej, a nie instrukcje sprawdzania działającej usługi bez autoryzacji. Zarejestruj oddzielnie obsługiwany interfejs API i zachowanie aplikacji, ponieważ odpowiedź na aktualizację SCIM i decyzja o autoryzacji aplikacji to różne elementy dowodów.

Fikcyjna diagnoza: wyłączony rekord z aktywną sesją

Fikcyjny oceniający widzi pomyślną odpowiedź po oznaczeniu zasobu użytkownika testowego jako nieaktywnego. Osoba oceniająca początkowo uznaje, że wycofanie się zostało zakończone. Osoba przeglądająca wymagania pyta, czy sesja aplikacji, która istniała przed aktualizacją, może nadal czytać raporty lub inicjować eksport. Zespół zdaje sobie sprawę, że demonstracja udowodniła jedynie zaakceptowanie operacji udostępniania, a nie pełny wynik dostępu.

Proponowanym następnym krokiem jest sprawdzenie bieżącego zachowania sesji dostawcy i przeprowadzenie zatwierdzonych kontroli opartych na urządzeniach. Jeśli wymagane jest osobne unieważnienie, procedura cyklu życia musi obejmować upoważnionego właściciela i weryfikację. Ten scenariusz jest fikcyjny: nie zaobserwowano żadnego nieaktywnego użytkownika, aktywnej sesji ani nieudanego odwołania. Zamiast stwierdzać wadę jakiejkolwiek rzeczywistej platformy, ilustruje brak kryterium akceptacji.

Uzgadnianie planów i obsługa wyjątków

Zdefiniuj, w jaki sposób błędy udostępniania są ujawniane, ponawiane i uzgadniane bez duplikowania użytkowników i poszerzania dostępu. Rejestruj, czy klient korzysta z obsługiwanych kontroli współbieżności i jak obsługiwane są sprzeczne zmiany. Tymczasowa awaria synchronizacji nie powinna po cichu przekształcić się w trwały wyjątek uprawnień. Podobnie ponownych prób nie należy opisywać jako bezpiecznych bez zrozumienia operacji i zachowania dostawcy.

Katalog wymaga macierzy dostępu i testów negatywnych obejmujących odczyty, eksporty, zapisy i zmiany cyklu życia użytkowników między dzierżawcami. Te pierwotne testy pozostają otwarte. Ten manuskrypt dostarcza proponowaną matrycę i wymagania, a nie dowody wdrożenia. Otwarte pozostają także przegląd specjalistów, możliwość zastosowania źródeł, trasy produkcji, dostępność i zezwolenie właściciela. Oświadczenie o możliwościach, które można opublikować, wymaga aktualnie obsługiwanego zachowania i autoryzowanych wyników z rzeczywistej platformy, bez ujawniania prawdziwych sekretów użytkowników ani danych dzierżawy.

[Na wynos]

Przekładaj zmiany w zakresie udostępniania na zweryfikowane wyniki dostępu, zamiast zakładać, że schemat je gwarantuje.

[ Według roli ]

Co to oznacza dla Ciebie

Wybierz swoją rolę, aby uzyskać praktyczne dalsze kroki.

Administrator zaopatrzenia

Mapowania obsługiwane przez dokument

Obsługa schematu podstawowego nie ustanawia mapowania uprawnień każdej aplikacji.

Kolejne kroki

  1. Identyfikatory rekordów i rozszerzenia.
  2. Pogodź awarie bez poszerzania dostępu.

Tester bezpieczeństwa

Sprawdź granice dzierżawy i cyklu życia

Pomyślna aktualizacja różni się od wyniku autoryzacji.

Kolejne kroki

  1. Użyj syntetycznych opraw najemców.
  2. Testuj odrzucone operacje i aktywne sesje.

Właściciel aplikacji

Zdefiniuj znaczenie niepełnosprawności

Dokładne znaczenie statusu administracyjnego określa usługodawca.

Kolejne kroki

  1. Udokumentuj oddzielne ścieżki odwołania.
  2. Zachowaj własność i przegląd wyjątków cyklu życia.

[ Często zadawane pytania ]

Często zadawane pytania

Co definiuje SCIM?

RFC 7643 definiuje podstawowe schematy zasobów, a RFC 7644 definiuje operacje na protokołach i powiązane zachowania. Nie dowodzą, że produkt wykorzystuje wszystkie możliwości.

RFC 7644 : Protokół SCIM

Czy identyfikatory i externalId są wymienne?

Nr RFC 7643 odróżnia identyfikator dostawcy usług od dostarczonego zewnętrznie identyfikatora korelacji.

RFC 7643 : Schemat podstawowy SCIM

Czy active=false zawsze odwołuje sesje?

Nie następuje żadna uniwersalna gwarancja. RFC 7643 pozostawia ostateczne znaczenie słowa aktywny dostawcy usług; obsługa sesji wymaga odrębnych dowodów.

RFC 7643 : Schemat podstawowy SCIM

Czy usunięcie grupy zawsze powoduje usunięcie roli aplikacji?

Rzeczywiste mapowanie musi zostać udokumentowane i przetestowane. Sama aktualizacja zasobów nie ustala wyniku autoryzacji aplikacji.

Czy SCIM zaleca jeden projekt dla wielu dzierżawców?

RFC 7644 omawia wielodostępność, ale nie narzuca jednej uniwersalnej implementacji. Wymagaj rzeczywistego modelu powiązania klienta z dzierżawcą.

RFC 7644 : Protokół SCIM

Czy parametr żądania dzierżawcy może autoryzować operację?

Identyfikuje żądany zakres, ale nie sam ustala pozwolenie uwierzytelnionego klienta na korzystanie z tego zakresu.

Microsoft Azure: zagadnienia dotyczące tożsamości w rozwiązaniach wielodostępnych

Czy użytkownicy zmienili się w związku z tym artykułem?

Nie. Żaden użytkownik nie został utworzony, zmodyfikowany, wyłączony ani usunięty; we wszystkich przypadkach proponowane są defensywne kontrole akceptacji.

Jakie dowody są wymagane przed zwolnieniem?

Katalog wymaga macierzy dostępu i negatywnych testów odczytu, eksportu, zapisu i cyklu życia między dzierżawcami. Te pozostają otwarte.

[ Źródła ]

Źródła

  1. RFC 7643 : Schemat podstawowy SCIM

    Sekcje §3.1 Wspólne atrybuty · §4.1.1 Pojedyncze atrybuty · §4.2 Grupowy schemat zasobów

  2. RFC 7644 : Protokół SCIM

    Sekcje §3 Protokół SCIM · §3.5 Modyfikowanie zasobów · §3.6 Usuwanie zasobów · §6 Wielodostępność · §7 Względy bezpieczeństwa

  3. Microsoft Azure: zagadnienia dotyczące tożsamości w rozwiązaniach wielodostępnych

    Sekcje Przyznaj użytkownikom dostęp do danych dzierżawy · Tożsamości obciążenia · Połącz z dostawcą tożsamości na potrzeby SSO · Modele autoryzacji · Uprawnienia i licencje

[ Słowniczek ]

Słowniczek

Zasób użytkownika SCIM
Podstawowy zasób użytkownika zdefiniowany w RFC 7643 , łącznie z atrybutami administracyjnymi.

RFC 7643 : Schemat podstawowy SCIM

identyfikator zewnętrzny
Identyfikator korelacji dostarczony przez klienta udostępniającego, różny od identyfikatora dostawcy usług.

RFC 7643 : Schemat podstawowy SCIM

aktywny
Atrybut statusu administracyjnego użytkownika, którego ostateczne znaczenie ustala dostawca usług.

RFC 7643 : Schemat podstawowy SCIM

Akceptacja cyklu życia
Proponowana weryfikacja, czy zmiana aprowizacji daje zamierzony wynik dostępu do aplikacji.

Pochodzenie przedsiębiorstwa

Dlaczego najlepsze instytucje finansowe i rządy wycofali swoje panele bezpieczeństwa poczty e-mail.

Tradycyjne platformy uwierzytelniania poczty e-mail oferują pulpit nawigacyjny i proszą inżynierów o wykonanie pracy. W środowiskach o dużej stawce ręczny nadzór oznacza opóźnione egzekwowanie, zmianę konfiguracji i niemonitorowane domeny-cienie.

EmailAuth to platforma agentowego pochodzenia wiadomości e-mail. Nasi agenci egzekwują p=reject, dostosuj zewnętrznych nadawców i przenieś swoje domeny do pełnych adresów RFC 9989 zgodność, nowy standard DMARC , z możliwością kontroli przez człowieka.

Rządy Duże przedsiębiorstwa Instytucje finansowe poziomu 1

SaaS · Dedykowany najem · Lokalne rozwiązanie typu air-gapped · Szyfrowanie BYOK

Baza wiedzy