Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Czasami potrzebujesz informacji na temat zmian kontroli dostępu na podstawie ról (RBAC) platformy Azure, takich jak inspekcja lub rozwiązywanie problemów. Za każdym razem, gdy ktoś wprowadza zmiany w przypisaniach ról lub definicjach ról w ramach subskrypcji, zmiany są rejestrowane w dzienniku aktywności platformy Azure. Dzienniki aktywności można wyświetlić, aby zobaczyć wszystkie zmiany w kontroli dostępu opartej na rolach platformy Azure (Azure RBAC) w ciągu ostatnich 90 dni.
Zarejestrowane operacje
Poniżej przedstawiono operacje związane z Azure RBAC, które są rejestrowane w Dzienniku aktywności:
- Utwórz przypisanie roli
- Usunięcie przypisania roli
- Tworzenie lub aktualizowanie definicji roli niestandardowej
- Usunięcie niestandardowej definicji roli
Azure Portal
Najprostszym sposobem rozpoczęcia pracy jest wyświetlenie dzienników aktywności za pomocą witryny Azure Portal. Poniższy zrzut ekranu przedstawia przykład operacji przypisywania ról w dzienniku aktywności. Zawiera również opcję pobierania dzienników jako pliku CSV.
Aby uzyskać więcej informacji, kliknij wpis, aby otworzyć okienko podsumowania. Kliknij kartę JSON , aby uzyskać szczegółowy dziennik.
Dziennik aktywności w portalu ma kilka filtrów. Oto pomocnicze filtry Azure RBAC:
| Filtr | Wartość |
|---|---|
| Kategoria zdarzenia |
|
| Operacja |
|
Aby uzyskać więcej informacji na temat dzienników aktywności, zobacz Dziennik aktywności platformy Azure.
Interpretowanie wpisu dziennika
Dane wyjściowe dziennika z karty JSON, programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure mogą zawierać wiele informacji. Poniżej przedstawiono niektóre kluczowe właściwości do wyszukania podczas próby zinterpretowania wpisu dziennika. Aby uzyskać informacje o sposobach filtrowania danych wyjściowych dziennika przy użyciu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure, zobacz następujące sekcje.
| Nieruchomość | Przykładowe wartości | opis |
|---|---|---|
| autoryzacja:akcja | Microsoft.Authorization/roleAssignments/write | Utwórz przypisanie roli |
| Microsoft.Authorization/roleAssignments/usuń | Usunięcie przypisania roli | |
| Microsoft.Authorization/roleDefinitions/write | Tworzenie lub aktualizowanie definicji roli | |
| Microsoft.Authorization/roleDefinitions/delete | Usuwanie definicji roli | |
| autoryzacja:zakres | /subscriptions/{subscriptionId} /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
Zakres akcji |
| Dzwoniący | admin@example.com {objectId} |
Kto zainicjował akcję |
| eventTimestamp | 2021-03-01T22:07:41.126243Z | Godzina wystąpienia akcji |
| status:wartość | Rozpoczęto Udało się Niepowodzenie |
Stan akcji |
Azure PowerShell
Aby wyświetlić dzienniki aktywności za pomocą programu Azure PowerShell, użyj polecenia Get-AzLog .
To polecenie wyświetla listę wszystkich zmian przypisań ról w subskrypcji w ciągu ostatnich siedmiu dni:
Get-AzLog -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/roleAssignments/*'}
To polecenie wyświetla listę wszystkich zmian definicji roli w grupie zasobów w ciągu ostatnich siedmiu dni:
Get-AzLog -ResourceGroupName pharma-sales -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/roleDefinitions/*'}
Filtrowanie danych wyjściowych dziennika
Dane wyjściowe dziennika mogą zawierać wiele informacji. To polecenie wyświetla listę wszystkich zmian przypisań ról i definicji roli w subskrypcji w ciągu ostatnich siedmiu dni i filtruje dane wyjściowe:
Get-AzLog -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/role*'} | Format-List Caller,EventTimestamp,{$_.Authorization.Action},Properties
Poniżej przedstawiono przykład filtrowanych danych wyjściowych dziennika podczas tworzenia przypisania roli:
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}
Jeśli używasz jednostki usługi do tworzenia przypisań ról, właściwość wywołująca będzie identyfikatorem obiektu jednostki usługi. Aby uzyskać informacje o jednostce usługi, możesz użyć polecenia Get-AzADServicePrincipal .
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
Aby wyświetlić dzienniki aktywności za pomocą interfejsu wiersza polecenia platformy Azure, użyj polecenia az monitor activity-log list .
To polecenie wyświetla listę dzienników aktywności w grupie zasobów od 1 marca, na przyszłość obejmującą siedem dni:
az monitor activity-log list --resource-group example-group --start-time 2021-03-01 --offset 7d
To polecenie wyświetla listę dzienników aktywności od dostawcy zasobów Autoryzacji od 1 marca na następne siedem dni.
az monitor activity-log list --namespace "Microsoft.Authorization" --start-time 2021-03-01 --offset 7d
Filtrowanie danych wyjściowych dziennika
Dane wyjściowe dziennika mogą zawierać wiele informacji. To polecenie wyświetla listę wszystkich zmian przypisań ról i definicji roli w subskrypcji przez następne siedem dni i filtruje wynik:
az monitor activity-log list --namespace "Microsoft.Authorization" --start-time 2021-03-01 --offset 7d --query '[].{authorization:authorization, caller:caller, eventTimestamp:eventTimestamp, properties:properties}'
Poniżej przedstawiono przykład filtrowanych danych wyjściowych dziennika podczas tworzenia przypisania roli:
[
{
"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\"}}"
}
}
]
Dzienniki usługi Azure Monitor
Azure Monitor logs to inne narzędzie, którego można używać do zbierania i analizowania zmian RBAC dla wszystkich zasobów platformy Azure. Dzienniki usługi Azure Monitor mają następujące korzyści:
- Pisanie złożonych zapytań i logiki
- Integracja z alertami, usługą Power BI i innymi narzędziami
- Zachowaj dane na dłuższy okres przechowywania
- Porównaj z innymi dziennikami, takimi jak bezpieczeństwa, VM i dzienniki niestandardowe.
Poniżej przedstawiono podstawowe kroki umożliwiające rozpoczęcie pracy:
Utwórz obszar roboczy usługi Log Analytics.
Skonfiguruj działanie dla obszaru roboczego.
Wyświetl analizy dzienników aktywności. Szybkim sposobem na przejście do strony Przegląd dziennika aktywności jest kliknięcie opcji Dzienniki .
Opcjonalnie użyj usługi Azure Monitor Log Analytics do wykonywania zapytań i wyświetlania dzienników. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z zapytaniami dzienników w usłudze Azure Monitor.
Oto zapytanie zwracające nowe przypisania ról zorganizowane według docelowego dostawcy zasobów.
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
Oto zapytanie zwracające zmiany przypisania roli wyświetlane na wykresie:
AzureActivity
| where TimeGenerated > ago(60d) and Authorization contains "Microsoft.Authorization/roleAssignments"
| summarize count() by bin(TimeGenerated, 1d), OperationName
| render timechart