Předplatné Azure jako zdroj Event Gridu

Tento článek obsahuje vlastnosti a schéma událostí předplatného Azure. Úvod do schémat událostí najdete ve schématu událostí služby Azure Event Grid.

Předplatná Azure a skupiny prostředků generují stejné typy událostí. Typy událostí souvisejí se změnami nebo akcemi prostředků. Hlavním rozdílem je, že skupiny prostředků generují události pro prostředky v rámci skupiny prostředků a předplatná Azure generují události pro prostředky v rámci předplatného.

Události prostředků se vytvářejí pro operace PUT, PATCH, POST a DELETE, které se odesílají do management.azure.com. Operace GET nevytvoří události. Operace odeslané do roviny dat (například myaccount.blob.core.windows.net) nevytvoří události. Události akce poskytují data událostí pro operace, jako je výpis klíčů pro prostředek.

Když se přihlásíte k odběru událostí předplatného Azure, váš koncový bod obdrží všechny události pro toto předplatné. Události můžou zahrnovat událost, kterou chcete zobrazit, například aktualizaci virtuálního počítače, ale také události, které pro vás nejsou důležité, například zápis nové položky v historii nasazení. V koncovém bodu můžete přijímat všechny události a psát kód, který zpracovává události, které chcete zpracovat. Nebo můžete nastavit filtr při vytváření odběru událostí.

Pokud chcete události zpracovávat prostřednictvím kódu programu, můžete události seřadit tak, že se podíváte na operationName hodnotu. Koncový bod události může například zpracovávat pouze události pro operace, které jsou rovny Microsoft.Compute/virtualMachines/write nebo Microsoft.Storage/storageAccounts/write.

Předmět události je ID prostředku prostředku, který je cílem operace. Pokud chcete filtrovat události pro prostředek, zadejte toto ID prostředku při vytváření odběru událostí. Pokud chcete filtrovat podle typu prostředku, použijte hodnotu v následujícím formátu: /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachines

Dostupné typy událostí

Předplatná Azure generují události správy z Azure Resource Manageru, například při vytvoření virtuálního počítače nebo odstranění účtu úložiště.

Typ události Description
Microsoft.Resources.ResourceActionCancel Vyvolá se při zrušení akce u prostředku.
Microsoft.Resources.ResourceActionFailure Vyvolá se při selhání akce u prostředku.
Microsoft.Resources.ResourceActionSuccess Vyvolá se, když akce s prostředkem proběhne úspěšně.
Microsoft.Resources.ResourceDeleteCancel Vyvolá se při zrušení operace odstranění. K této události dochází při zrušení nasazení šablony.
Microsoft.Resources.ResourceDeleteFailure Vyvolá se při selhání operace odstranění.
Microsoft.Resources.ResourceDeleteSuccess Vyvolá se, když operace odstranění proběhne úspěšně.
Microsoft.Resources.ResourceWriteCancel Vyvolá se při zrušení operace vytvoření nebo aktualizace.
Microsoft.Resources.ResourceWriteFailure Vyvolá se při selhání operace vytvoření nebo aktualizace.
Microsoft.Resources.ResourceWriteSuccess Vyvolá se při úspěšném vytvoření nebo aktualizaci operace.

Příklad události

Následující příklad ukazuje schéma pro událost ResourceWriteSuccess . Stejné schéma se používá pro ResourceWriteFailure a ResourceWriteCancel události s různými hodnotami pro eventType.

[{
  "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
  "topic": "/subscriptions/{subscription-id}",
  "type": "Microsoft.Resources.ResourceWriteSuccess",
  "time": "2018-07-19T18:38:04.6117357Z",
  "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6",
  "data": {
    "authorization": {
      "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
      "action": "Microsoft.Storage/storageAccounts/write",
      "evidence": {
        "role": "Subscription Admin"
      }
    },
    "claims": {
      "aud": "{audience-claim}",
      "iss": "{issuer-claim}",
      "iat": "{issued-at-claim}",
      "nbf": "{not-before-claim}",
      "exp": "{expiration-claim}",
      "_claim_names": "{\"groups\":\"src1\"}",
      "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
      "http://schemas.microsoft.com/claims/authnclassreference": "1",
      "aio": "{token}",
      "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
      "appid": "{ID}",
      "appidacr": "2",
      "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
      "e_exp": "{expiration}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
      "ipaddr": "{IP-address}",
      "name": "{full-name}",
      "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
      "onprem_sid": "{ID}",
      "puid": "{ID}",
      "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
      "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
      "uti": "{ID}",
      "ver": "1.0"
    },
    "correlationId": "{ID}",
    "resourceProvider": "Microsoft.Storage",
    "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
    "operationName": "Microsoft.Storage/storageAccounts/write",
    "status": "Succeeded",
    "subscriptionId": "{subscription-id}",
    "tenantId": "{tenant-id}"
  },
  "specversion": "`1.0"

}]

Následující příklad ukazuje schéma pro ResourceDeleteSuccess událost. Stejné schéma se používá pro Události ResourceDeleteFailure a ResourceDeleteCancel s různými hodnotami pro eventType.

[{
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
  "source": "/subscriptions/{subscription-id}",
  "type": "Microsoft.Resources.ResourceDeleteSuccess",
  "time": "2018-07-19T19:24:12.763881Z",
  "id": "19a69642-1aad-4a96-a5ab-8d05494513ce",
  "data": {
    "authorization": {
      "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
      "action": "Microsoft.Storage/storageAccounts/delete",
      "evidence": {
        "role": "Subscription Admin"
      }
    },
    "claims": {
      "aud": "{audience-claim}",
      "iss": "{issuer-claim}",
      "iat": "{issued-at-claim}",
      "nbf": "{not-before-claim}",
      "exp": "{expiration-claim}",
      "_claim_names": "{\"groups\":\"src1\"}",
      "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
      "http://schemas.microsoft.com/claims/authnclassreference": "1",
      "aio": "{token}",
      "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
      "appid": "{ID}",
      "appidacr": "2",
      "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
      "e_exp": "262800",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
      "ipaddr": "{IP-address}",
      "name": "{full-name}",
      "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
      "onprem_sid": "{ID}",
      "puid": "{ID}",
      "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
      "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
      "uti": "{ID}",
      "ver": "1.0"
    },
    "correlationId": "{ID}",
    "httpRequest": {
      "clientRequestId": "{ID}",
      "clientIpAddress": "{IP-address}",
      "method": "DELETE",
      "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01"
    },
    "resourceProvider": "Microsoft.Storage",
    "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
    "operationName": "Microsoft.Storage/storageAccounts/delete",
    "status": "Succeeded",
    "subscriptionId": "{subscription-id}",
    "tenantId": "{tenant-id}"
  },
  "specversion": "1.0"
}]

Následující příklad ukazuje schéma pro událost ResourceActionSuccess . Stejné schéma se používá pro Události ResourceActionFailure a ResourceActionCancel s různými hodnotami pro eventType.

[{   
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
  "source": "/subscriptions/{subscription-id}",
  "type": "Microsoft.Resources.ResourceActionSuccess",
  "time": "2018-10-08T22:46:22.6022559Z",
  "id": "{ID}",
  "data": {
    "authorization": {
      "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
      "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
      "evidence": {
        "role": "Contributor",
        "roleAssignmentScope": "/subscriptions/{subscription-id}",
        "roleAssignmentId": "{ID}",
        "roleDefinitionId": "{ID}",
        "principalId": "{ID}",
        "principalType": "ServicePrincipal"
      }     
    },
    "claims": {
      "aud": "{audience-claim}",
      "iss": "{issuer-claim}",
      "iat": "{issued-at-claim}",
      "nbf": "{not-before-claim}",
      "exp": "{expiration-claim}",
      "aio": "{token}",
      "appid": "{ID}",
      "appidacr": "2",
      "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}",
      "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
      "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",       "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
      "uti": "{ID}",
      "ver": "1.0"
    },
    "correlationId": "{ID}",
    "httpRequest": {
      "clientRequestId": "{ID}",
      "clientIpAddress": "{IP-address}",
      "method": "POST",
      "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01"
    },
    "resourceProvider": "Microsoft.EventHub",
    "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
    "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
    "status": "Succeeded",
    "subscriptionId": "{subscription-id}",
    "tenantId": "{tenant-id}"
  },
  "specversion": "1.0"
}]

Vlastnosti události

Událost má následující data nejvyšší úrovně:

Vlastnictví Typ Description
source řetězec Úplná cesta k zdroji události. Toto pole není zapisovatelné. Event Grid tuto hodnotu poskytuje.
subject řetězec Cesta definovaná vydavatelem k předmětu události
type řetězec Jeden z registrovaných typů událostí pro tento zdroj událostí.
time řetězec Čas vygenerování události na základě času UTC poskytovatele.
id řetězec Jedinečný identifikátor události.
data objekt Data událostí odběru
specversion řetězec Verze specifikace schématu CloudEvents

Datový objekt má následující vlastnosti:

Vlastnictví Typ Description
authorization objekt Požadovaná autorizace operace.
claims objekt Vlastnosti deklarací identity. Další informace najdete ve specifikaci JWT.
correlationId řetězec ID operace pro řešení potíží.
httpRequest objekt Podrobnosti o operaci. Tento objekt je zahrnutý pouze při aktualizaci existujícího prostředku nebo odstranění prostředku.
resourceProvider řetězec Poskytovatel prostředků pro operaci.
resourceUri řetězec Identifikátor URI prostředku v operaci.
operationName řetězec Operace, která byla přijata.
status řetězec Stav operace.
subscriptionId řetězec ID předplatného zdroje.
tenantId řetězec ID tenanta prostředku.

Kurzy a postupy

Title Description
Kurz: Azure Automation s využitím Event Gridu a Microsoft Teams Vytvořte virtuální počítač, který odesílá událost. Událost aktivuje runbook Automation, který označí virtuální počítač značkou, a aktivuje zprávu, která se odešle do kanálu Microsoft Teams.
Postupy: Přihlášení k odběru událostí prostřednictvím portálu Pomocí portálu se můžete přihlásit k odběru událostí pro předplatné Azure.
Azure CLI: Přihlášení k odběru událostí předplatného Azure Ukázkový skript, který vytvoří odběr služby Event Grid pro předplatné Azure a odešle události do webhooku.
PowerShell: Přihlášení k odběru událostí předplatného Azure Ukázkový skript, který vytvoří odběr služby Event Grid pro předplatné Azure a odešle události do webhooku.

Další kroky

  • Úvod do Azure Event Gridu najdete v tématu Co je Event Grid?
  • Další informace o vytvoření odběru služby Azure Event Grid najdete ve schématu odběru služby Event Grid.