Tevékenységnaplók megtekintése az Azure RBAC változásaihoz

Néha szükség van az Azure szerepköralapú hozzáférés-vezérlési (Azure RBAC) változásaira, például naplózási vagy hibaelhárítási célokra. Amikor valaki módosítja a szerepkör-hozzárendeléseket vagy szerepkördefiníciókat az előfizetéseiben, a módosítások az Azure-tevékenységnaplóban lesznek naplózva. A tevékenységnaplókban megtekintheti az elmúlt 90 nap összes Azure RBAC-módosítását.

Naplózott műveletek

A tevékenységnaplóban naplózott Azure RBAC-hez kapcsolódó műveletek a következők:

  • Szerepkör-hozzárendelés létrehozása
  • Szerepkör-hozzárendelés törlése
  • Egyéni szerepkördefiníció létrehozása vagy frissítése
  • Egyéni szerepkör-definíció törlése

Azure Portal

Első lépésként a legegyszerűbb módszer, ha megtekinti a tevékenységnaplókat az Azure Portalon. Az alábbi képernyőképen egy példa látható a tevékenységnapló szerepkör-hozzárendelési műveleteire. Emellett a naplók CSV-fájlként való letöltésére is lehetőség van.

Activity logs using the portal - screenshot

További információkért kattintson egy bejegyzésre az összefoglaló panel megnyitásához. A részletes napló lekéréséhez kattintson a JSON fülre.

Activity logs using the portal with summary pane open - screenshot

A portál tevékenységnaplója több szűrőt is használ. Az Azure RBAC-hez kapcsolódó szűrők a következők:

Szűrő Value
Eseménykategória
  • Adminisztratív
Operation
  • Szerepkör-hozzárendelés létrehozása
  • Szerepkör-hozzárendelés törlése
  • Egyéni szerepkördefiníció létrehozása vagy frissítése
  • Egyéni szerepkör-definíció törlése

A tevékenységnaplókkal kapcsolatos további információkért tekintse meg az Azure-tevékenységnaplót.

Naplóbejegyzés értelmezése

A JSON lap, az Azure PowerShell vagy az Azure CLI naplókimenete sok információt tartalmazhat. Íme néhány kulcstulajdonság, amelyeket a naplóbejegyzések értelmezésekor érdemes keresni. A naplókimenet az Azure PowerShell vagy az Azure CLI használatával történő szűrésének módjait az alábbi szakaszokban találja.

Property Példaértékek Leírás
engedélyezés:művelet Microsoft.Authorization/roleAssignments/write Szerepkör-hozzárendelés létrehozása
Microsoft.Authorization/roleAssignments/delete Szerepkör-hozzárendelés törlése
Microsoft.Authorization/roleDefinitions/write Szerepkördefiníció létrehozása vagy frissítése
Microsoft.Authorization/roleDefinitions/delete Szerepkördefiníció törlése
engedélyezés:hatókör /subscriptions/{subscriptionId}
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}
A művelet hatóköre
Hívó admin@example.com
{objectId}
Ki kezdeményezte a műveletet?
eventTimestamp 2021-03-01T22:07:41.126243Z A művelet bekövetkeztének időpontja
status:value Első lépések
Sikeres
Sikertelen
A művelet állapota

Azure PowerShell

Ha az Azure PowerShell-lel szeretné megtekinteni a tevékenységnaplókat, használja a Get-AzLog parancsot.

Ez a parancs felsorolja az előfizetésben az elmúlt hét nap szerepkör-hozzárendelési változásait:

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

Ez a parancs felsorolja az erőforráscsoportban az elmúlt hét nap szerepkördefiníciós változásait:

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

Naplókimenet szűrése

A napló kimenete sok információt tartalmazhat. Ez a parancs felsorolja az előfizetések szerepkör-hozzárendelési és szerepkördefiníciós változásait az elmúlt hét napban, és szűri a kimenetet:

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

Az alábbiakban egy példa látható a szűrt naplókimenetre egy szerepkör-hozzárendelés létrehozásakor:

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}

Ha szolgáltatásnévvel hoz létre szerepkör-hozzárendeléseket, a Hívó tulajdonság egy szolgáltatásnév objektumazonosítója lesz. A Get-AzADServicePrincipal használatával információkat kérhet le a szolgáltatásnévről.

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

Ha az Azure CLI-vel szeretné megtekinteni a tevékenységnaplókat, használja az az monitor activity-log list parancsot.

Ez a parancs egy erőforráscsoport tevékenységnaplóit sorolja fel március 1-től, és hét napot vár:

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

Ez a parancs felsorolja az engedélyezési erőforrás-szolgáltató tevékenységnaplóit március 1-től, és hét napot vár:

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

Naplókimenet szűrése

A napló kimenete sok információt tartalmazhat. Ez a parancs felsorolja az előfizetések szerepkör-hozzárendelési és szerepkördefiníciós változásait, és szűri a kimenetet:

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

Az alábbiakban egy példa látható a szűrt naplókimenetre egy szerepkör-hozzárendelés létrehozásakor:

[
 {
    "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 logs

Az Azure Monitor-naplók egy másik eszköz, a segítségével összegyűjtheti és elemezheti az Azure RBAC módosításait az összes Azure-erőforráshoz. Az Azure Monitor-naplók az alábbi előnyökkel járnak:

  • Összetett lekérdezések és logika írása
  • Integrálás riasztásokkal, Power BI-val és más eszközökkel
  • Adatok mentése hosszabb megőrzési időre
  • Kereszthivatkozás más naplókkal, például a biztonsággal, a virtuális géppel és az egyéni

Az első lépések az alábbiak:

  1. Hozzon létre egy Log Analytics-munkaterületet.

  2. Konfigurálja a munkaterület tevékenységét .

  3. A tevékenységnaplók megtekintése Elemzések. A Tevékenységnaplók áttekintése lap gyors megnyitásához kattintson a Naplók lehetőségre.

    Azure Monitor logs option in portal

  4. Igény szerint az Azure Monitor Log Analytics használatával kérdezheti le és tekintheti meg a naplókat. További információ: A napló lekérdezéseinek első lépései az Azure Monitorban.

Az alábbi lekérdezés a célerőforrás-szolgáltató által szervezett új szerepkör-hozzárendeléseket adja vissza:

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

Íme egy lekérdezés, amely egy diagramon megjelenített szerepkör-hozzárendelési módosításokat ad vissza:

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

Következő lépések