Kurz: Ověření koncového bodu SCIM

Tento kurz popisuje, jak pomocí validátoru Microsoft Entra SCIM ověřit, jestli je váš zřizovací server kompatibilní s klientem Azure SCIM. Tento kurz je určený pro vývojáře, kteří chtějí vytvořit server kompatibilní s SCIM pro správu identit pomocí služby Microsoft Entra provisioning.

V tomto kurzu se naučíte:

  • Výběr testovací metody
  • Konfigurace testovací metody
  • Ověření koncového bodu SCIM

Požadavky

Výběr testovací metody

Prvním krokem je výběr testovací metody pro ověření koncového bodu SCIM.

  1. Otevřete webový prohlížeč a přejděte na validátor SCIM: https://scimvalidator.microsoft.com/.

  2. Vyberte jednu ze tří možností testu. Můžete použít výchozí atributy, automaticky zjistit schéma nebo nahrát schéma.

    Snímek obrazovky hlavní stránky validátoru SCIM

Použijte výchozí atributy – systém poskytuje výchozí atributy a upravíte je tak, aby vyhovovaly vašim potřebám.

Zjistit schéma – Pokud koncový bod podporuje /Schemas, tato možnost umožňuje nástroji zjistit podporované atributy. Tuto možnost doporučujeme, protože snižuje režii při sestavování aplikace.

Nahrajte schéma Microsoft Entra – nahrajte schéma, které jste si stáhli z ukázkové aplikace, na ID Microsoft Entra.

Konfigurace testovací metody

Teď, když jste vybrali testovací metodu, je dalším krokem konfigurace.

Snímek obrazovky se stránkou atributů validátoru SCIM

  1. Pokud používáte výchozí možnost atributů, vyplňte všechna uvedená pole.
  2. Pokud používáte možnost zjišťování schématu, zadejte adresu URL a token koncového bodu SCIM.
  3. Pokud nahráváte schéma, vyberte .json soubor, který chcete nahrát. Tato možnost přijímá soubor .json exportovaný z ukázkové aplikace v Centru pro správu Microsoft Entra. Informace o exportu schématu najdete v tématu Postupy: Export konfigurace zřizování a vrácení zpět do známého dobrého stavu.

Poznámka:

Pokud chcete testovat atributy skupiny, nezapomeňte vybrat Povolit skupinové testy.

  1. Podle potřeby upravte atributy seznamu pro typy uživatelů i skupin pomocí možnosti Přidat atribut na konci seznamu atributů a znaménko minus (-) na pravé straně stránky.
  2. Ze seznamu atributů uživatele i skupiny vyberte vlastnost spojení.

Poznámka:

Vlastnost spojení, označovaná také jako odpovídající atribut, je atribut, na který lze prostředky uživatele a skupiny jedinečně dotazovat na zdroj a spárovat se v cílovém systému.

Ověření koncového bodu SCIM

Nakonec potřebujete otestovat a ověřit koncový bod.

  1. Výběrem testovacího schématu zahájíte test.

  2. Zkontrolujte výsledky se souhrnem úspěšných a neúspěšných testů.

  3. Vyberte kartu Zobrazit podrobnosti a zkontrolujte a opravte problémy.

  4. Pokračujte v testování schématu, dokud všechny testy neprojdou.

    Snímek obrazovky se stránkou výsledků validátoru SCIM

Ověření poznámek prováděná validátorem SCIM

Vytvořit nového uživatele

  • POST /Users – Vytvoří nového uživatele s úplnou datovou částí JSON.
    • Koncový bod vrátí HTTP 201
    • Odpověď POST obsahuje vytvořené ID uživatele.
  • GET /Users?filter={joiningProperty} eq "value" – Ověřuje vytvoření pomocí filtrování vlastnosti spojení.
    • Funkce GET vrátí vytvořeného uživatele.
    • Vrácené hodnoty z GET odpovídají předaným hodnotám z požadavku POST (může se lišit podle konkrétního koncového bodu).
  • DELETE /Users – vyčistí testovacího uživatele. –Volá se pouze v případě, že je podporováno pevné odstranění.

Vytvořit duplicitního uživatele

  • POST /Users – Pokusí se vytvořit uživatele pomocí stejného datového balíčku (s atributem, který je stejný/jediný pro připojení) pro existujícího uživatele.
    • Vrácení HTTP 201 při prvním požadavku na vytvoření
    • Vrátit HTTP 409 při druhém pokusu o vytvoření

Přidání atributů

  • Vytvoří zdroj uživatele pomocí POST /Users.
    • Úspěch HTTP 2xx
  • PATCH /Users/{id} – pomocí dokumentu opravy JSON (s operací přidání) vloží další nepožadované atributy.
  • GET /Users?filter={connectionProperty} eq "value" – načte uživatele, aby ověřil přidané atributy.
    • Uživatel se vrátí.
    • Vložené atributy jsou nyní přítomné na uživateli.

Nahrazení atributů uživatele

  • Vytvoří zdroj uživatele pomocí POST /Users.
    • Úspěch HTTP 2xx
  • PATCH /Users/{id} – odešle dokument opravy JSON (pomocí operace nahrazení) k aktualizaci jednoho nebo více atributů.
  • GET /Users?filter={joiningProperty} eq "value" – ověřuje, zda jsou aktualizované atributy správně použity.
    • Uživatel se vrátí.
    • Aktualizované atributy jsou přítomné na uživateli.

Aktualizovat vlastnost připojení

  • Vytvoří zdroj uživatele pomocí POST /Users.
    • Úspěch HTTP 2xx
  • PATCH /Users/{id} – aktualizuje vlastnost připojení (např. userName) prostřednictvím dokumentu opravy JSON.
  • GET /Users?filter={joiningProperty} eq "newValue" – Potvrzuje aktualizaci vlastnosti připojení.
    • Vlastnost připojení se aktualizuje u uživatele.

Aktualizace aktivního atributu na false

  • POST /Users/ – vytvoří prostředek na základě schématu.
    • Úspěch HTTP 2xx
    • Zakázaný uživatel by se měl vrátit na požadavek GET.
  • PATCH /Users/{id} – vydává dokument opravy JSON, který nastaví atribut active na false.
    • Úspěch HTTP 2xx
  • GET /Users?filter={joiningProperty} eq "value" – načte uživatele za účelem potvrzení, že aktivní atribut je nyní nepravdivý.
    • Vrácený záznam uživatele by měl mít hodnotu ACTIVE=FALSE"

Vytvořit novou skupinu

  • POST /Groups – Vytvoří novou skupinu s úplnou datovou částí JSON.
    • Koncový bod vrátí HTTP 201
    • Odpověď POST obsahuje ID vytvořené skupiny.
  • GET /Group?filter={joiningProperty} eq "value" – Ověřuje vytvoření filtrováním podle vlastnosti připojení.
    • Funkce GET vrátí vytvořenou skupinu.
    • Vrácené hodnoty z GET odpovídají předaným hodnotám z požadavku POST (může se lišit podle konkrétního koncového bodu).
  • DELETE /Groups – vyčistí testovacího uživatele.
    • Volá se pouze v případě, že je podporováno pevné odstranění.

Vytvoření duplicitní skupiny

  • POST /Groups – Pokusí se vytvořit skupinu pomocí identického payloadu (se stejným jedinečným nebo připojovacím atributem) s již existující skupinou.
    • Vrácení HTTP 201 při prvním požadavku na vytvoření
    • Vrátit HTTP 409 při druhém pokusu o vytvoření

Aktualizace atributů skupiny

  • POST /Groups – Vytvoří nový zdroj skupiny pro aktualizaci atributů
    • Funkce POST vrátí http 2xx.
  • PATCH /Groups/{id} – odešle dokument opravy JSON pomocí operace nahrazení k aktualizaci jednoho nebo více atributů existující skupiny (s výjimkou členů).
    • Funkce PATCH vrátí úspěch (HTTP 2xx)
  • GET /Groups?filter={joiningProperty} eq "value" – potvrzuje, že atributy skupiny byly správně aktualizovány.
    • Funkce GET vrátí opravenou skupinu.
    • Atributy u vrácené skupiny odpovídají atributům změněným v rámci požadavku PATCH.

Vytvořte nový skupinový prostředek

  • POST /Groups – Vytvoří nový prostředek skupiny pro přidání člena do skupiny.
    • Funkce POST vrátí http 2xx.
  • POST /Users – Vytvoří nový prostředek uživatele, který bude použit jako člen skupiny.
    • Funkce POST vrátí http 2xx.
  • PATCH /Groups/{id} – přidá do skupiny nově vytvořený identifikátor uživatele pomocí dokumentu opravy JSON.
    • Funkce PATCH vrátí úspěch.

Použití výrazů v validátoru SCIM

Validátor SCIM podporuje použití výrazů k vygenerování požadovaných hodnot pro atributy.

Jak používat výrazy

  1. Přejděte na stránku Atributy.
  2. Do sloupce hodnoty atributu, který chcete přizpůsobit, zadejte požadovaný výraz.
  3. Spuštění testu

Poznámka:

Tyto výrazy fungují pro atributy User i Group.

Dostupné výrazy

Následující tabulka uvádí dostupné výrazy.

Výraz Význam Příklad Výsledek
generateRandomString {Count of String Characters} Vygenerování náhodného řetězce se zadaným počtem znaků abecedy {%generateRandomString 6%}@contoso.com CXJHYP@contoso.com
generovatNáhodnéČíslo {Počet Čísel} Vygenerování náhodného čísla se zadaným počtem číslic {%generateRandomNumber 4%} 8821
generateAlphaNummeric {Count of Characters} Vygenerování náhodného řetězce se kombinací abecedy a čísel se zadaným počtem znaků {%generateAlphaNummeric 7%} 59Q2M9W
generujAlfanumerickéSeSpeciálnímiZnaky {Počet Znaků} Vygenerování náhodného řetězce s kombinací abecedy, čísel a speciálního znaku na základě zadaného počtu znaků {%vygenerovatAlfanumerickéSeSpeciálnímiZnaky 8%}TEST D385N05'TEST

Pokud například do pole hodnoty atributu userName přidáte {% generateRandomString 6 %}@contoso.com do pole hodnoty atributu userName nebo za něj, můžete přidat hodnoty do požadovaného výsledku, a to při každém testu při zachování contoso.com domény.

Vyčištění prostředků

Pokud jste v testování vytvořili nějaké prostředky Azure, které už nepotřebujete, nezapomeňte je odstranit.

Známé problémy s validátorem Microsoft Entra SCIM

  • Obnovitelné odstranění (zakázání) se zatím nepodporuje.
  • Formát časového pásma se náhodně vygeneruje a selže pro systémy, které se ho pokusí ověřit.
  • Uživatel opravy odebere atributy se může pokusit odebrat povinné/požadované atributy pro určité systémy. Taková selhání by se měla ignorovat.

Další kroky