Démarrage rapide : Prise en main du provisionnement entrant piloté par l’API à l’aide de cURL
Introduction
cURL est un outil en ligne de commande populaire, libre, open source, utilisé par les développeurs d’API, et il est disponible par défaut sur Windows 10/11. Ce tutoriel explique comment tester rapidement le provisionnement entrant piloté par les API avec cURL.
Conditions préalables
- Vous avez configuré application d’approvisionnement entrante pilotée par l’API.
- Vous avez configuré un principal de service qui a accès à l’API d’approvisionnement entrant. Notez le
ClientId
et leClientSecret
de l’application de votre principal du service à utiliser dans ce tutoriel.
Charger des données utilisateur dans l’API d’approvisionnement entrant
- Récupérez les client_id et les client_secret du principal de service qui a accès à l’API d’approvisionnement entrante.
- Utilisez le flux d’octroi client_credentials OAuth pour obtenir un jeton d’accès. Remplacez les variables
[yourClientId]
,[yourClientSecret]
et[yourTenantId]
par des valeurs applicables à votre configuration et exécutez la commande cURL suivante. Copier la valeur du jeton d’accès généréecurl -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"
- Copiez la requête en bloc avec le schéma utilisateur SCIM Enterprise et enregistrez le contenu dans un fichier appelé
scim-bulk-upload-users.json
. - Remplacez la variable
[InboundProvisioningAPIEndpoint]
par le point de terminaison de l’API d’approvisionnement associé à votre application d’approvisionnement. Utilisez la valeur[AccessToken]
de l’étape précédente et exécutez la commande curl suivante pour charger la requête en bloc vers le point de terminaison de l’API d’approvisionnement.curl -v "[InboundProvisioningAPIEndpoint]" -d @scim-bulk-upload-users.json -H "Authorization: Bearer [AccessToken]" -H "Content-Type: application/scim+json"
- Une fois le chargement réussi, vous recevrez le code de réponse HTTP 202 Accepté.
- Le service d’approvisionnement commence à traiter immédiatement la charge utile de demande en bloc et vous pouvez voir les détails de l’approvisionnement en accédant aux journaux d’activité d’approvisionnement de l’application d’approvisionnement entrante.
Vérifier le traitement de la charge utile de requête en bloc
Connectez-vous au Centre d’administration Microsoft Entra au minimum en tant qu’Administrateur d’application.
Accédez à Microsoft Entra ID –> Applications –> Applications d'entreprise.
Sous toutes les applications, utilisez la zone de texte du filtre de recherche pour rechercher et ouvrir votre application d’approvisionnement basée sur l’API.
Ouvrez le panneau Provisionnement. La page de destination montre le statut de la dernière exécution.
Cliquez sur Afficher les journaux d’approvisionnement pour ouvrir le panneau journaux d’approvisionnement. Vous pouvez également cliquer sur l’option de menu Surveiller -> Journaux d’approvisionnement.
Cliquez sur n’importe quel enregistrement dans les journaux d’approvisionnement pour afficher plus de détails de traitement.
L’écran détails du journal d’approvisionnement affiche toutes les étapes exécutées pour un utilisateur spécifique.
- Sous l’étape Importer à partir de l’API, consultez les détails des données utilisateur extraites de la requête en bloc.
- L’étape Faire correspondre l’utilisateur affiche les détails de toute correspondance utilisateur en fonction de l’identificateur correspondant. Si une correspondance utilisateur se produit, le service d’approvisionnement effectue une opération de mise à jour. S’il n’existe aucune correspondance utilisateur, le service d’approvisionnement effectue une opération de création.
- L’étape Déterminer si l’utilisateur est dans l’étendue affiche les détails de l’évaluation du filtre d’étendue. Par défaut, tous les utilisateurs sont traités. Si vous avez défini un filtre d’étendue (par exemple, traitez uniquement les utilisateurs appartenant au service Ventes), les détails de l’évaluation du filtre d’étendue s’affichent à cette étape.
- L’étape Provisionner l’utilisateur appelle l’étape de traitement finale et les modifications appliquées au compte d’utilisateur.
- Utilisez l’onglet Propriétés modifiées pour afficher les mises à jour des attributs.
Appendice
Consultez cette section pour plus d’informations sur la demande en bloc avec le schéma utilisateur SCIM Enterprise.
Requête en bloc avec schéma utilisateur SCIM Enterprise
La requête en bloc présentée ci-dessous utilise le Schéma de l'utilisateur de base standard SCIM et le Schéma de l'utilisateur d'entreprise.
Corps de la requête
{
"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
}