Partager via


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

Ce tutoriel explique comment tester rapidement le provisionnement entrant piloté par les API avec l’explorateur Microsoft Graph.

Conditions préalables

Notes

Cette API d’approvisionnement est principalement destinée à être utilisée au sein d’une application ou d’un service. Les administrateurs de locataire peuvent configurer un principal de service ou une identité managée pour accorder l’autorisation d’effectuer le chargement. Il n’existe pas de rôle d’annuaire intégré Microsoft Entra distinct assignable par l’utilisateur pour cette API. En dehors des applications qui ont acquis l’autorisation SynchronizationData-User.Upload avec le consentement de l’administrateur, seuls les utilisateurs administrateurs disposant du rôle Administrateur général peuvent appeler l’API. Ce tutoriel montre comment tester l’API avec un rôle d’administrateur général dans votre configuration de test.

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

  1. Ouvrez une nouvel onglet ou une nouvelle fenêtre de navigateur.

  2. Lancez l’URL https://aka.ms/ge pour accéder à l’explorateur Microsoft Graph.

  3. Cliquez sur l’icône de profil utilisateur pour vous connecter.

    Image montrant l’icône de profil utilisateur.

  4. Terminez le processus de connexion avec un compte d’utilisateur qui a le rôle Administrateur général.

  5. Une fois la connexion réussie, les informations de locataire indiquent le nom de votre locataire.

    Capture d’écran du nom du locataire.

    Vous êtes maintenant prêt à appeler l’API.

  6. Dans le panneau de requête d’API, définissez le type de requête HTTP sur POST.

  7. Copiez et collez le point de terminaison de l’API d’approvisionnement récupéré à partir de la page vue d’ensemble de l’application d’approvisionnement.

  8. Sous le panneau En-têtes de demande, ajoutez une nouvelle paire clé-valeur content-type = application/scim+json. Capture d’écran du panneau En-têtes de demande.

  9. Sous le panneau Corps de la demande, copiez-collez la demande en bloc avec le schéma utilisateur SCIM Enterprise

  10. Cliquez sur le bouton Exécuter la requête pour envoyer la requête au point de terminaison de l’API d’approvisionnement.

  11. Si la demande est envoyée avec succès, vous obtiendrez une réponse Accepted 202 du point de terminaison de l’API.

  12. Ouvrez le panneau En-têtes de réponse et copiez la valeur d’URL de l’attribut de localisation. Cela pointe vers le point de terminaison d’API des journaux d’approvisionnement que vous pouvez interroger pour vérifier l’état d’approvisionnement des utilisateurs présents dans la demande en bloc.

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

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
}
Vous pouvez vérifier le traitement à partir du Centre d’administration Microsoft Entra ou à l’aide de l’explorateur Graph.

Vérifier le traitement sur le centre d’administration Microsoft Entra

  1. Connectez-vous au Centre d’administration Microsoft Entra avec au moins des informations d’identification d’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.

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

  6. Cliquez sur n’importe quel 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.

Vérifier le traitement à l’aide de l’API journaux d’approvisionnement dans l’explorateur Graph

Vous pouvez inspecter le traitement à l’aide de l’URL d’API des journaux d’approvisionnement retournée dans l’en-tête de réponse de localisation dans l’appel d’API d’approvisionnement.

  1. Dans la zone de texte URL de requête de l’explorateur Graph, copiez-collez l’URL de localisation retournée par le point de terminaison de l’API d’approvisionnement ou vous pouvez la construire au format : https://graph.microsoft.com/beta/auditLogs/provisioning/?$filter=jobid eq '<jobId>' où vous pouvez récupérer le jobId à partir de la page vue d’ensemble de l’application d’approvisionnement.
  2. Utilisez la méthode GET et cliquez sur Exécuter la requête pour récupérer les journaux d’approvisionnement. Par défaut, la réponse retournée contient tous les enregistrements de journal.
  3. Vous pouvez définir d’autres filtres pour récupérer des données uniquement après un certain délai d'exécution ou avec une valeur d’état spécifique. https://graph.microsoft.com/beta/auditLogs/provisioning/?$filter=jobid eq '<jobId> and statusInfo/status eq 'failure' and activityDateTime ge 2022-10-10T09:47:34Z Vous pouvez également vérifier l’état de l’utilisateur par la valeur externalId utilisée dans votre système source qui est utilisée comme propriété d’ancrage/jointure source. https://graph.microsoft.com/beta/auditLogs/provisioning/?$filter=jobid eq '<jobId>' and sourceIdentity/id eq '701984'

Annexe

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

La requête en bloc ci-dessous utilise le schéma SCIM standard d’utilisateur principal et d’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