Partage via


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

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

  1. Récupérez les client_id et les client_secret du principal de service qui a accès à l’API d’approvisionnement entrante.
  2. 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é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 en bloc avec le schéma utilisateur SCIM Enterprise 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 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"
    
  5. Une fois le chargement réussi, vous recevrez le code de réponse HTTP 202 Accepté.
  6. 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

  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 du filtre de recherche pour rechercher et ouvrir votre application d’approvisionnement basée sur l’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.

    Capture d’écran des journaux d’approvisionnement dans le menu.

  6. Cliquez sur n’importe quel enregistrement dans les journaux d’approvisionnement pour afficher plus de détails de traitement.

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

Étapes suivantes