Guida introduttiva: Introduzione al provisioning in ingresso basato sulle API con cURL
Introduzione
cURL è uno strumento da riga di comando comune, gratuito, open source usato dagli sviluppatori di API ed è disponibile per impostazione predefinita in Windows 10/11. Questa esercitazione descrive come testare rapidamente provisioning in ingresso basato sulle API con cURL.
Prerequisiti
- È stata configurata 'app di provisioning in ingresso basata sulle API.
- È configurato un'entità servizio e ha accesso all'API di provisioning in ingresso. Prendere nota dei
ClientId
eClientSecret
della tua app principale del servizio da usare in questa esercitazione.
Caricare i dati degli utenti nell'API di provisioning entrante
- Recuperare le client_id e le client_secret dell'entità servizio che ha accesso all'API di provisioning in ingresso.
- Usare il flusso di concessione di OAuth client_credentials per ottenere un token di accesso. Sostituire le variabili
[yourClientId]
,[yourClientSecret]
e[yourTenantId]
con i valori applicabili al programma di installazione ed eseguire il comando cURL seguente. Copiare il valore del token di accesso generatocurl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=[yourClientId]&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&client_secret=[yourClientSecret]&grant_type=client_credentials" "https://login.microsoftonline.com/[yourTenantId]/oauth2/v2.0/token"
- Copiare la richiesta in blocco con SCIM Enterprise User Schema e salvare il contenuto in un file denominato
scim-bulk-upload-users.json
. - Sostituire la variabile
[InboundProvisioningAPIEndpoint]
con l'endpoint dell'API di provisioning associato all'app di provisioning. Usare il valore[AccessToken]
del passaggio precedente ed eseguire il comando curl seguente per caricare la richiesta in blocco nell'endpoint dell'API di provisioning.curl -v "[InboundProvisioningAPIEndpoint]" -d @scim-bulk-upload-users.json -H "Authorization: Bearer [AccessToken]" -H "Content-Type: application/scim+json"
- Al termine del caricamento, si riceverà il codice di risposta HTTP 202 Accettato.
- Il servizio di provisioning avvia immediatamente l'elaborazione del payload della richiesta in blocco ed è possibile visualizzare i dettagli accedendo ai registri di provisioning dell'applicazione di provisioning in entrata.
Verificare l'elaborazione del payload della richiesta in blocco
Accedere al Microsoft Entra admin center come almeno un Amministratore delle applicazioni.
Passare a Microsoft Entra ID -> Applicazioni -> Applicazioni aziendali.
In tutte le applicazioni usare la casella di testo del filtro di ricerca per trovare e aprire l'applicazione di provisioning basata su API.
Aprire il pannello Provisioning. Nella pagina di destinazione viene visualizzato lo stato dell'ultima esecuzione.
Fare clic su Visualizzare i log di provisioning per aprire il pannello log di provisioning. In alternativa, è possibile fare clic sull'opzione di menu Monitor -> Registri di provisioning.
Fare clic su qualsiasi record nei log di provisioning per visualizzare altri dettagli di elaborazione.
Nella schermata dei dettagli del log di provisioning vengono visualizzati tutti i passaggi eseguiti per un utente specifico.
- Nel passaggio Importa dall'API, puoi vedere i dettagli dei dati utente estratti dalla richiesta collettiva.
- Il passaggio Corrispondenza utente mostra i dettagli di qualsiasi corrispondenza utente in base all'identificatore corrispondente. Se si verifica una corrispondenza con un utente, il servizio di provisioning esegue un'operazione di aggiornamento. Se non esiste alcuna corrispondenza utente, il servizio di provisioning esegue un'operazione di creazione.
- Il passaggio Determinare se l'utente si trova nell'ambito mostra i dettagli sull'analisi del filtro di ambito. Per impostazione predefinita, tutti gli utenti vengono elaborati. Se è stato impostato un filtro di ambito(ad esempio, elaborare solo gli utenti appartenenti al reparto vendite), i dettagli di valutazione del filtro di ambito vengono visualizzati in questo passaggio.
- Il passaggio di configurazione utente richiama il passaggio finale di elaborazione e le modifiche apportate all'account utente.
- Utilizzare la scheda Proprietà modificate per visualizzare gli aggiornamenti degli attributi.
Appendice
Visualizzare questa sezione per informazioni sulla richiesta in blocco con SCIM Enterprise User Schema.
Richiesta in blocco con schema utente SCIM Enterprise
La richiesta in blocco illustrata di seguito usa lo schema standard SCIM Core User and Enterprise User.
corpo della richiesta
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
"Operations": [
{
"method": "POST",
"bulkId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
"externalId": "701984",
"userName": "bjensen@example.com",
"name": {
"formatted": "Ms. Barbara J Jensen, III",
"familyName": "Jensen",
"givenName": "Barbara",
"middleName": "Jane",
"honorificPrefix": "Ms.",
"honorificSuffix": "III"
},
"displayName": "Babs Jensen",
"nickName": "Babs",
"emails": [
{
"value": "bjensen@example.com",
"type": "work",
"primary": true
}
],
"addresses": [
{
"type": "work",
"streetAddress": "100 Universal City Plaza",
"locality": "Hollywood",
"region": "CA",
"postalCode": "91608",
"country": "USA",
"formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA",
"primary": true
}
],
"phoneNumbers": [
{
"value": "555-555-5555",
"type": "work"
}
],
"userType": "Employee",
"title": "Tour Guide",
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active":true,
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "89607",
"displayName": "John Smith"
}
}
}
},
{
"method": "POST",
"bulkId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
"externalId": "701985",
"userName": "Kjensen@example.com",
"name": {
"formatted": "Ms. Kathy J Jensen, III",
"familyName": "Jensen",
"givenName": "Kathy",
"middleName": "Jane",
"honorificPrefix": "Ms.",
"honorificSuffix": "III"
},
"displayName": "Kathy Jensen",
"nickName": "Kathy",
"emails": [
{
"value": "kjensen@example.com",
"type": "work",
"primary": true
}
],
"addresses": [
{
"type": "work",
"streetAddress": "100 Oracle City Plaza",
"locality": "Hollywood",
"region": "CA",
"postalCode": "91618",
"country": "USA",
"formatted": "100 Oracle City Plaza\nHollywood, CA 91618 USA",
"primary": true
}
],
"phoneNumbers": [
{
"value": "555-555-5545",
"type": "work"
}
],
"userType": "Employee",
"title": "Tour Lead",
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active":true,
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "701985",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "701984",
"displayName": "Barbara Jensen"
}
}
}
}
],
"failOnErrors": null
}