Partager via


Découvrez comment l’approvisionnement s’intègre aux journaux Azure Monitor

L’approvisionnement s’intègre aux journaux Azure Monitor et à Log Analytics. Grâce à l’analyse Azure, vous pouvez effectuer diverses opérations, comme créer des classeurs, également appelés tableaux de bord, stocker des journaux d’approvisionnement pendant plus de 30 jours et créer des requêtes et des alertes personnalisées. Cet article explique comment l’approvisionnement des journaux est intégré aux journaux Azure Monitor. Pour en savoir plus sur le fonctionnement des journaux d’approvisionnement en général, consultez les journaux d’approvisionnement.

Activation de l’intégration des journaux d’approvisionnement

Si vous n’êtes pas déjà familiarisé avec Azure Monitor et Log Analytics, explorez les ressources suivantes, puis revenez en arrière pour en savoir plus sur l’intégration des journaux d’approvisionnement d’applications avec les journaux Azure Monitor.

Pour intégrer des journaux d’approvisionnement à des journaux Azure Monitor :

  1. Connectez-vous au Centre d’administration Microsoft Entra en tant qu’administrateur de sécurité au moins.

  2. Créez un espace de travail Log Analytics.

  3. Accédez à Entra ID>Surveillance et santé>Paramètres de diagnostic.

    Capture d’écran de l’accès aux paramètres de diagnostic.

  4. Choisissez les journaux que vous souhaitez transférer, sélectionnez l’option Envoyer à l’espace de travail Log Analytics, puis renseignez les champs.

    Capture d'écran de l'activation des journaux de provisionnement d'applications.

  5. Accédez à Entra ID>Surveillance et santé>Analytique des journaux et commencez à interroger les données.

Remarque

Il peut s’écouler un certain temps avant que les journaux n’apparaissent dans Log Analytics après l’activation de l’intégration. Si vous recevez une erreur indiquant que l’abonnement n’est pas inscrit pour utiliser microsoft.insights , revenez après quelques minutes.

Vue d’ensemble des données

Le flux de données sous-jacent que l’approvisionnement envoie aux visionneuses de journaux est presque identique. Les journaux Azure Monitor reçoivent presque le même flux que le Centre d’administration Microsoft Entra et l’API Microsoft Graph. Il n’existe que quelques différences dans les champs des journaux, comme indiqué dans le tableau suivant. Log Analytics peut afficher plus d’événements que les journaux dans le Centre d’administration Microsoft Entra. Pour en savoir plus sur ces champs, consultez List provisioningObjectSummary.

Journaux d’activité Azure Monitor Interface utilisateur du portail Azure API Azure
descriptionErreur reason (Raison) description du résultat
statut type de résultat type de résultat
activityDateTime Temporisé Temporisé

Classeurs Microsoft Entra

Les classeurs d’identité Microsoft Entra fournissent un canevas flexible pour l’analyse des données. Ils permettent également de créer des rapports visuels enrichis au sein du Portail Azure. Pour en savoir plus, consultez Microsoft Entra Workbooks.

L’analyse d’approvisionnement et les aperçus d’approvisionnement sont deux des classeurs prédéfinis disponibles. Pour afficher les données, assurez-vous que tous les filtres (timeRange, jobID, appName) sont remplis. Vérifiez également que l’application a été approvisionnée, sinon les journaux ne contiennent aucune donnée.

Cahiers de configuration des applications

Tableau de bord d’approvisionnement d’applications

Requêtes personnalisées

Vous pouvez créer des requêtes personnalisées et afficher les données dans vos classeurs. Pour en savoir plus, consultez Bien démarrer avec les requêtes de journal dans Azure Monitor et les requêtes de journal dans Azure Monitor.

Voici quelques exemples pour prendre en main les journaux d’approvisionnement d’applications.

Interroger les journaux d’un utilisateur en fonction de son ID dans le système source :

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| where tostring(SourceIdentity.Id) == "49a4974bb-5011-415d-b9b8-78caa7024f9a"

Total par ErrorCode :

AADProvisioningLogs
| summarize count() by ErrorCode = ResultSignature

Total d’événements par jour et par action :

AADProvisioningLogs
| where TimeGenerated > ago(7d)
| summarize count() by Action, bin(TimeGenerated, 1d)

Prenez 100 événements et les propriétés de clé du projet :

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| extend TargetIdentity = parse_json(TargetIdentity)
| extend ServicePrincipal = parse_json(ServicePrincipal)
| where tostring(SourceIdentity.identityType) == "Group"
| project tostring(ServicePrincipal.Id), tostring(ServicePrincipal.Name), ModifiedProperties, JobId, Id, CycleId, ChangeId, Action, SourceIdentity.identityType, SourceIdentity.details, TargetIdentity.identityType, TargetIdentity.details, ProvisioningSteps
| take 100

Récupérez des groupes avec des membres ignorés en raison de problèmes de résolution des références.

AADProvisioningLogs
| where TimeGenerated >= ago(10d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend SourceIdentity = parse_json(SourceIdentity)
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| where tostring(SourceIdentity.identityType) == "Group"
| where ProvisioningSteps matches regex "UnableToResolveReferenceAttributeValue"
| parse tostring(ProvisioningSteps.[2].description) with "We were unable to assign " userObjectId " as the members of " groupDisplayName "." *
| project groupDisplayName, userObjectId,  JobId
| take 100

Résumez les actions par application.

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, JobId
| order by JobId asc
| take 5

Identifiez les pics dans des opérations spécifiques.

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "scim.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, bin(TimeGenerated, 1d)
| render timechart

Alertes personnalisées

Azure Monitor vous permet de configurer des alertes personnalisées afin de recevoir des notifications sur les principaux événements liés à l’approvisionnement. Par exemple, vous souhaiterez peut-être recevoir une alerte en cas de pics dans les échecs, dans les désactivations ou dans les suppressions. Vous pouvez également être averti s’il n’y a pas d’approvisionnement, ce qui indique que quelque chose est incorrect.

Pour en savoir plus sur les alertes, consultez Alertes de journal Azure Monitor. Il existe de nombreuses options et configurations. Consultez donc la documentation complète. Mais à un niveau élevé, voici comment créer une alerte :

  1. Dans Log Analytics, sélectionnez + Nouvelle règle d’alerte.
  2. Sous l’onglet Condition, sélectionnez le lien Afficher le résultat et modifier la requête dans les Journaux.
  3. Entrez une requête sur laquelle vous souhaitez alerter et renseignez les champs nécessaires pour créer l’alerte.

Pour créer une alerte en cas de pic d’échecs :

AADProvisioningLogs
| where JobId == "string" // Customize by adding a specific app JobId
| where ResultType == "Failure"

Il peut y avoir un problème qui a provoqué l’arrêt de l’exécution du service d’approvisionnement. Utilisez la requête suivante pour détecter s’il n’existe aucun événement d’approvisionnement pendant un intervalle de temps donné.

AADProvisioningLogs
| take 1

Pour créer une alerte en cas de pic de désactivations ou de suppressions :

AADProvisioningLogs
| where Action in ("Disable", "Delete")

Contributions de la communauté

Nous adoptons une approche open source et basée sur la communauté pour les requêtes et les tableaux de bord d’approvisionnement des applications. Créez une requête, une alerte ou un classeur que vous pensez être utile à d’autres personnes, puis publiez-la dans le dépôt GitHub AzureMonitorCommunity. Envoyez-nous un e-mail avec un lien. Nous examinons et publions des requêtes et des tableaux de bord sur le service afin que d’autres utilisateurs en bénéficient. Contactez-nous à l’adresse provisioningfeedback@microsoft.com.

Étapes suivantes