Esercitazione: Convalidare un endpoint SCIM

Questa esercitazione descrive come usare microsoft Entra SCIM Validator per verificare che il server di provisioning sia compatibile con il client SCIM di Azure. L'esercitazione è destinata agli sviluppatori che vogliono creare un server compatibile CON SCIM per gestire le identità con il servizio di provisioning Microsoft Entra.

In questa esercitazione apprenderai a:

  • Selezionare un metodo di test
  • Configurare il metodo di test
  • Convalidare l'endpoint SCIM

Prerequisiti

Selezionare un metodo di test

Il primo passaggio consiste nel selezionare un metodo di test per convalidare l'endpoint SCIM.

  1. Aprire il Web browser e passare al validator SCIM: https://scimvalidator.microsoft.com/.

  2. Selezionare una delle tre opzioni di test. È possibile usare gli attributi predefiniti, individuare automaticamente lo schema o caricare uno schema.

    Screenshot of SCIM Validator main page.

Usa attributi predefiniti: il sistema fornisce gli attributi predefiniti e li modifichi per soddisfare le tue esigenze.

Individua schema : se l'endpoint supporta /Schemas, questa opzione consente allo strumento di individuare gli attributi supportati. È consigliabile usare questa opzione perché riduce il sovraccarico dell'aggiornamento dell'app durante la compilazione.

Caricare lo schema di Microsoft Entra: caricare lo schema scaricato dall'app di esempio in Microsoft Entra ID.

Configurare il metodo di test

Dopo aver selezionato un metodo di test, il passaggio successivo consiste nel configurarlo.

Screenshot of SCIM Validator attributes page.

  1. Se si usa l'opzione attributi predefiniti, compilare tutti i campi indicati.
  2. Se si usa l'opzione individua schema, immettere l'URL e il token dell'endpoint SCIM.
  3. Se si carica uno schema, selezionare il file .json da caricare. L'opzione accetta un file .json esportato dall'app di esempio nell'interfaccia di amministrazione di Microsoft Entra. Per informazioni su come esportare uno schema, vedere Procedura: Esportare la configurazione del provisioning ed eseguire il rollback a uno stato valido noto.

Nota

Per testare gli attributi del gruppo, assicurarsi di selezionare Abilita test di gruppo.

  1. Modificare gli attributi dell'elenco in base alle esigenze per i tipi di utente e gruppo usando l'opzione 'Aggiungi attributo' alla fine dell'elenco di attributi e segno meno (-) sul lato destro della pagina.
  2. Selezionare la proprietà join sia dall'elenco degli attributi utente che da quello del gruppo.

Nota

La proprietà join, nota anche come attributo corrispondente, è un attributo su cui le risorse utente e gruppo possono essere sottoposte a query in modo univoco nell'origine e corrispondenti nel sistema di destinazione.

Convalidare l'endpoint SCIM

Infine, è necessario testare e convalidare l'endpoint.

  1. Selezionare Schema di test per iniziare il test.

  2. Esaminare i risultati con un riepilogo dei test superati e non superati.

  3. Selezionare la scheda Mostra dettagli e rivedere e risolvere i problemi.

  4. Continuare a testare lo schema fino al superamento di tutti i test.

    Screenshot of SCIM Validator results page.

Uso di espressioni in SCIM Validator

Il validator SCIM supporta l'uso di espressioni per generare i valori desiderati per gli attributi.

Come usare le espressioni

  1. Passare alla pagina Attributi.
  2. Immettere l'espressione desiderata nella colonna valore dell'attributo da personalizzare.
  3. Eseguire il test

Nota

Queste espressioni funzionano sia per gli attributi User che Group.

Espressioni disponibili

La tabella seguente elenca le espressioni disponibili

Expression significato Esempio Risultato
generateRandomString {Conteggio dei caratteri stringa} Generare una stringa casuale con il numero specificato di caratteri alfabetici {%generateRandomString 6%}@contoso.com CXJHYP@contoso.com
generateRandomNumber {Count of Numbers} Generare un numero casuale con il conteggio di cifre specificato {%generateRandomNumber 4%} 8821
generateAlphaNumeric {Count of Characters} Generare una stringa casuale con una combinazione di alfabeti e numeri, con il conteggio di caratteri specificato {%generateAlphaNumeric 7%} 59Q2M9W
generateAlphaNumericWithSpecialCharacters {Conteggio dei caratteri} Generare una stringa casuale con una combinazione di alfabeti, numeri e un carattere speciale, in base al numero di caratteri specificato {%generateAlphaNumericWithSpecialCharacters 8%} TEST D385N05'TEST

È possibile aggiungere valori prima o dopo le espressioni per ottenere il risultato desiderato, ad esempio quando si aggiunge {% generateRandomString 6 %}@contoso.com in un campo valore dell'attributo userName, verrà generato un nuovo valore userName con ogni test mantenendo il dominio contoso.com.

Usare Postman per testare gli endpoint (facoltativo)

Oltre a usare lo strumento SCIM Validator, è anche possibile usare Postman per convalidare un endpoint. Questo esempio fornisce un set di test in Postman. Nell'esempio vengono convalidate le operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD). Le operazioni vengono convalidate in utenti e gruppi, filtrando, aggiornando l'appartenenza ai gruppi e disabilitando gli utenti.

Gli endpoint si trovano nella {host}/scim/ directory ed è possibile usare le richieste HTTP standard per interagire con essi. Per modificare la /scim/ route, vedere ControllerConstant.cs in AzureADProvisioningSCIMreference>ScimReferenceApi>Controllers.

Nota

È possibile usare solo endpoint HTTP per i test locali. Il servizio di provisioning Microsoft Entra richiede che l'endpoint supporti HTTPS.

  1. Scaricare Postman e avviare l'applicazione.

  2. Copiare e incollare questo collegamento in Postman per importare la raccolta di test: https://aka.ms/ProvisioningPostman.

    Screenshot that shows importing the test collection in Postman.

  3. Creare un ambiente di test con queste variabili:

    Ambiente Variabile Valore
    Eseguire il progetto in locale usando IIS Express
    Server localhost
    Porta :44359(non dimenticare il :)
    Api scim
    Eseguire il progetto in locale usando Kestrel
    Server localhost
    Porta :5001(non dimenticare il :)
    Api scim
    Ospitare l'endpoint in Azure
    Server (immettere l'URL SCIM)
    Porta (lasciare vuoto)
    Api scim
  4. Usare Get Key dalla raccolta Postman per inviare una richiesta GET all'endpoint del token e recuperare un token di sicurezza da archiviare nella variabile token per le richieste successive.

    Screenshot that shows the Postman Get Key folder.

    Nota

    Per proteggere un endpoint SCIM, è necessario un token di sicurezza prima di connettersi. L'esercitazione usa l'endpoint {host}/scim/token per generare un token autofirmato.

Ecco fatto! È ora possibile eseguire la raccolta Postman per testare la funzionalità dell'endpoint SCIM.

Pulire le risorse

Se nel test sono state create risorse di Azure non più necessarie, non dimenticare di eliminarle.

Problemi noti relativi a Microsoft Entra SCIM Validator

  • Le eliminazioni soft (disabilita) non sono ancora supportate.
  • Il formato del fuso orario viene generato in modo casuale e ha esito negativo per i sistemi che tentano di convalidarlo.
  • L'utente patch rimuove gli attributi può tentare di rimuovere attributi obbligatori/obbligatori per determinati sistemi. Tali errori devono essere ignorati.

Passaggi successivi