Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Par défaut, les applications de provisionnement piloté par API prennent en charge les attributs de traitement qui font partie du schéma standard d’utilisateur principal et d’utilisateur d’entreprise SCIM. Votre système d’enregistrement peut avoir des attributs personnalisés que vous pouvez inclure dans le cadre du provisionnement piloté par API. Ce tutoriel avancé explique comment étendre votre application de provisionnement piloté par API pour traiter des attributs personnalisés supplémentaires.
Note
Avant d’essayer ce scénario avancé, nous vous recommandons de vérifier que votre configuration d’application d’approvisionnement prête à l’emploi fonctionne comme prévu à l’aide de l’un des clients d’API suivants, l’Explorateur Graph, cURL.
Exemple de scénario
Vous avez configuré l’application de provisionnement piloté par API. Votre application de provisionnement utilise correctement les attributs qui font partie du schéma standard d’utilisateur principal et d’utilisateur d’entreprise SCIM, et elle attribue des utilisateurs dans Microsoft Entra. Vous souhaitez maintenant envoyer deux attributs personnalisés HireDate et JobCode de votre système RH vers le point de terminaison d’API de provisionnement entrant. Vous souhaitez mapper ces deux attributs personnalisés aux attributs Microsoft Entra employeeHireDate et jobTitle.
Étape 1 : Étendre le schéma d’application de provisionnement
Dans cette étape, nous allons ajouter les deux attributs « HireDate » et « JobCode » qui ne font pas partie du schéma SCIM standard à l’application de provisionnement et les utiliser dans le flux de données de provisionnement.
- Connectez-vous au Centre d’administration Microsoft Entra en tant qu’administrateur d’application au moins.
- Accédez aux applications Entra ID>d'entreprise.
- Ouvrez votre application de provisionnement piloté par API.
- Ouvrez le panneau Provisionnement.
- Cliquez sur le bouton Modifier l’approvisionnement .
- Développez la section Mappages, puis cliquez sur le lien de mappage d’attribut.
- Faites défiler la page Mappages d’attributs. Sélectionnez Afficher les options avancées et cliquez sur le lien Modifier la liste des attributs pour l'API.
- Faites défiler jusqu’à la fin de la page Modifier la liste d’attributs .
- Ajoutez les deux attributs suivants à la liste en tant qu’extensions de schéma SCIM. Vous pouvez utiliser votre propre espace de noms de schéma SCIM.
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode
- Enregistrer vos modifications
Note
Si vous ne souhaitez ajouter que quelques attributs supplémentaires à l’application de provisionnement, utilisez le centre d’administration Microsoft Entra pour étendre le schéma. Si vous souhaitez ajouter d’autres attributs personnalisés (supposons 20 attributs+ ), nous vous recommandons d’utiliser le UpdateSchema mode du script PowerShell CSV2SCIM qui automatise le processus manuel ci-dessus.
Étape 2 : Mapper les attributs personnalisés
Nous allons maintenant ajouter ces extensions au mappage d’attributs de l’application de provisionnement.
Cliquez sur le lien Ajouter un mappage sur la page Mappage d’attributs.
Mappez l’attribut
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDateàemployeeHireDate. Cliquez sur OK.
Ensuite, sélectionnez le mappage existant pour
titleet cliquez dessus pour la modifier.Modifiez le mappage d’attributs pour obtenir une expression incluant
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCodedans le cadre de l’attribut Microsoft EntrajobTitle.Join("", [title], "(", [urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode], ")")Avec ce mappage d’expression, si
titleest « Tour Lead » etJobCodeest « TL-1001 », l’attribut Microsoft EntrajobTitleest défini sur « Tour Lead (TL-1001) ».Enregistrez les mappages d’attributs.
Étape 3 : Charger une requête en bloc avec des attributs personnalisés
- Ouvrez votre client API (Explorateur graphique/cURL).
- Copiez-collez la requête en bloc avec des attributs personnalisés.
- Envoyez la demande en bloc à l’URL du point de terminaison de votre API de provisionnement.
- Après un certain temps, vous pouvez vérifier les journaux de provisionnement pour contrôler le changement d’attribut.
- Vous pouvez également vérifier la modification dans le profil utilisateur Microsoft Entra. La valeur de
Employee hire datereflète le fuseau horaire de votre locataire.
Annexe
Demande en bloc avec attributs personnalisés
La demande en bloc inclut les attributs personnalisés configurés lors des étapes ci-dessus.
Corps de la demande
{
"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
}
