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.
Klik op een vermelding om het samenvattingsvenster te openen voor meer informatie. Klik op het tabblad JSON om een gedetailleerd logboek op te halen.
Het activiteitenlogboek in de portal heeft verschillende filters. Dit zijn de azure RBAC-gerelateerde filters:
Filter | Weergegeven als |
---|---|
Gebeurteniscategorie |
|
Operation |
|
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 | Beschrijving |
---|---|---|
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 heeft gestart |
eventTimestamp | 2021-03-01T22:07:41.126243Z | Tijdstip waarop de actie heeft plaatsgevonden |
status:waarde | Gestart Geslaagd 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:
Configureer de activiteit voor uw werkruimte.
Bekijk de inzichten in de activiteitenlogboeken. U kunt snel naar de pagina Overzicht van activiteitenlogboeken navigeren door op de optie Logboeken te klikken.
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