Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Uwaga / Notatka
Ta funkcja jest dostępna w publicznej wersji zapoznawczej.
Usługa Azure Active Directory B2C (Azure AD B2C) emituje dzienniki inspekcji zawierające informacje o aktywności dotyczące zasobów B2C, wystawionych tokenów i dostępu administratora. Niniejszy artykuł zawiera krótkie omówienie informacji dostępnych w dziennikach inspekcji oraz instrukcje dotyczące uzyskiwania dostępu do danych związanych z dzierżawą usługi Azure AD B2C.
Zdarzenia dziennika inspekcji są zachowywane tylko przez siedem dni. Zaplanuj pobieranie i przechowywanie dzienników przy użyciu jednej z poniższych metod, jeśli potrzebujesz dłuższego okresu przechowywania.
Uwaga / Notatka
Logowania użytkowników dla poszczególnych aplikacji usługi Azure AD B2C nie są widoczne w sekcji Użytkownicy stron Microsoft Entra ID lub Azure AD B2C w witrynie Azure Portal. Zdarzenia logowania pokazują aktywność użytkownika, ale nie można ich skorelować z aplikacją B2C zalogowaną przez użytkownika. W tym celu należy użyć dzienników inspekcji, zgodnie z opisem w tym artykule.
Omówienie działań dostępnych w kategorii B2C dzienników inspekcji
Kategoria B2C w dziennikach inspekcji zawiera następujące typy działań:
Typ działania | Opis |
---|---|
Autoryzacja | Działania dotyczące autoryzacji użytkownika w celu uzyskania dostępu do zasobów B2C (na przykład administrator uzyskuje dostęp do listy zasad B2C). |
Katalog | Działania związane z atrybutami katalogu, które są pobierane, gdy administrator zaloguje się za pomocą portalu Azure. |
Aplikacja | Tworzenie, odczytywanie, aktualizowanie i usuwanie operacji (CRUD) w aplikacjach B2C. |
Klawisz | Operacje CRUD na kluczach przechowywanych w kontenerze kluczy B2C. |
Zasób | Operacje CRUD na zasobach B2C. Na przykład polityki i dostawcy usług tożsamości. |
Uwierzytelnianie | Walidacja poświadczeń użytkownika i wystawiania tokenu. |
W przypadku działań CRUD obiektu użytkownika zapoznaj się z kategorią Katalog podstawowy .
Przykładowe działanie
Ten przykładowy obraz z witryny Azure Portal przedstawia dane przechwycone po zalogowaniu się użytkownika za pomocą zewnętrznego dostawcy tożsamości, w tym przypadku serwisu Facebook:
Panel szczegółów działania zawiera następujące istotne informacje:
Sekcja | (No changes needed) | Opis |
---|---|---|
Aktywność | Nazwa | Które działanie miało miejsce. Na przykład wystaw id_token dla aplikacji, co kończy rzeczywiste logowanie użytkownika. |
Zainicjowane przez (aktor) | Identyfikator Obiektu | Identyfikator obiektu aplikacji B2C, do której loguje się użytkownik. Ten identyfikator nie jest widoczny w witrynie Azure Portal, ale jest dostępny za pośrednictwem interfejsu API programu Microsoft Graph. |
Zainicjowane przez (aktor) | Spn | Identyfikator aplikacji B2C, do której loguje się użytkownik. |
Elementy docelowe | Identyfikator Obiektu | Identyfikator obiektu użytkownika, który się loguje. |
Dodatkowe szczegóły | Identyfikator najemcy | Identyfikator najemcy dla dzierżawy usługi Azure AD B2C. |
Dodatkowe szczegóły | IdentyfikatorPolityki | Identyfikator zasad przepływu użytkownika (zasad) używany do logowania użytkownika. |
Dodatkowe szczegóły | Identyfikator aplikacji | Identyfikator aplikacji B2C, do której loguje się użytkownik. |
Wyświetlanie dzienników inspekcji w witrynie Azure Portal
Witryna Azure Portal zapewnia dostęp do zdarzeń dziennika inspekcji w dzierżawie usługi Azure AD B2C.
- Zaloguj się do witryny Azure Portal.
- Przejdź do katalogu zawierającego dzierżawę usługi Azure AD B2C, a następnie przejdź do usługi Azure AD B2C.
- W obszarze Działania w menu po lewej stronie wybierz pozycję Dzienniki inspekcji.
Zostanie wyświetlona lista zdarzeń aktywności zarejestrowanych w ciągu ostatnich siedmiu dni.
Dostępnych jest kilka opcji filtrowania, w tym:
- Typ zasobu działania — filtruj według typów działań przedstawionych w tabeli w sekcji Przegląd dostępnych działań .
- Date — filtruj zakres dat wyświetlanych działań.
Jeśli wybierzesz wiersz na liście, zostaną wyświetlone szczegóły działania dla zdarzenia.
Aby pobrać listę zdarzeń działań w pliku wartości rozdzielanych przecinkami (CSV), wybierz pozycję Pobierz.
Pobierz dzienniki inspekcji za pomocą interfejsu API raportowania Microsoft Entra
Dzienniki inspekcji są publikowane w tym samym potoku, co inne działania dla Microsoft Entra ID, dzięki czemu można uzyskać do nich dostęp za pośrednictwem interfejsu API raportowania Microsoft Entra. Aby uzyskać więcej informacji, zobacz Wprowadzenie do interfejsu API raportowania Entra firmy Microsoft.
Włącz dostęp do interfejsu API raportowania
Aby zezwolić na dostęp oparty na skryptach lub aplikacjach do interfejsu API raportowania Microsoft Entra, musisz zarejestrować aplikację w dzierżawie usługi Azure AD B2C z następującymi uprawnieniami API. Możesz włączyć te uprawnienia na istniejącej rejestracji aplikacji w dzierżawie usługi B2C lub utworzyć nowe, specjalnie do automatyzacji dziennika audytu.
- Microsoft Graph > Uprawnienia aplikacji > AuditLog > AuditLog.Read.All
Wykonaj kroki opisane w poniższym artykule, aby zarejestrować aplikację z wymaganymi uprawnieniami:
Zarządzanie usługą Azure AD B2C za pomocą programu Microsoft Graph
Po zarejestrowaniu aplikacji z odpowiednimi uprawnieniami, w dalszej części tego artykułu zobacz sekcję dotyczącą skryptu PowerShell, aby zapoznać się z przykładem, jak można pobierać zdarzenia aktywności za pomocą skryptu.
Uzyskiwanie dostępu do interfejsu API
Aby pobrać zdarzenia dziennika inspekcji usługi Azure AD B2C za pośrednictwem interfejsu API, przefiltruj dzienniki w B2C
kategorii. Aby filtrować według kategorii, użyj parametru filter
ciągu zapytania podczas wywoływania punktu końcowego interfejsu API raportowania Firmy Microsoft Entra.
https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$filter=loggedByService eq 'B2C' and activityDateTime gt 2019-09-10T02:28:17Z
Skrypt programu PowerShell
Poniższy skrypt programu PowerShell przedstawia przykład zapytania do interfejsu API raportowania Microsoft Entra. Po wykonaniu zapytania względem interfejsu API, drukuje zarejestrowane zdarzenia na standardowe wyjście, a następnie zapisuje dane wyjściowe JSON do pliku.
Możesz wypróbować ten skrypt w usłudze Azure Cloud Shell. Pamiętaj, aby zaktualizować go przy użyciu identyfikatora aplikacji, klucza tajnego klienta i nazwy dzierżawy usługi 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"
}
Oto reprezentacja JSON przykładowego zdarzenia działania pokazanego wcześniej w artykule:
{
"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"
}
]
}
Dalsze kroki
Możesz zautomatyzować inne zadania administracyjne, na przykład zarządzać kontami użytkowników usługi Azure AD B2C za pomocą programu Microsoft Graph.