Arkivera loggar och rapportering om berättigandehantering i Azure Monitor
Microsoft Entra ID lagrar granskningshändelser i upp till 30 dagar i granskningsloggen. Du kan dock behålla granskningsdata under längre tid än standardkvarhållningsperioden, som beskrivs i Hur länge lagrar Microsoft Entra-ID rapporteringsdata? genom att dirigera dem till ett Azure Storage-konto eller använda Azure Monitor. Du kan sedan använda arbetsböcker och anpassade frågor och rapporter om dessa data.
Konfigurera Microsoft Entra-ID för att använda Azure Monitor
Dricks
Stegen i den här artikeln kan variera något beroende på vilken portal du börjar från.
Innan du använder Azure Monitor-arbetsböckerna måste du konfigurera Microsoft Entra-ID för att skicka en kopia av dess granskningsloggar till Azure Monitor.
Om du arkiverar Microsoft Entra-granskningsloggar måste du ha Azure Monitor i en Azure-prenumeration. Du kan läsa mer om förutsättningarna och de uppskattade kostnaderna för att använda Azure Monitor i Microsoft Entra-aktivitetsloggar i Azure Monitor.
Logga in på administrationscentret för Microsoft Entra som minst säkerhetsadministratör. Kontrollera att du har åtkomst till resursgruppen som innehåller Azure Monitor-arbetsytan.
Bläddra till Inställningar för identitetsövervakning>och hälsodiagnostik.>
Kontrollera om det redan finns en inställning för att skicka granskningsloggarna till arbetsytan.
Om det inte redan finns en inställning väljer du Lägg till diagnostikinställning. Använd anvisningarna i Integrera Microsoft Entra-loggar med Azure Monitor-loggar för att skicka Microsoft Entra-granskningsloggen till Azure Monitor-arbetsytan.
När loggen har skickats till Azure Monitor väljer du Log Analytics-arbetsytor och väljer den arbetsyta som innehåller Microsoft Entra-granskningsloggarna.
Välj Användning och uppskattade kostnader och välj Datakvarhållning. Ändra skjutreglaget till det antal dagar som du vill behålla data för att uppfylla dina granskningskrav.
Om du senare vill se datumintervallet i arbetsytan kan du använda arbetsboken Arkiverat loggdatumintervall :
Bläddra till Identitetsövervakning>och hälsoarbetsböcker.>
Expandera avsnittet Microsoft Entra-felsökning och välj på Arkiverat loggdatumintervall.
Visa händelser för ett åtkomstpaket
Om du vill visa händelser för ett åtkomstpaket måste du ha åtkomst till den underliggande Azure Monitor-arbetsytan (se Hantera åtkomst till loggdata och arbetsytor i Azure Monitor för information) och i någon av följande roller:
- Global administratör
- Säkerhetsadministratör
- Säkerhetsläsare
- Rapportläsare
- Appadministratör
Använd följande procedur för att visa händelser:
I administrationscentret för Microsoft Entra väljer du Identitet och sedan Arbetsböcker. Om du bara har en prenumeration går du vidare till steg 3.
Om du har flera prenumerationer väljer du den prenumeration som innehåller arbetsytan.
Välj arbetsboken med namnet Åtkomstpaketaktivitet.
I arbetsboken väljer du ett tidsintervall (ändra till Alla om det inte är säkert) och väljer ett åtkomstpaket-ID i listrutan för alla åtkomstpaket som hade aktivitet under det tidsintervallet. Händelser relaterade till åtkomstpaketet som inträffade under det valda tidsintervallet visas.
Varje rad innehåller tid, åtkomstpaket-ID, namnet på åtgärden, objekt-ID, UPN och visningsnamnet för användaren som startade åtgärden. Mer information finns i JSON.
Om du vill se om det har gjorts ändringar i programrolltilldelningar för ett program som inte beror på åtkomstpakettilldelningar, till exempel av en global administratör som direkt tilldelar en användare till en programroll, kan du välja arbetsboken med namnet Programrolltilldelningsaktivitet.
Skapa anpassade Azure Monitor-frågor med hjälp av administrationscentret för Microsoft Entra
Du kan skapa egna frågor om Microsoft Entra-granskningshändelser, inklusive rättighetshanteringshändelser.
I Identitet för administrationscentret för Microsoft Entra väljer du Loggar under avsnittet Övervakning i den vänstra navigeringsmenyn för att skapa en ny frågesida.
Arbetsytan ska visas längst upp till vänster på frågesidan. Om du har flera Azure Monitor-arbetsytor och arbetsytan du använder för att lagra Microsoft Entra-granskningshändelser inte visas väljer du Välj omfång. Välj sedan rätt prenumeration och arbetsyta.
I frågetextområdet tar du sedan bort strängen "sök *" och ersätter den med följande fråga:
AuditLogs | where Category == "EntitlementManagement"
Välj sedan Kör.
Tabellen visar granskningslogghändelser för berättigandehantering från den senaste timmen som standard. Du kan ändra inställningen "Tidsintervall" för att visa äldre händelser. Om du ändrar den här inställningen visas dock bara händelser som inträffat efter att Microsoft Entra-ID har konfigurerats för att skicka händelser till Azure Monitor.
Om du vill veta de äldsta och senaste granskningshändelserna i Azure Monitor använder du följande fråga:
AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type
Mer information om de kolumner som lagras för granskningshändelser i Azure Monitor finns i Tolka Microsoft Entra-granskningsloggschemat i Azure Monitor.
Skapa anpassade Azure Monitor-frågor med Hjälp av Azure PowerShell
Du kan komma åt loggar via PowerShell när du har konfigurerat Microsoft Entra-ID för att skicka loggar till Azure Monitor. Skicka sedan frågor från skript eller PowerShell-kommandoraden, utan att behöva vara global administratör i klientorganisationen.
Kontrollera att användaren eller tjänstens huvudnamn har rätt rolltilldelning
Kontrollera att du, användaren eller tjänstens huvudnamn som autentiserar till Microsoft Entra-ID, har rätt Azure-roll på Log Analytics-arbetsytan. Rollalternativen är antingen Log Analytics-läsare eller Log Analytics-deltagare. Om du redan har en av dessa roller går du vidare till Hämta Log Analytics-ID med en Azure-prenumeration.
Gör följande för att ange rolltilldelningen och skapa en fråga:
Leta upp Log Analytics-arbetsytan i administrationscentret för Microsoft Entra.
Välj Access Control (IAM).
Välj sedan Lägg till för att lägga till en rolltilldelning.
Installera Azure PowerShell-modul
När du har rätt rolltilldelning startar du PowerShell och installerar Azure PowerShell-modulen (om du inte redan har gjort det) genom att skriva:
install-module -Name az -allowClobber -Scope CurrentUser
Nu är du redo att autentisera till Microsoft Entra-ID och hämta ID:t för Log Analytics-arbetsytan som du frågar efter.
Hämta Log Analytics-ID med en Azure-prenumeration
Om du bara har en enda Azure-prenumeration och en enda Log Analytics-arbetsyta skriver du följande för att autentisera till Microsoft Entra-ID, ansluta till den prenumerationen och hämta arbetsytan:
Connect-AzAccount
$wks = Get-AzOperationalInsightsWorkspace
Hämta Log Analytics-ID med flera Azure-prenumerationer
Get-AzOperationalInsightsWorkspace fungerar i en prenumeration i taget. Om du har flera Azure-prenumerationer vill du därför se till att du ansluter till den som har Log Analytics-arbetsytan med Microsoft Entra-loggarna.
Följande cmdletar visar en lista över prenumerationer och hittar ID:t för den prenumeration som har Log Analytics-arbetsytan:
Connect-AzAccount
$subs = Get-AzSubscription
$subs | ft
Du kan autentisera om och associera din PowerShell-session med den prenumerationen med hjälp av ett kommando som Connect-AzAccount –Subscription $subs[0].id
. Mer information om hur du autentiserar till Azure från PowerShell, inklusive icke-interaktivt, finns i Logga in med Azure PowerShell.
Om du har flera Log Analytics-arbetsytor i den prenumerationen returnerar cmdleten Get-AzOperationalInsightsWorkspace listan över arbetsytor. Sedan hittar du den som har Microsoft Entra-loggarna. Fältet CustomerId
som returneras av den här cmdleten är detsamma som värdet för det arbetsyte-ID som visas i administrationscentret för Microsoft Entra i översikten över Log Analytics-arbetsytan.
$wks = Get-AzOperationalInsightsWorkspace
$wks | ft CustomerId, Name
Skicka frågan till Log Analytics-arbetsytan
När du har identifierat en arbetsyta kan du slutligen använda Invoke-AzOperationalInsightsQuery för att skicka en Kusto-fråga till arbetsytan. Dessa frågor skrivs på Kusto-frågespråket.
Du kan till exempel hämta datumintervallet för granskningshändelseposterna från Log Analytics-arbetsytan med PowerShell-cmdletar för att skicka en fråga som:
$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
Du kan också hämta rättighetshanteringshändelser med hjälp av en fråga som:
$bQuery = 'AuditLogs | where Category == "EntitlementManagement"'
$bResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $Query
$bResponse.Results |ft
Använda frågefilter
Du kan inkludera fältet TimeGenerated
för att begränsa en fråga till ett visst tidsintervall. Om du till exempel vill hämta granskningslogghändelserna för tilldelningsprinciper för rättighetshanteringspaket som skapas eller uppdateras under de senaste 90 dagarna kan du ange en fråga som innehåller det här fältet samt kategorin och åtgärdstypen.
AuditLogs |
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") |
project ActivityDateTime,OperationName, InitiatedBy, AdditionalDetails, TargetResources
För granskningshändelser för vissa tjänster, till exempel berättigandehantering, kan du också expandera och filtrera på de berörda egenskaperna för de resurser som ändras. Du kan till exempel bara visa de granskningsloggposter för åtkomstpakettilldelningsprinciper som skapas eller uppdateras, som inte kräver godkännande för att användare ska få en tilldelning tillagd.
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