Share via


Archiver les journaux et créer des rapports sur la gestion des droits d’utilisation dans Azure Monitor

Microsoft Entra ID stocke les événements d’audit jusqu’à un maximum de 30 jours dans le journal d’audit. Toutefois, vous pouvez conserver les données d’audit au-delà de la période de conservation par défaut fournie dans Pendant combien de temps les données de rapport sont-elles conservées par Microsoft Entra ID ? en les routant vers un compte de stockage Azure ou en utilisant Azure Monitor. Vous pouvez ensuite utiliser des classeurs, ainsi que des rapports et des requêtes personnalisés sur ces données.

Configurer Microsoft Entra ID pour utiliser Azure Monitor

Conseil

Les étapes décrites dans cet article pourraient varier légèrement en fonction du portail de départ.

Avant d’utiliser les classeurs Azure Monitor, vous devez configurer Microsoft Entra ID pour envoyer une copie de ses journaux d’audit à Azure Monitor.

L’archivage des journaux d’audit Microsoft Entra nécessite d’avoir Azure Monitor dans un abonnement Azure. Vous pouvez en savoir plus sur les prérequis et les coûts estimés de l’utilisation d’Azure Monitor dans Journaux d’activité Microsoft Entra dans Azure Monitor.

Rôle prérequis : Administrateur général

  1. Connectez-vous au centre d'administration Microsoft Entra en tant qu'administrateur global. Vérifiez que vous avez accès au groupe de ressources contenant l’espace de travail Azure Monitor.

  2. Accédez à Identité>Surveillance et intégrité>Paramètres de diagnostic.

  3. Vérifiez s’il existe déjà un paramètre pour envoyer les journaux d’audit à cet espace de travail.

  4. Si aucun paramètre n’est encore défini, sélectionnez Ajouter un paramètre de diagnostic. Utilisez les instructions fournies dans Intégrer des journaux d’activité Microsoft Entra aux journaux d’activité Azure Monitor pour envoyer le journal d’audit Microsoft Entra à l’espace de travail Azure Monitor.

    Diagnostics settings pane

  5. Une fois le journal envoyé à Azure Monitor, sélectionnez Espaces de travail Log Analytics, puis sélectionnez l’espace de travail qui contient les journaux d’audit Microsoft Entra.

  6. Sélectionnez Utilisation et estimation des coûts, puis sélectionnez Conservation des données. Réglez le curseur sur le nombre de jours où vous souhaitez conserver les données pour satisfaire à vos exigences d’audit.

    Log Analytics workspaces pane

  7. Plus tard, pour voir la plage de dates conservées dans votre espace de travail, vous pouvez utiliser le classeur Plage de dates du journal archivé :

    1. Accédez à Identité>Surveillance et intégrité>Classeurs.

    2. Développez la section Résolution des problèmes de Microsoft Entra, puis sélectionnez Plage de dates du journal archivé.

Visualiser les événements pour un package d’accès

Pour voir les événements d’un package d’accès, vous devez avoir accès à l’espace de travail Azure Monitor sous-jacent (pour plus d’informations, consultez Gérer l’accès aux données du journal et les espaces de travail dans Azure Monitor) et dans un des rôles suivants :

  • Administrateur général
  • Administrateur de sécurité
  • Lecteur de sécurité
  • Lecteur de rapports
  • Administrateur d’application

Utilisez la procédure suivante pour voir les événements :

  1. Dans le centre d’administration Microsoft Entra, sélectionnez Identité, puis Classeurs. Si vous n’avez qu’un seul abonnement, passez à l’étape 3.

  2. Si vous avez plusieurs abonnements, sélectionnez l’abonnement qui contient l’espace de travail.

  3. Sélectionnez le classeur nommé Activité du package d’accès.

  4. Dans ce classeur, sélectionnez une plage de temps (changez-la en Tout si vous n’êtes pas sûr), puis sélectionnez un ID de package d’accès dans la liste déroulante de tous les packages d’accès ayant eu une activité pendant cette période. Les événements liés au package d’accès qui se sont produits pendant l’intervalle de temps sélectionné s’affichent.

    View access package events

    Chaque ligne comprend l’heure, l’ID de package d’accès, le nom de l’opération, l’ID d’objet, l’UPN et le nom complet de l’utilisateur qui a démarré l’opération. Des détails supplémentaires sont inclus dans le JSON.

  5. Pour voir si des modifications ont été apportées aux attributions de rôle d’application non destinées aux attributions de package d’accès (par un administrateur général attribuant directement un rôle d’application à un utilisateur, par exemple), vous pouvez sélectionner le classeur nommé Activité d’attribution de rôle d’application.

    View app role assignments

Créer des requêtes Azure Monitor personnalisées à l’aide du centre d’administration Microsoft Entra

Vous pouvez créer vos propres requêtes sur les événements d’audit Microsoft Entra, y compris les événements de gestion des droits d’utilisation.

  1. Dans Identité du centre d’administration Microsoft Entra, sélectionnez Journaux sous la section Surveillance dans le menu de navigation gauche pour créer une nouvelle page de requête.

  2. Votre espace de travail doit être affiché dans l’angle supérieur gauche de la page de requête. Si vous avez plusieurs espaces de travail Azure Monitor et que l’espace de travail que vous utilisez pour stocker les événements d’audit Microsoft Entra ne s’affiche pas, choisissez Sélectionner l’étendue. Sélectionnez alors l’abonnement et l’espace de travail appropriés.

  3. Ensuite, dans la zone de texte de requête, supprimez la chaîne « search * » et remplacez-la par la requête suivante :

    AuditLogs | where Category == "EntitlementManagement"
    
  4. Ensuite, sélectionnez Exécuter.

    Click Run to start query

Le tableau affiche par défaut les événements du journal d’audit pour la gestion des droits d’utilisation au cours de la dernière heure. Vous pouvez changer le paramètre « Plage horaire » pour voir des événements plus anciens. Toutefois, le changement de ce paramètre entraîne uniquement l’affichage des événements qui se sont produits après la configuration de Microsoft Entra ID pour l’envoi des événements à Azure Monitor.

Si vous souhaitez connaître les événements d’audit les plus anciens et les plus récents conservés dans Azure Monitor, utilisez la requête suivante :

AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type

Pour plus d’informations sur les colonnes stockées pour les événements d’audit dans Azure Monitor, consultez Interpréter le schéma des journaux d’audit Microsoft Entra dans Azure Monitor.

Créer des requêtes Azure Monitor personnalisées à l’aide d’Azure PowerShell

Vous pouvez accéder aux journaux via PowerShell après avoir configuré Microsoft Entra ID pour envoyer les journaux à Azure Monitor. Ensuite, envoyez des requêtes à partir de scripts ou de la ligne de commande PowerShell, sans avoir besoin d’être Administrateur général dans le locataire.

S’assurer que l’utilisateur ou le principal de service dispose de l’attribution de rôle appropriée

Assurez-vous que vous, l’utilisateur ou le principal de service qui s’authentifie auprès de Microsoft Entra ID, détenez le rôle Azure approprié dans l’espace de travail Log Analytics. Les options de rôle sont Lecteur Log Analytics et Contributeur Log Analytics. Si vous détenez déjà l’un de ces rôles, passez à la section Récupérer l’ID Log Analytics avec un abonnement Azure.

Pour définir l’attribution de rôle et créer une requête, effectuez les étapes suivantes :

  1. Dans le Centre d’administration Microsoft Entra, recherchez Espace de travail Log Analytics.

  2. Sélectionnez Règles du contrôle d’accès (IAM).

  3. Sélectionnez ensuite Ajouter pour ajouter une attribution de rôle.

    Add a role assignment

Installer le module Azure PowerShell

Une fois que vous disposez de l’attribution de rôle appropriée, lancez PowerShell et installez le module Azure PowerShell (si vous ne l’avez pas encore fait) en tapant :

install-module -Name az -allowClobber -Scope CurrentUser

Vous êtes maintenant prêt à vous authentifier sur Microsoft Entra ID et à récupérer l’ID de l’espace de travail Log Analytics que vous interrogez.

Récupérer l’ID Log Analytics avec un abonnement Azure

Si vous avez un seul abonnement Azure et un seul espace de travail Log Analytics, tapez la commande suivante pour vous authentifier auprès de Microsoft Entra ID, vous connecter à cet abonnement et récupérer cet espace de travail :

Connect-AzAccount
$wks = Get-AzOperationalInsightsWorkspace

Récupérer l’ID Log Analytics avec plusieurs abonnements Azure

Get-AzOperationalInsightsWorkspace fonctionne dans un abonnement à la fois. Par conséquent, si vous avez plusieurs abonnements Azure, vous devez vous assurer de vous connecter à celui qui dispose de l’espace de travail Log Analytics avec les journaux Microsoft Entra.

Les applets de commande suivantes affichent la liste des abonnements et recherchent l’ID de l’abonnement qui dispose de l’espace de travail Log Analytics :

Connect-AzAccount
$subs = Get-AzSubscription
$subs | ft

Vous pouvez réauthentifier votre session PowerShell et l’associer à cet abonnement à l’aide d’une commande telle que Connect-AzAccount –Subscription $subs[0].id. Pour en savoir plus sur l’authentification sur Azure à partir de PowerShell, y compris de manière non interactive, consultez Se connecter avec Azure PowerShell.

Si vous avez plusieurs espaces de travail Log Analytics dans cet abonnement, l’applet de commande Get-AzOperationalInsightsWorkspace retourne la liste des espaces de travail. Vous trouverez ensuite celui qui contient les journaux d’activité Microsoft Entra. Le champ CustomerId retourné par cette cmdlet est identique à la valeur de l’« ID d’espace de travail » affichée dans le Centre d’administration Microsoft Entra, dans la vue d’ensemble de l’espace de travail Log Analytics.

$wks = Get-AzOperationalInsightsWorkspace
$wks | ft CustomerId, Name

Envoyer la requête à l’espace de travail Log Analytics

Enfin, une fois que vous disposez d’un espace de travail identifié, vous pouvez utiliser Invoke-AzOperationalInsightsQuery pour envoyer une requête Kusto à cet espace de travail. Ces requêtes sont rédigées dans le langage de requête Kusto.

Par exemple, vous pouvez récupérer la plage de dates des enregistrements d’événements d’audit à partir de l’espace de travail Log Analytics, avec les applets de commande PowerShell pour envoyer une requête comme suit :

$aQuery = "AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type"
$aResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $aQuery
$aResponse.Results |ft

Vous pouvez également récupérer des événements de gestion des droits d’utilisation à l’aide d’une requête telle que :

$bQuery = 'AuditLogs | where Category == "EntitlementManagement"'
$bResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $Query
$bResponse.Results |ft 

Utilisation de filtres de requête

Vous pouvez inclure le champ TimeGenerated pour étendre une requête à un intervalle de temps particulier. Par exemple, si vous souhaitez récupérer les événements du journal d’audit pour des stratégies d’attribution de package d’accès de gestion des droits d’utilisation créées ou mises à jour au cours des 90 derniers jours, vous pouvez fournir une requête qui inclut ce champ ainsi que la catégorie et le type d’opération.

AuditLogs | 
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") | 
project ActivityDateTime,OperationName, InitiatedBy, AdditionalDetails, TargetResources

Pour les événements d’audit de certains services tels que la gestion des droits d’utilisation, vous pouvez également développer et filtrer les propriétés affectées des ressources en cours de modification. Par exemple, vous pouvez afficher uniquement ces enregistrements du journal d’audit pour des stratégies d’attribution de package d’accès, en cours de création ou de mise à jour, qui ne nécessitent pas d’approbation pour l’ajout d’une affectation à des utilisateurs.

AuditLogs | 
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") | 
mv-expand TargetResources | 
where TargetResources.type == "AccessPackageAssignmentPolicy" | 
project ActivityDateTime,OperationName,InitiatedBy,PolicyId=TargetResources.id,PolicyDisplayName=TargetResources.displayName,MP1=TargetResources.modifiedProperties | 
mv-expand MP1 | 
where (MP1.displayName == "IsApprovalRequiredForAdd" and MP1.newValue == "\"False\"") |
order by ActivityDateTime desc 

Étapes suivantes