Comment télécharger et analyser les journaux d’approvisionnement Microsoft Entra
Les journaux d'approvisionnement Microsoft Entra fournissent des détails sur les événements d’approvisionnement qui se produisent dans votre client. Vous pouvez utiliser les informations capturées dans les journaux d’approvisionnement pour résoudre les problèmes liés à un utilisateur provisionné.
Cet article décrit les options de téléchargement des journaux d’approvisionnement à partir du centre d'administration Microsoft Entra et comment analyser les journaux. Des codes d’erreur et des considérations spéciales sont également inclus.
Prérequis
Pour afficher les journaux d’approvisionnement, votre client doit être associé à une licence Microsoft Entra ID P1 ou P2. Pour changer de niveau votre édition Microsoft Entra, consultez Démarrage avec Microsoft Entra ID P1 ou P2.
Les propriétaires d’applications peuvent afficher les journaux de leurs propres applications. Les rôles suivants sont nécessaires pour afficher les journaux d’approvisionnement :
- Lecteur de rapports
- Lecteur de sécurité
- Opérateur de sécurité
- Administrateur de la sécurité
- Administrateur d’application
- Administrateur d'applications cloud
- Utilisateurs dans un rôle personnalisé avec l’autorisation provisioningLogs
Comment afficher les journaux d’approvisionnement
Il existe plusieurs façons d’afficher ou d’analyser les journaux d’approvisionnement :
- Consultez dans le centre d’administration Microsoft Entra.
- Diffusez les journaux sur Azure Monitor via les paramètres de diagnostic.
- Analyser les journaux via des modèles de classeur.
- Accéder aux journaux de manière programmatique via l’API Microsoft Graph.
- Télécharger des journaux en tant que fichier CSV ou JSON.
Conseil
Les étapes décrites dans cet article peuvent varier légèrement en fonction du portail de départ.
Pour accéder aux journaux dans le centre d'administration Microsoft Entra :
- Connectez-vous au centre d’administration Microsoft Entra en tant que Lecteur de rapports.
- Accédez à Identité>Surveillance et intégrité>Journaux d’approvisionnement.
Comment télécharger les journaux d’approvisionnement
Pour télécharger les journaux d’approvisionnement, sélectionnez Télécharger dans la page Journaux d’approvisionnement. Définissez des filtres aussi précis que possible pour réduire la taille et le temps de téléchargement.
Format CSV
Le téléchargement CSV inclut trois fichiers :
- ProvisioningLogs : Télécharge tous les journaux, à l’exception des étapes d’approvisionnement et des propriétés modifiées.
- ProvisioningLogs_ProvisioningSteps : Contient les étapes d’approvisionnement et l’ID de la modification. Vous pouvez vous servir de l’ID de modification pour joindre l’événement aux deux autres fichiers.
- ProvisioningLogs_ModifiedProperties : Contient les attributs qui ont été modifiés et l’ID de la modification. Vous pouvez vous servir de l’ID de modification pour joindre l’événement aux deux autres fichiers.
Format JSON
Pour ouvrir le fichier JSON, utilisez un éditeur de texte comme Microsoft Visual Studio Code. Visual Studio Code facilite la lecture du fichier grâce à la coloration syntaxique. Vous pouvez également ouvrir le fichier JSON en utilisant des navigateurs dans un format non modifiable, par exemple Microsoft Edge.
Mise en forme du fichier JSON
Le fichier JSON est téléchargé dans un format permettant de réduire la taille du téléchargement. Ce format peut rendre la charge utile difficile à lire. Pour améliorer le fichier, il existe deux options :
Utiliser Visual Studio Code pour mettre en forme le fichier JSON.
Utiliser PowerShell pour mettre en forme le fichier JSON. Ce script génère le fichier JSON dans un format comportant des tabulations et des espaces :
$JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON
$JSONContent | ConvertTo-Json > <PATH TO OUTPUT THE JSON FILE>
Analyse du fichier JSON
Vous pouvez faire appel à n’importe quel langage de programmation que vous connaissez. Les exemples suivants sont dans PowerShell.
-
$JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON
Vous pouvez maintenant analyser les données suivant votre scénario. Voici quelques exemples :
Afficher tous les ID de tâche du fichier JSON :
foreach ($provitem in $JSONContent) { $provitem.jobId }
Afficher tous les ID de modification des événements dont l’action était « créer » :
foreach ($provitem in $JSONContent) {
if ($provItem.action -eq 'Create') {
$provitem.changeId
}
}
Ce que vous devez savoir
Voici quelques conseils et considérations à prendre en compte pour l’analyse des journaux d’approvisionnement :
Le centre d’administration Microsoft Entra stocke les données de provisionnement des rapports pendant 30 jours avec une édition Premium et pendant 7 jours avec une édition gratuite. Vous pouvez router les journaux d'approvisionnement vers des journaux Azure Monitor à des fins de rétention au-delà de 30 jours.
Vous pouvez utiliser l’attribut d’ID de modification comme identificateur unique, ce qui peut être utile lorsque vous interagissez avec le support technique du produit, par exemple.
Il est possible que vous voyiez des événements ignorés pour les utilisateurs qui ne sont pas concernés.
- Exemple 1 : si l’étendue est définie sur
all users and groups
et que vous configurez des filtres d’étendue, vous pouvez voir les journaux ignorés pour les utilisateurs qui ne répondent pas aux critères d’étendue. - Exemple 2 : si l’étendue est définie sur
assigned users and groups
, vous pouvez continuer à voir les utilisateurs dans les journaux comme ignorés, même s’ils ne sont pas attribués à l’application. La façon dont le service d’approvisionnement reçoit les modifications de l’annuaire entraîne l’apparition de ces utilisateurs.
- Exemple 1 : si l’étendue est définie sur
Les journaux d’approvisionnement n’affichent pas les importations de rôle (s’applique à Amazon Web Services, Salesforce et Zendesk). Vous trouverez les journaux des importations de rôle dans les journaux d’audit.
Codes d’erreur
Appuyez-vous sur le tableau suivant pour mieux comprendre comment résoudre les erreurs que vous trouvez dans les journaux d'approvisionnement.
Code d’erreur | Description |
---|---|
Conflit, EntryConflict |
Corrigez les valeurs d'attribut contradictoires dans Microsoft Entra ID ou dans l'application. Vous pouvez également passer en revue votre configuration d’attributs de correspondance si le compte d’utilisateur en conflit était censé être mis en correspondance et pris en charge. Pour plus de détails sur les mappages d’attributs, consultez Personnalisation des mappages d’attributs d’attribution d’utilisateurs pour les applications SaaS dans Microsoft Entra ID. |
TooManyRequests | L’application cible a rejeté cette tentative de mise à jour de l’utilisateur, car elle reçoit trop de requêtes. Il n’y a rien à faire. Cette tentative est automatiquement retentée et Microsoft a été averti de ce problème. |
InternalServerError | L’application cible a retourné une erreur inattendue. Il se peut qu’un problème de service lié à l’application cible l’empêche de fonctionner. Cette tentative sera automatiquement réessayée dans 40 minutes. |
InsufficientRights, MethodNotAllowed, NotPermitted, Non autorisé |
Microsoft Entra ID s'est authentifié auprès de l'application cible mais n'a pas été autorisé à effectuer la mise à jour. Passez en revue toutes les instructions fournies par l'application cible, ainsi que le tutoriel de l'application correspondante. Pour plus d’informations, consultez Intégration d'applications avec Microsoft Entra ID. |
UnprocessableEntity | L’application cible a renvoyé une réponse inattendue. Il se peut que la configuration de l’application cible ne soit pas correcte ou qu’un problème de service lié à l’application cible l’empêche de fonctionner. |
WebExceptionProtocolError | Une erreur de protocole HTTP s’est produite lors de la connexion à l’application cible. Il n’y a rien à faire. Cette tentative sera automatiquement réessayée dans 40 minutes. |
InvalidAnchor | Un utilisateur qui a été précédemment créé ou mis en correspondance par le service d’approvisionnement n’existe plus. Vérifiez que l’utilisateur existe. Pour forcer une nouvelle correspondance de tous les utilisateurs, utilisez l’API Microsoft Graph pour redémarrer le travail. Le redémarrage de l’approvisionnement déclenche un cycle initial, ce qui peut prendre du temps. Le redémarrage d’approvisionnement supprime également le cache utilisé par le service d’approvisionnement pour fonctionner. De ce fait, tous les utilisateurs et groupes du client doivent être réévalués, et certains évènements d’approvisionnement risquent d’être abandonnés. |
NotImplemented | L’application cible a retourné une réponse inattendue. Il se peut que la configuration de l’application ne soit pas correcte ou qu’un problème de service lié à l’application cible l’empêche de fonctionner. Passez en revue toutes les instructions fournies par l'application cible, ainsi que le tutoriel de l'application correspondante. Pour plus d’informations, consultez Intégration d'applications avec Microsoft Entra ID. |
MandatoryFieldsMissing, MissingValues |
L’utilisateur n’a pas pu être créé, car des valeurs requises sont manquantes. Corrigez les valeurs d’attribut manquantes dans l’enregistrement source ou vérifiez dans votre configuration d’attributs de correspondance qu’aucun champ obligatoire n’est omis. Pour plus de détails, consultez Personnalisation des mappages d’attributs de l’attribution d’utilisateurs pour les applications SaaS dans Microsoft Entra ID. |
SchemaAttributeNotFound | L’opération n’a pas pu être effectuée, car l’un des attributs spécifiés n’existe pas dans l’application cible. Vérifiez que votre configuration est correcte en faisant référence à Personnaliser les mappages d’attributs d’approvisionnement d’utilisateurs pour les applications SaaS dans Microsoft Entra ID. |
InternalError | Une erreur de service interne s’est produite au sein du service d'approvisionnement Microsoft Entra. Il n’y a rien à faire. Cette tentative sera automatiquement réessayée dans 40 minutes. |
InvalidDomain | L’opération n’a pas pu être effectuée, car une valeur d’attribut contient un nom de domaine non valable. Mettez à jour le nom de domaine sur l’utilisateur ou ajoutez-le à la liste autorisée dans l’application cible. |
Délai d'expiration | L’opération n’a pas pu aboutir, car l’application cible a mis trop de temps à répondre. Il n’y a rien à faire. Cette tentative sera automatiquement réessayée dans 40 minutes. |
LicenseLimitExceeded | L’utilisateur n’a pas pu être créé dans l’application cible, car il n’existe aucune licence disponible pour cet utilisateur. Procurez-vous des licences supplémentaires pour l’application cible. Vous pouvez également passer en revue vos affectations d’utilisateurs et votre configuration de mappage des attributs pour vérifier que les utilisateurs possèdent les attributs appropriés. |
DuplicateTargetEntries | L’opération n’a pas pu aboutir, car plusieurs utilisateurs ont été trouvés dans l’application cible avec les attributs de correspondance configurés. Supprimez l’utilisateur en doublon de l’application cible ou reconfigurez vos mappages d’attributs. Pour plus de détails, consultez Personnalisation des mappages d’attributs de l’attribution d’utilisateurs pour les applications SaaS dans Microsoft Entra ID. |
DuplicateSourceEntries | L’opération n’a pas pu aboutir, car plusieurs utilisateurs ont été trouvés avec les attributs de correspondance configurés. Supprimez l’utilisateur en doublon ou reconfigurez vos mappages d’attributs. Pour plus de détails, consultez Personnalisation des mappages d’attributs de l’attribution d’utilisateurs pour les applications SaaS dans Microsoft Entra ID. |
ImportSkipped | Lors de l’évaluation d’un utilisateur, le système tente de l’importer à partir du système source. Cette erreur se produit généralement lorsque la propriété de correspondance définie dans les mappages d’attributs n’a pas été attribuée à l’utilisateur importé. En l’absence de valeur sur l’objet utilisateur pour l’attribut de correspondance, le système ne peut pas évaluer l’étendue ni la correspondance, ni exporter les modifications. La présence de cette erreur n’indique pas que l’utilisateur est concerné, car son étendue n’a pas encore été évaluée. |
EntrySynchronizationSkipped | Le service d’approvisionnement a correctement interrogé le système source et identifié l'utilisateur. Aucune autre mesure n'a été prise à l'égard de l'utilisateur et il a été ignoré. Il se peut que l’utilisateur ne soit pas concerné ou qu’il existe déjà dans le système cible sans qu’aucune autre modification soit nécessaire. |
SystemForCrossDomainIdentity ManagementMultipleEntriesInResponse |
Une requête GET visant à récupérer un utilisateur ou un groupe a reçu plusieurs utilisateurs ou groupes dans la réponse. Le système s’attend à ne recevoir qu’un seul utilisateur ou groupe dans la réponse. Par exemple, si vous effectuez une requête GET Group pour récupérer un groupe et indiquez un filtre pour exclure des membres, et que votre point de terminaison SCIM (System for Cross-Domain Identity Management) retourne les membres, vous recevez cette erreur. |
SystemForCrossDomainIdentity ManagementServiceIncompatible |
Le service d’approvisionnement Microsoft Entra ne parvient pas à analyser la réponse de l’application non Microsoft. Travaillez avec le développeur d'applications pour vous assurer que le serveur SCIM est compatible avec le client Microsoft Entra SCIM. |
SchemaPropertyCanOnlyAcceptValue | La propriété dans le système cible ne peut accepter qu’une seule valeur, alors que la propriété dans le système source en a plusieurs. Veillez à mapper un attribut à valeur unique à la propriété qui génère une erreur, mettre à jour la valeur dans la source pour qu’elle soit à valeur unique ou supprimer l’attribut des mappages. |
Codes d’erreur pour la synchronisation entre clients
Utilisez le tableau suivant pour mieux comprendre comment résoudre les erreurs que vous trouvez dans les journaux d'approvisionnement pour la synchronisation entre clients.
Code d’erreur | Cause | Solution |
---|---|---|
AzureActiveDirectoryCannot UpdateObjectsOriginated InExternalService |
La source d’autorité pour l’utilisateur est Exchange Online. Le service d’approvisionnement ne peut pas mettre à jour un ou plusieurs attributs Exchange pour l’utilisateur (par ex. extensionAttribute 1-15). Cela affecte les utilisateurs qui existaient dans le client cible lorsque la propriété dirSyncEnabled est passée de « True » à « False ». | Mettez à jour l’attribut directement dans l’Exchange Online du client cible. Par exemple : Set-MailUser -Identity CloudMailUser5 -CustomAttribute2 "Updated with EXO PowerShell" |
Microsoft Entra ID CannotUpdateObjectsOriginated InExternalService |
Le moteur de synchronisation n'a pas pu mettre à jour une ou plusieurs propriétés de l’utilisateur dans le client cible. L’opération a échoué dans l’API Microsoft Graph en raison de l’application de la source d’autorité (SOA). Actuellement, les propriétés suivantes apparaissent dans la liste : Mail showInAddressList |
Dans certains cas (par exemple quand la propriété showInAddressList fait partie de la mise à jour utilisateur), le moteur de synchronisation peut réessayer automatiquement la mise à jour (utilisateur) sans la propriété dont la valeur ne convient pas. Sinon, vous devez mettre à jour la propriété directement dans le client cible. |
AzureDirectory B2BManagementPolicy CheckFailure |
La stratégie de synchronisation entre clients autorisant l’échange automatique a échoué. Le moteur de synchronisation vérifie que l'administrateur du client cible a créé une stratégie de synchronisation entre clients entrants permettant l’échange automatique. Le moteur de synchronisation vérifie également si l'administrateur du client source a activé une stratégie sortante pour l’échange automatique. |
Assurez-vous que le paramètre d’échange automatique a été activé pour les clients source et cible. Pour plus d’informations, consultez Paramètre d’échange automatique. |
Microsoft Entra ID QuotaLimitExceeded |
Le nombre d’objets dans le client dépasse la limite de l’annuaire. Microsoft Entra ID a des limites quant au nombre d'objets pouvant être créés dans un client. |
Vérifiez si le quota peut être augmenté. Pour plus d'informations sur les limites d'annuaire et les étapes permettant d'augmenter le quota, consultez Limites et restrictions du service Microsoft Entra. |
InvitationCreationFailure | Le service d’approvisionnement Microsoft Entra a tenté d’inviter l’utilisateur dans le client cible. Cette invitation a échoué. | Un examen approfondi nécessite probablement de contacter le support technique. |
InvitationCreationFailureUserAccountDisabled | Le service d’approvisionnement Microsoft Entra a tenté d’inviter l’utilisateur dans le client cible. Cette invitation a échoué. | L’utilisateur existe dans le client cible, mais le compte est désactivé et l’invitation est en attente. Activez le compte d’utilisateur dans le client cible et tentez d’attribuer de nouveau l’utilisateur. |
Microsoft Entra ID Interdit |
Les paramètres de collaboration externe ont bloqué les invitations. | Accédez aux paramètres utilisateur, puis vérifiez que les paramètres de collaboration externe sont autorisés. |
InvitationCreation FailureInvalidPropertyValue |
Causes potentielles : * L’adresse SMTP principale est une valeur non valable. * UserType n'a pas le statut d’invité ni de membre * L'adresse e-mail du groupe n'est pas prise en charge |
Solutions potentielles : * L’adresse SMTP principale contient une valeur non valable. La résolution de ce problème nécessite probablement la mise à jour de la propriété de courrier de l’utilisateur source. Pour plus d’informations, consultez Préparer la synchronisation d’annuaires sur Microsoft 365 * Vérifiez que la propriété userType est approvisionnée en tant qu’invitée ou membre de type. Vérifiez vos mappages d’attributs pour comprendre comment l’attribut userType est mappé. * L'adresse e-mail de l'utilisateur correspond à l'adresse e-mail d'un groupe du client. Mettez à jour l’adresse e-mail de l’un des deux objets. |
InvitationCreation FailureAmbiguousUser |
L’utilisateur invité a une adresse proxy qui correspond à un utilisateur interne dans le client cible. L’adresse proxy doit être unique. | Pour résoudre cette erreur, supprimez l’utilisateur interne existant dans le client cible ou supprimez cet utilisateur de l’étendue de synchronisation. |
Microsoft Entra ID CannotUpdateObjects MasteredOnPremises |
Si l'utilisateur du client cible a été initialement synchronisé d'AD vers Microsoft Entra ID et converti en utilisateur externe, la source d'autorité est toujours sur site et l'utilisateur ne peut pas être mis à jour. | L'utilisateur ne peut pas être mis à jour par la synchronisation entre clients. |
EntityTypeNotSupported | Les groupes peuvent être utilisés pour déterminer quels utilisateurs sont concernés par l’approvisionnement. Les groupes d’objets ne peuvent pas être synchronisés. | Aucune action du client n’est nécessaire. Il s’agit d’un événement ignoré. Si vous utilisez l’approvisionnement à la demande, veillez à choisir un utilisateur plutôt qu’un groupe à attribuer. |