Delen via


Activiteitenlogboeken weergeven voor Wijzigingen in Azure RBAC

Soms hebt u informatie nodig over op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC), zoals voor controle- of probleemoplossingsdoeleinden. Wanneer iemand wijzigingen aanbrengt in roltoewijzingen of roldefinities binnen uw abonnementen, worden de wijzigingen geregistreerd in het Azure-activiteitenlogboek. U kunt de activiteitenlogboeken bekijken om alle Azure RBAC-wijzigingen voor de afgelopen 90 dagen weer te geven.

Bewerkingen die worden geregistreerd

Dit zijn de azure RBAC-gerelateerde bewerkingen die zijn vastgelegd in het activiteitenlogboek:

  • Roltoewijzing maken
  • Roltoewijzing verwijderen
  • Aangepaste roldefinitie maken of bijwerken
  • Aangepaste roldefinitie verwijderen

Azure Portal

De eenvoudigste manier om hieraan te beginnen is door de activiteitenlogboeken in de Azure Portal te bekijken. In de volgende schermopname ziet u een voorbeeld van roltoewijzingsbewerkingen in het activiteitenlogboek. Het bevat ook een optie om de logboeken te downloaden als een CSV-bestand.

Activity logs using the portal - screenshot

Klik op een vermelding om het samenvattingsvenster te openen voor meer informatie. Klik op het tabblad JSON om een gedetailleerd logboek op te halen.

Activity logs using the portal with summary pane open - screenshot

Het activiteitenlogboek in de portal heeft verschillende filters. Dit zijn de azure RBAC-gerelateerde filters:

Filteren Waarde
Gebeurteniscategorie
  • Beheer
Operation
  • Roltoewijzing maken
  • Roltoewijzing verwijderen
  • Aangepaste roldefinitie maken of bijwerken
  • Aangepaste roldefinitie verwijderen

Zie het Azure-activiteitenlogboek voor meer informatie over activiteitenlogboeken.

Een logboekvermelding interpreteren

De logboekuitvoer van het tabblad JSON, Azure PowerShell of Azure CLI kan veel informatie bevatten. Hier volgen enkele van de belangrijkste eigenschappen die u moet zoeken bij het interpreteren van een logboekvermelding. Zie de volgende secties voor manieren om de logboekuitvoer te filteren met behulp van Azure PowerShell of Azure CLI.

Eigenschappen Voorbeeldwaarden Omschrijving
autorisatie:actie Microsoft.Authorization/roleAssignments/write Roltoewijzing maken
Microsoft.Authorization/roleAssignments/delete Roltoewijzing verwijderen
Microsoft.Authorization/roleDefinitions/write Roldefinitie maken of bijwerken
Microsoft.Authorization/roleDefinitions/delete Roldefinitie verwijderen
autorisatie:bereik /subscriptions/{subscriptionId}
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}
Bereik voor de actie
Beller admin@example.com
{objectId}
Wie de actie gestart
eventTimestamp 2021-03-01T22:07:41.126243Z Tijdstip waarop de actie heeft plaatsgevonden
status:waarde Gestart
Voltooid
Mislukt
Status van de actie

Azure PowerShell

Gebruik de opdracht Get-AzLog om activiteitenlogboeken met Azure PowerShell weer te geven.

Met deze opdracht worden alle wijzigingen in roltoewijzingen in een abonnement voor de afgelopen zeven dagen weergegeven:

Get-AzLog -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/roleAssignments/*'}

Met deze opdracht worden alle wijzigingen in de roldefinitie in een resourcegroep voor de afgelopen zeven dagen weergegeven:

Get-AzLog -ResourceGroupName pharma-sales -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/roleDefinitions/*'}

Uitvoer van filterlogboek

De logboekuitvoer kan veel informatie bevatten. Met deze opdracht worden alle wijzigingen in de roltoewijzing en roldefinitie in een abonnement voor de afgelopen zeven dagen weergegeven en wordt de uitvoer gefilterd:

Get-AzLog -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/role*'} | Format-List Caller,EventTimestamp,{$_.Authorization.Action},Properties

Hieronder ziet u een voorbeeld van de gefilterde logboekuitvoer bij het maken van een roltoewijzing:

Caller                  : admin@example.com
EventTimestamp          : 3/1/2021 10:07:42 PM
$_.Authorization.Action : Microsoft.Authorization/roleAssignments/write
Properties              :
                          statusCode     : Created
                          serviceRequestId: {serviceRequestId}
                          eventCategory  : Administrative
                          entity         : /subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}
                          message        : Microsoft.Authorization/roleAssignments/write
                          hierarchy      : {tenantId}/{subscriptionId}

Caller                  : admin@example.com
EventTimestamp          : 3/1/2021 10:07:41 PM
$_.Authorization.Action : Microsoft.Authorization/roleAssignments/write
Properties              :
                          requestbody    : {"Id":"{roleAssignmentId}","Properties":{"PrincipalId":"{principalId}","PrincipalType":"User","RoleDefinitionId":"/providers/Microsoft.Authorization/roleDefinitions/fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64","Scope":"/subscriptions/
                          {subscriptionId}/resourceGroups/example-group"}}
                          eventCategory  : Administrative
                          entity         : /subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}
                          message        : Microsoft.Authorization/roleAssignments/write
                          hierarchy      : {tenantId}/{subscriptionId}

Als u een service-principal gebruikt om roltoewijzingen te maken, is de eigenschap Aanroeper een object-id van de service-principal. U kunt Get-AzADServicePrincipal gebruiken om informatie over de service-principal op te halen.

Caller                  : {objectId}
EventTimestamp          : 3/1/2021 9:43:08 PM
$_.Authorization.Action : Microsoft.Authorization/roleAssignments/write
Properties              : 
                          statusCode     : Created
                          serviceRequestId: {serviceRequestId}
                          eventCategory  : Administrative

Azure-CLI

Als u activiteitenlogboeken wilt weergeven met de Azure CLI, gebruikt u de opdracht az monitor activity-log list .

Met deze opdracht worden de activiteitenlogboeken in een resourcegroep weergegeven vanaf 1 maart, met de volgende zeven dagen:

az monitor activity-log list --resource-group example-group --start-time 2021-03-01 --offset 7d

Met deze opdracht worden de activiteitenlogboeken voor de autorisatieresourceprovider weergegeven vanaf 1 maart, met de volgende zeven dagen:

az monitor activity-log list --namespace "Microsoft.Authorization" --start-time 2021-03-01 --offset 7d

Uitvoer van filterlogboek

De logboekuitvoer kan veel informatie bevatten. Met deze opdracht worden alle wijzigingen in roltoewijzing en roldefinities in een abonnement weergegeven die zeven dagen vooruitkijken en de uitvoer filtert:

az monitor activity-log list --namespace "Microsoft.Authorization" --start-time 2021-03-01 --offset 7d --query '[].{authorization:authorization, caller:caller, eventTimestamp:eventTimestamp, properties:properties}'

Hieronder ziet u een voorbeeld van de gefilterde logboekuitvoer bij het maken van een roltoewijzing:

[
 {
    "authorization": {
      "action": "Microsoft.Authorization/roleAssignments/write",
      "role": null,
      "scope": "/subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}"
    },
    "caller": "admin@example.com",
    "eventTimestamp": "2021-03-01T22:07:42.456241+00:00",
    "properties": {
      "entity": "/subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
      "eventCategory": "Administrative",
      "hierarchy": "{tenantId}/{subscriptionId}",
      "message": "Microsoft.Authorization/roleAssignments/write",
      "serviceRequestId": "{serviceRequestId}",
      "statusCode": "Created"
    }
  },
  {
    "authorization": {
      "action": "Microsoft.Authorization/roleAssignments/write",
      "role": null,
      "scope": "/subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}"
    },
    "caller": "admin@example.com",
    "eventTimestamp": "2021-03-01T22:07:41.126243+00:00",
    "properties": {
      "entity": "/subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
      "eventCategory": "Administrative",
      "hierarchy": "{tenantId}/{subscriptionId}",
      "message": "Microsoft.Authorization/roleAssignments/write",
      "requestbody": "{\"Id\":\"{roleAssignmentId}\",\"Properties\":{\"PrincipalId\":\"{principalId}\",\"PrincipalType\":\"User\",\"RoleDefinitionId\":\"/providers/Microsoft.Authorization/roleDefinitions/fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64\",\"Scope\":\"/subscriptions/{subscriptionId}/resourceGroups/example-group\"}}"
    }
  }
]

Azure Monitor-logboeken

Azure Monitor-logboeken is een ander hulpprogramma dat u kunt gebruiken om Azure RBAC-wijzigingen voor al uw Azure-resources te verzamelen en te analyseren. Azure Monitor-logboeken hebben de volgende voordelen:

  • Complexe query's en logica schrijven
  • Integreren met waarschuwingen, Power BI en andere hulpprogramma's
  • Gegevens opslaan voor langere bewaarperioden
  • Kruisverwijzing met andere logboeken, zoals beveiliging, virtuele machine en aangepast

Hier volgen de basisstappen om aan de slag te gaan:

  1. Maak een Log Analytics-werkruimte.

  2. Configureer de activiteit voor uw werkruimte.

  3. Bekijk de inzichten in de activiteitenlogboeken. U kunt snel naar de pagina Overzicht van activiteitenlogboeken navigeren door op de optie Logboeken te klikken.

    Azure Monitor logs option in portal

  4. U kunt eventueel de Azure Monitor Log Analytics gebruiken om query's uit te voeren en de logboeken weer te geven. Zie Aan de slag met logboekquery's in Azure Monitor voor meer informatie.

Hier volgt een query die nieuwe roltoewijzingen retourneert die zijn georganiseerd door de doelresourceprovider:

AzureActivity
| where TimeGenerated > ago(60d) and Authorization contains "Microsoft.Authorization/roleAssignments/write" and ActivityStatus == "Succeeded"
| parse ResourceId with * "/providers/" TargetResourceAuthProvider "/" *
| summarize count(), makeset(Caller) by TargetResourceAuthProvider

Hier volgt een query die wijzigingen in roltoewijzing retourneert die worden weergegeven in een grafiek:

AzureActivity
| where TimeGenerated > ago(60d) and Authorization contains "Microsoft.Authorization/roleAssignments"
| summarize count() by bin(TimeGenerated, 1d), OperationName
| render timechart

Activity logs using the Advanced Analytics portal - screenshot

Volgende stappen