Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.
Remarque
Cette fonctionnalité est en préversion publique.
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 brève vue d’ensemble des informations disponibles dans les journaux d’audit et des instructions sur l’accès à ces données pour votre locataire Azure AD B2C.
Les événements du journal d’audit ne sont conservés que pendant sept jours. Prévoyez de télécharger et de stocker vos journaux à l’aide de l’une des méthodes indiquées ci-dessous si vous avez besoin d’une période de rétention plus longue.
Remarque
Vous ne pouvez pas voir les connexions utilisateur pour des applications Azure AD B2C individuelles sous la section Utilisateurs des pages Microsoft Entra ID ou Azure AD B2C dans le portail Azure. Les événements de connexion là-bas montrent l'activité de l'utilisateur, mais ne peuvent pas être corrélés à l'application B2C à laquelle l'utilisateur s'est connecté. Vous devez utiliser les journaux d’audit pour cela, comme expliqué plus loin dans cet article.
Vue d’ensemble des activités disponibles dans la catégorie B2C des journaux d’audit
La catégorie B2C dans les journaux d’audit contient les types d’activités suivants :
Type d’activité | Descriptif |
---|---|
Autorisation | Activités concernant l’autorisation d’un utilisateur d’accéder aux ressources B2C (par exemple, un administrateur accédant à une liste de stratégies B2C). |
Répertoire | Activités liées aux attributs d’annuaire récupérés lorsqu’un administrateur se connecte à l’aide du portail 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 un conteneur de clés 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 utilisateur et de l’émission de jetons. |
Pour les activités CRUD de l’objet utilisateur, reportez-vous à la catégorie Core Directory .
Exemple d’activité
Cet exemple d’image à partir 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 panneau détails de l’activité contient les informations pertinentes suivantes :
Section | Terrain | Descriptif |
---|---|---|
Activité | Nom | Quelle activité a eu lieu. Par exemple, émettez une id_token à l’application, ce qui conclut la connexion de l’utilisateur réel. |
Initié par (acteur) | Identifiant d'objet (ObjectId) | ID d’objet de l’application B2C à laquelle l’utilisateur se connecte. Cet identificateur n’est pas visible dans le portail Azure, mais est accessible via l’API Microsoft Graph. |
Initié par (acteur) | Nom de principal de service | ID d’application de l’application B2C à laquelle l’utilisateur se connecte. |
Cible(s) | Identifiant d'objet (ObjectId) | ID d’objet de l’utilisateur qui se connecte. |
Informations supplémentaires | Id de locataire | ID de locataire du locataire Azure AD B2C. |
Informations supplémentaires | Identifiant de la politique | 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 les 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.
- Connectez-vous au portail Azure.
- Basculez vers le répertoire qui contient votre locataire Azure AD B2C, puis accédez à Azure AD B2C.
- Sous Activités dans le menu de gauche, sélectionnez Journaux d’audit.
Une liste d’événements d’activité enregistrés au cours des sept derniers jours s’affiche.
Plusieurs options de filtrage sont disponibles, notamment :
- Type de ressource d’activité : filtrez les types d’activités indiqués dans le tableau de la section Vue d’ensemble des activités disponibles .
- Date : filtrez la plage de dates des activités affichées.
Si vous sélectionnez une ligne dans la liste, les détails de l’activité de l’événement sont affichés.
Pour télécharger la liste des événements d’activité dans un fichier de valeurs séparées par des virgules (CSV), sélectionnez Télécharger.
Obtenir les journaux d’audit avec l’API de création de rapports Microsoft Entra
Les journaux d’audit sont publiés dans le même pipeline que d’autres activités pour l’ID Microsoft Entra, afin qu’ils soient accessibles via l’API de création de rapports Microsoft Entra. Pour plus d’informations, consultez Prise en main de l’API de création de rapports Microsoft Entra.
Activer l’accès aux API de création de rapports
Pour autoriser l’accès basé sur des scripts ou des applications à 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 spécifiquement pour une utilisation avec l’automatisation des journaux d’audit.
- Autorisations de l’application > Microsoft Graph > AuditLog > AuditLog.Read.All
Suivez les étapes décrites dans l’article suivant pour inscrire une application avec les autorisations requises :
Gérer Azure AD B2C avec Microsoft Graph
Une fois que vous avez inscrit une application avec les autorisations appropriées, consultez la section de script PowerShell plus loin dans cet article pour obtenir des événements d’activité avec 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 d’audit par la catégorie B2C
. Pour filtrer par catégorie, utilisez le filter
paramètre de chaîne de requête lorsque vous appelez le 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 avoir interrogé l’API, elle imprime les événements consigné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 locataire 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é présenté précédemment dans l’article :
{
"id": "B2C_DQO3J_4984536",
"category": "Authentication",
"correlationId": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
"result": "success",
"resultReason": "N/A",
"activityDisplayName": "Issue an id_token to the application",
"activityDateTime": "2019-09-14T18:13:17.0618117Z",
"loggedByService": "B2C",
"operationType": "",
"initiatedBy": {
"user": null,
"app": {
"appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"displayName": null,
"servicePrincipalId": null,
"servicePrincipalName": "00000000-0000-0000-0000-000000000000"
}
},
"targetResources": [
{
"id": "00000000-0000-0000-0000-000000000000",
"displayName": null,
"type": "User",
"userPrincipalName": null,
"groupType": null,
"modifiedProperties": []
}
],
"additionalDetails": [
{
"key": "TenantId",
"value": "test.onmicrosoft.com"
},
{
"key": "PolicyId",
"value": "B2C_1A_signup_signin"
},
{
"key": "ApplicationId",
"value": "00000000-0000-0000-0000-000000000000"
},
{
"key": "Client",
"value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
},
{
"key": "IdentityProviderName",
"value": "facebook"
},
{
"key": "IdentityProviderApplicationId",
"value": "0000000000000000"
},
{
"key": "ClientIpAddress",
"value": "127.0.0.1"
}
]
}
Étapes suivantes
Vous pouvez automatiser d’autres tâches d’administration, par exemple , gérer des comptes d’utilisateur Azure AD B2C avec Microsoft Graph.