Esercitazione: Sviluppare un endpoint SCIM di esempio in Microsoft Entra ID

Questa esercitazione descrive come distribuire il codice di riferimento SCIM con app Azure Service. Testare quindi il codice usando Postman o tramite l'integrazione con il servizio di provisioning Microsoft Entra. L'esercitazione è destinata agli sviluppatori che vogliono iniziare a usare SCIM o a chiunque sia interessato a testare un endpoint SCIM.

In questa esercitazione apprenderai a:

  • Distribuire l'endpoint SCIM in Azure.
  • Testare l'endpoint SCIM.

Distribuire l'endpoint SCIM in Azure

I passaggi descritti di seguito distribuiscono l'endpoint SCIM in un servizio usando Visual Studio 2019 e Visual Studio Code con il servizio app Azure. Il codice di riferimento SCIM può essere eseguito in locale, ospitato da un server locale o distribuito in un altro servizio esterno. Per informazioni sul provisioning di un endpoint SCIM, vedere Esercitazione: Sviluppare e pianificare il provisioning per un endpoint SCIM.

Ottenere e distribuire l'app di esempio

Passare al codice di riferimento da GitHub e selezionare Clona o scarica. Selezionare Apri in Desktop oppure copiare il collegamento, aprire Visual Studio e selezionare Clona o estrai codice per immettere il collegamento copiato e creare una copia locale. Salvare i file in una cartella in cui la lunghezza totale del percorso è di 260 o meno caratteri.

  1. In Visual Studio assicurarsi di accedere all'account che ha accesso alle risorse di hosting.

  2. In Esplora soluzioni aprire Microsoft.SCIM.sln e fare clic con il pulsante destro del mouse sul file Microsoft.SCIM.WebHostSample. Seleziona Pubblica.

    Screenshot that shows the sample file.

    Nota

    Per eseguire questa soluzione in locale, fare doppio clic sul progetto e selezionare IIS Express per avviare il progetto come pagina Web con un URL host locale. Per altre informazioni, vedere Panoramica di IIS Express.

  3. Selezionare Crea profilo e assicurarsi che servizio app e Crea nuovo siano selezionati.

    Screenshot that shows the Publish window.

  4. Scorrere le opzioni della finestra di dialogo e rinominare l'app in un nome di propria scelta. Questo nome viene usato sia nell'app che nell'URL dell'endpoint SCIM.

    Screenshot that shows creating a new app service.

  5. Selezionare il gruppo di risorse da usare e selezionare Pubblica.

    Screenshot that shows publishing a new app service.

Configurare il servizio app

Passare all'applicazione in configurazione del servizio> app Azure e selezionare Nuova impostazione dell'applicazione per aggiungere l'impostazione Token__TokenIssuer con il valore .https://sts.windows.net/<tenant_id>/ Sostituire <tenant_id> con l'ID tenant di Microsoft Entra. Per testare l'endpoint SCIM usando Postman, aggiungere un'impostazione ASPNETCORE_ENVIRONMENT con il valore Development.

Screenshot that shows the Application settings window.

Quando si testa l'endpoint con un'applicazione aziendale nell'interfaccia di amministrazione di Microsoft Entra, sono disponibili due opzioni. È possibile mantenere l'ambiente in Development e fornire il token di test dall'endpoint /scim/token oppure modificare l'ambiente in Production e lasciare vuoto il campo del token.

Ecco fatto! L'endpoint SCIM è ora pubblicato ed è possibile usare l'URL del servizio app Azure per testare l'endpoint SCIM.

Testare l'endpoint SCIM

Le richieste a un endpoint SCIM richiedono l'autorizzazione. Lo standard SCIM include più opzioni disponibili. Le richieste possono usare cookie, autenticazione di base, autenticazione client TLS o uno dei metodi elencati in RFC 7644.

Assicurarsi di evitare metodi non sicuri, ad esempio nome utente e password, a favore di un metodo più sicuro, ad esempio OAuth. Microsoft Entra ID supporta token di connessione di lunga durata (per le applicazioni della raccolta e non della raccolta) e la concessione di autorizzazione OAuth (per le applicazioni della raccolta).

Nota

I metodi di autorizzazione forniti nel repository sono solo per i test. Integrandosi con Microsoft Entra ID, è possibile esaminare le indicazioni per l'autorizzazione. Vedere Pianificare il provisioning per un endpoint SCIM.

L'ambiente di sviluppo consente funzionalità non sicure per la produzione, ad esempio il codice di riferimento per controllare il comportamento della convalida del token di sicurezza. Il codice di convalida del token usa un token di sicurezza autofirmato e la chiave di firma viene archiviata nel file di configurazione. Vedere il parametro Token:IssuerSigningKey in appsettings. Development.json file.

"Token": {
    "TokenAudience": "Microsoft.Security.Bearer",
    "TokenIssuer": "Microsoft.Security.Bearer",
    "IssuerSigningKey": "A1B2C3D4E5F6A1B2C3D4E5F6",
    "TokenLifetimeInMins": "120"
}

Nota

Quando si invia una richiesta GET all'endpoint /scim/token , viene emesso un token usando la chiave configurata. Tale token può essere usato come token di connessione per l'autorizzazione successiva.

Il codice di convalida del token predefinito è configurato per l'uso di un token Microsoft Entra e richiede che il tenant emittente sia configurato usando il parametro Token:TokenIssuer nel file appsettings.json .

"Token": {
    "TokenAudience": "8adf8e6e-67b2-4cf2-a259-e3dc5476c621",
    "TokenIssuer": "https://sts.windows.net/<tenant_id>/"
}

Passaggi successivi