Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
- Konto Microsoft Entra z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Punkt końcowy SCIM zgodny ze standardem SCIM 2.0 i spełnia wymagania dotyczące usługi aprowizacji. Aby dowiedzieć się więcej, zobacz Samouczek: opracowywanie i planowanie aprowizacji punktu końcowego SCIM w usłudze Microsoft Entra ID.
Wybieranie metody testowania
Pierwszym krokiem jest wybranie metody testowania w celu zweryfikowania punktu końcowego SCIM.
Otwórz przeglądarkę internetową i przejdź do modułu sprawdzania poprawności SCIM: https://scimvalidator.microsoft.com/.
Wybierz jedną z trzech opcji testu. Możesz użyć atrybutów domyślnych, automatycznie odnaleźć schemat lub przekazać schemat.
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.
- Jeśli używasz opcji atrybutów domyślnych, wypełnij wszystkie wskazane pola.
- Jeśli używasz opcji odnajdywania schematu, wprowadź adres URL i token punktu końcowego SCIM.
- 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.
- 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.
- 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.
Wybierz pozycję Test Schema (Schemat testu), aby rozpocząć test.
Przejrzyj wyniki z podsumowaniem testów z powodzeniem i niepowodzeniem.
Wybierz kartę Pokaż szczegóły i przejrzyj i rozwiąż problemy.
Kontynuuj testowanie schematu, dopóki wszystkie testy nie przejdą.
Walidacje notatek wykonywane przez moduł sprawdzania poprawności SCIM
Tworzenie nowego użytkownika
- POST /Users — tworzy nowego użytkownika z pełnym ładunkiem JSON.
- Punkt końcowy zwraca błąd HTTP 201
- Odpowiedź POST zawiera utworzony identyfikator użytkownika
- GET /Users?filter={joiningProperty} eq "value" — weryfikuje tworzenie, filtrując właściwość dołączania.
- Funkcja GET zwraca utworzonego użytkownika
- Zwrócone wartości z żądania GET są zgodne z przekazanymi wartościami żądania POST (różni się w zależności od punktu końcowego)
- DELETE /Users — czyści użytkownika testowego. -Wywoływane tylko wtedy, gdy usuwanie twarde jest obsługiwane
Tworzenie zduplikowanego użytkownika
- POST /Users — próbuje utworzyć użytkownika przy użyciu identycznego ładunku (z tym samym atrybutem unikatowym/dołączania) do istniejącego użytkownika.
- Zwracanie protokołu HTTP 201 podczas pierwszego żądania utworzenia
- Zwracanie protokołu HTTP 409 w drugim żądaniu tworzenia
Dodawanie atrybutów
- POST /Users — tworzy zasób użytkownika
- Powodzenie http 2xx
- PATCH /Users/{id} — używa dokumentu poprawki JSON (z operacją dodawania), aby wstawić dodatkowe atrybuty, które nie są wymagane.
- GET /Users?filter={joiningProperty} eq "value" — pobiera użytkownika w celu zweryfikowania dodanych atrybutów.
- Użytkownik jest zwracany
- Wstawione atrybuty są teraz obecne dla użytkownika
Zamień atrybuty użytkownika
- POST /Users — tworzy zasób użytkownika
- Powodzenie http 2xx
- PATCH /Users/{id} — wysyła dokument poprawki JSON (przy użyciu operacji zastępowania) w celu zaktualizowania co najmniej jednego atrybutu.
- GET /Users?filter={joiningProperty} eq "value" – sprawdza, czy zaktualizowane atrybuty są prawidłowo zastosowane.
- Użytkownik jest zwracany
- Zaktualizowane atrybuty są obecne w użytkowniku
Aktualizuj atrybut łączeniowy
- POST /Users — tworzy zasób użytkownika
- Powodzenie http 2xx
- PATCH /Users/{id} — aktualizuje właściwość dołączania (np. userName) za pośrednictwem dokumentu poprawki JSON.
- GET /Users?filter={joiningProperty} eq "newValue" — potwierdza, że właściwość dołączania została zaktualizowana.
- Atrybut dołączenia jest aktualizowany dla użytkownika
Aktualizowanie aktywnego atrybutu na false
- POST /Users/ — tworzy zasób na podstawie schematu
- Powodzenie http 2xx
- Na żądanie GET powinien zostać zwrócony użytkownik o wyłączonym koncie.
- PATCH /Users/{id} — wystawia dokument poprawki JSON, który ustawia atrybut "aktywny" na false.
- Powodzenie http 2xx
- GET /Users?filter={joiningProperty} eq "value" — pobiera użytkownika, aby potwierdzić, że aktywny atrybut jest teraz false.
- Zwrócony rekord użytkownika powinien mieć wartość ACTIVE=FALSE"
Utwórz nową grupę
- POST /Groups — tworzy nową grupę z pełnym ładunkiem JSON.
- Punkt końcowy zwraca błąd HTTP 201
- Odpowiedź POST zawiera utworzony identyfikator grupy
- GET /Group?filter={joiningProperty} eq "value" — weryfikuje tworzenie, filtrując parametr łączenia.
- Funkcja GET zwraca utworzoną grupę
- Zwrócone wartości z żądania GET są zgodne z przekazanymi wartościami żądania POST (różni się w zależności od punktu końcowego)
- DELETE /Groups — czyści użytkownika testowego.
- Wywoływane tylko wtedy, gdy usuwanie twarde jest obsługiwane
Utwórz zduplikowaną grupę
- POST /Groups — próbuje utworzyć grupę przy użyciu identycznego ładunku (z tym samym atrybutem unikatowym/dołączania) do istniejącej grupy.
- Zwracanie protokołu HTTP 201 podczas pierwszego żądania utworzenia
- Zwracanie protokołu HTTP 409 w drugim żądaniu tworzenia
Aktualizowanie atrybutów grupy
- POST /Groups — tworzy nowy zasób grupy w celu zaktualizowania atrybutów
- Funkcja POST zwraca http 2xx
- PATCH /Groups/{id} — wysyła dokument JSON Patch z użyciem operacji replace w celu zaktualizowania jednego lub więcej atrybutów istniejącej grupy (z wyłączeniem członków).
- Funkcja PATCH zwraca powodzenie (HTTP 2xx)
- GET /Groups?filter={joiningProperty} eq "value" — potwierdza, że atrybuty grupy zostały poprawnie zaktualizowane.
- Funkcja GET zwraca poprawioną grupę
- Atrybuty zwracanej grupy pasują do zmienionych atrybutów w żądaniu PATCH
Tworzenie nowego zasobu grupy
- POST /Groups: tworzy nowy zasób grupy w celu dodania członka do grupy.
- Funkcja POST zwraca http 2xx
- POST /Users — tworzy nowy zasób użytkownika, który ma być używany jako członek grupy.
- Funkcja POST zwraca http 2xx
- PATCH /Groups/{id} — dodaje nowo utworzony identyfikator użytkownika do grupy przy użyciu dokumentu poprawki JSON.
- Operacja PATCH zakończyła się pomyślnie.
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ń
- Przejdź do strony Atrybuty.
- Wprowadź żądane wyrażenie w kolumnie wartości atrybutu, który chcesz dostosować.
- 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ń
| Wyrażenie | 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.
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.