Azure Active Directory B2C (Azure AD B2C) produit des journaux d’audit contenant des informations sur les activités liées aux ressources, aux jetons émis et à l’accès administrateur B2C. Cet article fournit une rapide vue d’ensemble des informations disponibles dans les journaux d’audit, ainsi que des instructions pour accéder à ces données pour votre locataire Azure AD B2C.
Les événements des journaux d’audit sont uniquement conservés pendant sept jours. Envisagez de télécharger et stocker vos journaux d’activité en utilisant l’une des méthodes indiquées ci-dessous si vous avez besoin d’une période de rétention plus longue.
Notes
Vous ne voyez pas de connexions utilisateur pour les applications Azure AD B2C individuelles dans la section Utilisateurs des pages Microsoft Entra ID ou Azure AD B2C dans le Portail Azure. Les événements de connexion affichent l’activité de l’utilisateur, mais ne peuvent pas être corrélés avec l’application B2C à laquelle l’utilisateur s’est connecté. Pour cela, vous devez utiliser les journaux d’audit, comme expliqué dans cet article.
Vue d’ensemble des activités disponibles dans la catégorie B2C des journaux d’audit
La catégorie B2C des journaux d’audit contient les types d’activités suivants :
Type d’activité
Description
Autorisation
Activités relatives à l’autorisation d’un utilisateur d’accéder à des ressources B2C (par exemple, un administrateur qui accède à la liste des stratégies B2C).
Répertoire
Activités relatives aux attributs d’annuaire récupérés quand un administrateur se connecte en utilisant le Portail Microsoft Azure.
Application
Opérations de création, lecture, mise à jour et suppression (CRUD) sur les applications B2C.
Clé
Opérations CRUD sur les clés stockées dans le conteneur de clé B2C.
Ressource
Opérations CRUD sur les ressources B2C. Par exemple, les stratégies et les fournisseurs d’identité.
Authentification
Validation des informations d’identification des utilisateurs et de l’émission des jetons.
Pour les activités CRUD des objets utilisateur, reportez-vous à la catégorie Annuaire principal.
Exemple d’activité
Cet exemple d’image du portail Azure montre les données capturées lorsqu’un utilisateur se connecte avec un fournisseur d’identité externe, dans ce cas, Facebook :
Le volet des détails de l’activité contient les informations pertinentes suivantes :
Section
Champ
Description
Activité
Nom
Activité qui a eu lieu. Par exemple, Émettre un id_token pour l’application, qui conclut la connexion d’utilisateur réelle.
Initié par (intervenant)
ObjectId
ID d’objet de l’application B2C à laquelle l’utilisateur se connecte. Cet identificateur n’est pas visible dans le portail Azure, mais il est accessible via l’API Microsoft Graph.
Initié par (intervenant)
Nom de principal de service
ID d’Application de l’application B2C à laquelle l’utilisateur se connecte.
Cible(s)
ObjectId
ID d’objet de l’utilisateur qui se connecte.
Informations supplémentaires
TenantId
ID de locataire du locataire Azure AD B2C.
Informations supplémentaires
PolicyId
ID de stratégie du flux d’utilisateur (stratégie) utilisé pour la connexion de l’utilisateur.
Informations supplémentaires
ApplicationId
ID d’Application de l’application B2C à laquelle l’utilisateur se connecte.
Afficher des journaux d’audit dans le portail Azure
Le portail Azure permet d’accéder aux événements du journal d’audit dans votre locataire Azure AD B2C.
Pour autoriser l’accès basé sur un script ou une application à l’API de création de rapports Microsoft Entra, vous avez besoin d’une application inscrite dans votre locataire Azure AD B2C avec les autorisations d’API suivantes. Vous pouvez activer ces autorisations sur une inscription d’application existante au sein de votre locataire B2C, ou en créer une autre spécifiquement pour une utilisation avec l’automatisation des journaux d’audit.
Microsoft Graph > Autorisations d’application > AuditLog > AuditLog.Read.All
Suivez les étapes de l’article suivant pour inscrire une application avec les autorisations requises :
Après avoir inscrit une application avec les autorisations appropriées, voir la section Script PowerShell plus loin dans cet article pour obtenir un exemple de la façon dont vous pouvez obtenir des événements d’activité à l’aide d’un script.
Accéder à l’API
Pour télécharger les événements du journal d’audit Azure AD B2C via l’API, filtrez les journaux avec la catégorie B2C. Pour filtrer par catégorie, utilisez le paramètre de chaîne de requête filter lors de l’appel du point de terminaison de l’API de création de rapports Microsoft Entra.
https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$filter=loggedByService eq 'B2C' and activityDateTime gt 2019-09-10T02:28:17Z
Script PowerShell
Le script PowerShell suivant montre un exemple d’interrogation de l’API de création de rapports Microsoft Entra. Après l’interrogation de l’API, le script imprime les événements journalisés dans la sortie standard, puis écrit la sortie JSON dans un fichier.
Vous pouvez essayer ce script dans Azure Cloud Shell. Veillez à le mettre à jour avec votre ID d’application, votre clé secrète client et le nom de votre abonné Azure AD B2C.
# This script requires an application registration that's granted Microsoft Graph API permission
# https://learn.microsoft.com/azure/active-directory-b2c/microsoft-graph-get-started
# Constants
$ClientID = "your-client-application-id-here" # Insert your application's client ID, a GUID
$ClientSecret = "your-client-application-secret-here" # Insert your application's client secret value
$tenantdomain = "your-b2c-tenant.onmicrosoft.com" # Insert your Azure AD B2C tenant domain name
$loginURL = "https://login.microsoftonline.com"
$resource = "https://graph.microsoft.com" # Microsoft Graph API resource URI
$7daysago = "{0:s}" -f (get-date).AddDays(-7) + "Z" # Use 'AddMinutes(-5)' to decrement minutes, for example
Write-Output "Searching for events starting $7daysago"
# Create HTTP header, get an OAuth2 access token based on client id, secret and tenant domain
$body = @{grant_type="client_credentials";resource=$resource;client_id=$ClientID;client_secret=$ClientSecret}
$oauth = Invoke-RestMethod -Method Post -Uri $loginURL/$tenantdomain/oauth2/token?api-version=1.0 -Body $body
# Parse audit report items, save output to file(s): auditX.json, where X = 0 through n for number of nextLink pages
if ($oauth.access_token -ne $null) {
$i=0
$headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"}
$url = "https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?`$filter=loggedByService eq 'B2C' and activityDateTime gt " + $7daysago
# loop through each query page (1 through n)
Do {
# display each event on the console window
Write-Output "Fetching data using Uri: $url"
$myReport = (Invoke-WebRequest -UseBasicParsing -Headers $headerParams -Uri $url)
foreach ($event in ($myReport.Content | ConvertFrom-Json).value) {
Write-Output ($event | ConvertTo-Json)
}
# save the query page to an output file
Write-Output "Save the output to a file audit$i.json"
$myReport.Content | Out-File -FilePath audit$i.json -Force
$url = ($myReport.Content | ConvertFrom-Json).'@odata.nextLink'
$i = $i+1
} while($url -ne $null)
} else {
Write-Host "ERROR: No Access Token"
}
Voici la représentation JSON de l’exemple d’événement d’activité illustré plus haut dans l’article :
Les journaux d’audit et de diagnostic de Microsoft Entra ID fournissent une vue détaillée de la façon dont les utilisateurs accèdent à votre solution Azure. Découvrez comment surveiller, dépanner et analyser les données de connexion.
Expliquez les fonctionnalités de Microsoft Entra ID pour moderniser des solutions d’identité, implémenter des solutions hybrides et une gouvernance des identités.