Partage via


Démarrage rapide de l’approvisionnement entrant piloté par les API avec cURL

Introduction

cURL est un outil en ligne de commande populaire, gratuit et open source utilisé par les développeurs d’API. 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

Charger des données utilisateur vers l’API d’approvisionnement entrant

  1. Récupérez le client_id et leclient_secret du principal de service qui a accès à l’API de provisionnement entrant.
  2. Utilisez OAuth client_credentials permet au flux d’octroi d’obtenir un jeton d’accès. Remplacez les variables [yourClientId], [yourClientSecret]et [yourTenantId] par les valeurs applicables à votre configuration et exécutez la commande cURL suivante. Copiez la valeur du jeton d’accès générée
    curl -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"
    
  3. Copiez la requête groupée avec SCIM Enterprise User Schema et enregistrez le contenu dans un fichier appelé scim-bulk-upload-users.json.
  4. 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 demande en bloc sur 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"
    
  5. Une fois le chargement réussi, vous recevez le code de réponse HTTP 202 Accepté.
  6. Le service d’approvisionnement commence à traiter immédiatement la charge utile de requête en bloc et vous pouvez voir les détails de l’approvisionnement en accédant aux journaux d’approvisionnement de l’application de provisionnement entrante.

Vérifier le traitement de la charge utile de requête en bloc

  1. Connectez-vous au Centre d’administration Microsoft Entra au minimum en tant qu’Administrateur d’application.

  2. Accédez à Microsoft Entra ID –> Applications –> Applications d'entreprise.

  3. Sous toutes les applications, utilisez la zone de texte filtre de recherche pour rechercher et ouvrir votre application de provisionnement pilotée par les API.

  4. Ouvrez le panneau Provisionnement. La page de destination montre le statut de la dernière exécution.

  5. 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.

    Screenshot of provisioning logs in menu.

  6. Cliquez sur un enregistrement dans les journaux d’approvisionnement pour afficher des détails de traitement supplémentaires.

  7. L’écran détails du journal d’approvisionnement affiche toutes les étapes exécutées pour un utilisateur spécifique.

    • Dans l’étape Importer à partir de l’API , consultez les détails des données utilisateur extraites de la requête en bloc.
    • L’étape Mettre en correspondance 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, traiter uniquement les utilisateurs appartenant au service des 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.

Annexe

Consultez cette section pour plus d’informations sur la demande en bloc avec le schéma utilisateur SCIM Enterprise.

Requête en bloc à l’aide du schéma d’utilisateur d’entreprise SCIM

La requête en bloc illustrée ci-dessous utilise le schéma utilisateur principal standard SCIM et l’utilisateur d’entreprise.

Corps de la demande

{
    "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
}

Étapes suivantes