Udostępnij za pośrednictwem


Samouczek: weryfikowanie punktu końcowego SCIM

W tym samouczku opisano sposób używania modułu sprawdzania poprawności SCIM firmy Microsoft w celu sprawdzenia, czy serwer aprowizacji jest zgodny z klientem SCIM platformy Azure. Samouczek jest przeznaczony dla deweloperów, którzy chcą utworzyć serwer zgodny ze standardem SCIM w celu zarządzania tożsamościami za pomocą usługi aprowizacji Firmy Microsoft.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Wybieranie metody testowania
  • Konfigurowanie metody testowania
  • Weryfikowanie punktu końcowego SCIM

Wymagania wstępne

Wybieranie metody testowania

Pierwszym krokiem jest wybranie metody testowania w celu zweryfikowania punktu końcowego SCIM.

  1. Otwórz przeglądarkę internetową i przejdź do modułu sprawdzania poprawności SCIM: https://scimvalidator.microsoft.com/.

  2. Wybierz jedną z trzech opcji testu. Możesz użyć atrybutów domyślnych, automatycznie odnaleźć schemat lub przekazać schemat.

    Screenshot of SCIM Validator main page.

Użyj atrybutów domyślnych — system udostępnia atrybuty domyślne i modyfikuje je zgodnie z potrzebami.

Odnajdź schemat — jeśli punkt końcowy obsługuje /Schemas, ta opcja umożliwia narzędziu odnajdywanie obsługiwanych atrybutów. Zalecamy tę opcję, ponieważ zmniejsza obciążenie związane z aktualizowaniem aplikacji podczas jej kompilowania.

Przekaż schemat Firmy Microsoft Entra — przekaż schemat pobrany z przykładowej aplikacji w witrynie Microsoft Entra ID.

Konfigurowanie metody testowania

Po wybraniu metody testowania następnym krokiem jest jej skonfigurowanie.

Screenshot of SCIM Validator attributes page.

  1. Jeśli używasz opcji atrybutów domyślnych, wypełnij wszystkie wskazane pola.
  2. Jeśli używasz opcji odnajdywania schematu, wprowadź adres URL i token punktu końcowego SCIM.
  3. Jeśli przekazujesz schemat, wybierz plik .json do przekazania. Opcja akceptuje plik .json wyeksportowany z przykładowej aplikacji w centrum administracyjnym firmy Microsoft Entra. Aby dowiedzieć się, jak wyeksportować schemat, zobacz Instrukcje: eksportowanie konfiguracji aprowizacji i wycofywanie do znanego dobrego stanu.

Uwaga

Aby przetestować atrybuty grupy, wybierz pozycję Włącz testy grupy.

  1. Edytuj atrybuty listy zgodnie z potrzebami zarówno dla typów użytkowników, jak i grup przy użyciu opcji "Dodaj atrybut" na końcu listy atrybutów i znaku minus (-) po prawej stronie.
  2. Wybierz właściwość dołączania zarówno z listy atrybutów użytkownika, jak i grupy.

Uwaga

Właściwość dołączania, znana również jako pasujący atrybut, jest atrybutem, którego zasoby użytkownika i grupy mogą być jednoznacznie odpytywane w źródle i dopasowane w systemie docelowym.

Weryfikowanie punktu końcowego SCIM

Na koniec należy przetestować i zweryfikować punkt końcowy.

  1. Wybierz pozycję Test Schema (Schemat testu), aby rozpocząć test.

  2. Przejrzyj wyniki z podsumowaniem testów z powodzeniem i niepowodzeniem.

  3. Wybierz kartę Pokaż szczegóły i przejrzyj i rozwiąż problemy.

  4. Kontynuuj testowanie schematu, dopóki wszystkie testy nie przejdą.

    Screenshot of SCIM Validator results page.

Używanie wyrażeń w modułach sprawdzania poprawności SCIM

Moduł sprawdzania poprawności SCIM obsługuje używanie wyrażeń do generowania żądanych wartości atrybutów.

Jak używać wyrażeń

  1. Przejdź do strony Atrybuty.
  2. Wprowadź żądane wyrażenie w kolumnie wartości atrybutu, który chcesz dostosować.
  3. Uruchamianie testu

Uwaga

Te wyrażenia działają zarówno dla atrybutów użytkownika, jak i grupy.

Dostępne wyrażenia

Poniższa tabela zawiera listę dostępnych wyrażeń

Expression Znaczenie Przykład Wynik
generateRandomString {liczba znaków ciągu} Generowanie losowego ciągu z określoną liczbą znaków alfabetu {%generateRandomString 6%}@contoso.com CXJHYP@contoso.com
generateRandomNumber {liczba liczb} Generowanie liczby losowej z określoną liczbą cyfr {%generateRandomNumber 4%} 8821
generateAlphaNumeric {liczba znaków} Generowanie losowego ciągu z kombinacją alfabetów i liczb z określoną liczbą znaków {%generateAlphaNumeric 7%} 59Q2M9W
generateAlphaNumericWithSpecialCharacters {Liczba znaków} Generowanie losowego ciągu z kombinacją alfabetów, liczb i znaku specjalnego w oparciu o określoną liczbę znaków {%generateAlphaNumericWithSpecialCharacters 8%} TEST D385N05'TEST

Możesz dodać wartości przed wyrażeniem lub po nim, aby osiągnąć żądany wynik, na przykład podczas dodawania wartości {% generateRandomString 6 %}@contoso.com do pola wartości atrybutu userName, wygeneruje nową wartość userName z każdym testem przy zachowaniu domeny contoso.com.

Testowanie punktów końcowych za pomocą narzędzia Postman (opcjonalnie)

Oprócz używania narzędzia SCIM Validator można również użyć narzędzia Postman do zweryfikowania punktu końcowego. W tym przykładzie przedstawiono zestaw testów w narzędziu Postman. Przykład weryfikuje operacje tworzenia, odczytu, aktualizowania i usuwania (CRUD). Operacje są weryfikowane dla użytkowników i grup, filtrowania, aktualizacji członkostwa w grupach i wyłączania użytkowników.

Punkty końcowe znajdują się w {host}/scim/ katalogu i można używać standardowych żądań HTTP do interakcji z nimi. Aby zmodyfikować /scim/ trasę, zobacz ControllerConstant.cs w temacie AzureADProvisioningSCIMreference ScimReferenceApi Controllers(Kontrolery usługi AzureADProvisioningSCIMreference ScimReferenceApi>>).

Uwaga

Na potrzeby testów lokalnych można używać tylko punktów końcowych HTTP. Usługa aprowizacji firmy Microsoft wymaga, aby punkt końcowy obsługiwał protokół HTTPS.

  1. Pobierz narzędzie Postman i uruchom aplikację.

  2. Skopiuj i wklej ten link do narzędzia Postman, aby zaimportować kolekcję testową: https://aka.ms/ProvisioningPostman.

    Screenshot that shows importing the test collection in Postman.

  3. Utwórz środowisko testowe, które ma następujące zmienne:

    Środowisko Zmienna Wartość
    Uruchamianie projektu lokalnie przy użyciu usług IIS Express
    Server (Serwer) localhost
    Port :44359(Nie zapomnij o :obiekcie )
    Api scim
    Uruchamianie projektu lokalnie przy użyciu biblioteki Kestrel
    Server (Serwer) localhost
    Port :5001(Nie zapomnij o :obiekcie )
    Api scim
    Hostowanie punktu końcowego na platformie Azure
    Server (Serwer) (wprowadź adres URL SCIM)
    Port (pozostaw puste)
    Api scim
  4. Użyj polecenia Pobierz klucz z kolekcji Postman, aby wysłać żądanie GET do punktu końcowego tokenu i pobrać token zabezpieczający, który ma być przechowywany w zmiennej tokenu dla kolejnych żądań.

    Screenshot that shows the Postman Get Key folder.

    Uwaga

    Aby zabezpieczyć punkt końcowy SCIM, przed nawiązaniem połączenia potrzebny jest token zabezpieczający. Samouczek używa punktu końcowego do wygenerowania tokenu {host}/scim/token z podpisem własnym.

I już! Teraz możesz uruchomić kolekcję Postman , aby przetestować funkcjonalność punktu końcowego SCIM.

Czyszczenie zasobów

Jeśli w testach utworzono jakiekolwiek zasoby platformy Azure, które nie są już potrzebne, nie zapomnij ich usunąć.

Znane problemy z modułem sprawdzania poprawności SCIM firmy Microsoft

  • Usuwanie nietrwałe (wyłącza) nie jest jeszcze obsługiwane.
  • Format strefy czasowej jest generowany losowo i kończy się niepowodzeniem w przypadku systemów, które próbują je zweryfikować.
  • Usunięcie atrybutów użytkownika poprawki może podjąć próbę usunięcia obowiązkowych/wymaganych atrybutów dla niektórych systemów. Takie błędy powinny być ignorowane.

Następne kroki