Estendere il provisioning in ingresso basato su API per sincronizzare gli attributi personalizzati
Per impostazione predefinita, le app di provisioning basate su API supportano attributi di elaborazione che fanno parte dello schema utente aziendale e utente di base SCIM standard. Il sistema di registrazione può avere attributi personalizzati che vogliono includere nell'ambito del provisioning basato su API. Questa esercitazione avanzata descrive come estendere l'app di provisioning basato su API per elaborare altri attributi personalizzati.
Nota
Prima di provare questo scenario avanzato, è consigliabile verificare che la configurazione predefinita dell'app di provisioning funzioni come previsto usando uno dei client API seguenti Graph Explorer, cURL.
Scenario di esempio
È stata configurata l'app di provisioning basato su API. L'app di provisioning usa correttamente gli attributi che fanno parte dello schema utente aziendale e utente di base SCIM standard ed effettua il provisioning degli utenti in Microsoft Entra ID. Si vogliono ora inviare due attributi personalizzati HireDate
e JobCode
dal sistema HR all'endpoint API di provisioning in ingresso. Si vuole eseguire il mapping di questi due attributi personalizzati agli attributi employeeHireDate
e jobTitle
di Microsoft Entra.
Passaggio 1 - Estendere lo schema dell'app di provisioning
In questo passaggio i due attributi "HireDate" e "JobCode", che non fanno parte dello schema SCIM standard, verranno aggiunti all'app di provisioning e usati nel flusso di dati di provisioning.
- Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come amministratore applicazione.
- Passare a Identità>Applicazioni>Applicazioni aziendali.
- Aprire l'app di provisioning basato su API.
- Aprire il riquadro Provisioning.
- Fare clic sul pulsante Modifica il provisioning.
- Espandere la sezione Mapping e fare clic sul collegamento del mapping degli attributi.
- Scorrere verso il basso nella pagina Mapping degli attributi. Selezionare Mostra opzioni avanzate e fare clic sul collegamento Modifica elenco attributi per API.
- Scorrere verso il basso fino alla fine della pagina Modifica elenco attributi.
- Aggiungere all'elenco i due attributi seguenti come estensioni dello schema SCIM. È possibile usare il proprio spazio dei nomi dello schema SCIM.
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode
- Salvare le modifiche.
Nota
Se si vogliono aggiungere solo alcuni attributi aggiuntivi all'app di provisioning, usare l'Interfaccia di amministrazione di Microsoft Entra per estendere lo schema. Se si vogliono aggiungere altri attributi personalizzati, ad esempio più di 20 attributi, è consigliabile usare la modalità UpdateSchema
dello script CSV2SCIM di PowerShell che automatizza il processo manuale descritto in precedenza.
Passaggio 2- Eseguire il mapping degli attributi personalizzati
Aggiungere ora queste estensioni al mapping degli attributi dell'app di provisioning.
Fare clic sul collegamento Aggiungi nuovo mapping nella pagina Mapping di attributi.
Eseguire il mapping dell'attributo
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate
aemployeeHireDate
. Fare clic su OK.
Selezionare quindi il mapping esistente per
title
e fare clic su di esso per modificare il mapping.Modificare il mapping dell'attributo a un'espressione che includerà
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode
come parte dell'attributojobTitle
di Microsoft Entra.Join("", [title], "(", [urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode], ")")
Con questo mapping di espressione, se il valore di
title
è "Tour Lead" e il valore diJobCode
è "TL-1001", l'attributojobTitle
di Microsoft Entra sarà impostato su "Tour Lead (TL-1001)".Salvare i mapping degli attributi.
Passaggio 3 - Caricare una richiesta in blocco con attributi personalizzati
- Aprire il client API (Graph Explorer/cURL).
- Copiare e incollare la richiesta in blocco con attributi personalizzati.
- Inviare la richiesta in blocco all'URL dell'endpoint API di provisioning.
- Dopo qualche tempo, è possibile controllare i log di provisioning per verificare la modifica degli attributi.
- È anche possibile verificare la modifica nel profilo utente di Microsoft Entra. Il valore di
Employee hire date
è espresso nel fuso orario del tenant.
Appendice
Richiesta in blocco con attributi personalizzati
La richiesta in blocco include gli attributi personalizzati configurati nei passaggi precedenti.
Testo della richiesta
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
"Operations": [
{
"method": "POST",
"bulkId": "701984",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:contoso:1.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": "234300 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"
}
},
"urn:ietf:params:scim:schemas:extension:contoso:1.0:User": {
"HireDate": "2021-05-01T00:00:00-05:00",
"JobCode": "TG-1001"
}
}
},
{
"method": "POST",
"bulkId": "701985",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:contoso:1.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": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "701984",
"displayName": "Barbara Jensen"
}
},
"urn:ietf:params:scim:schemas:extension:contoso:1.0:User": {
"HireDate": "2022-07-15T00:00:00-05:00",
"JobCode": "TL-1003"
}
}
}
],
"failOnErrors": null
}