Dela via


Azure-prenumeration som Event Grid-källa

Den här artikeln innehåller egenskaper och schema för Azure-prenumerationshändelser. En introduktion till händelsescheman finns i Händelseschema för Azure Event Grid.

Azure-prenumerationer och resursgrupper genererar samma händelsetyper. Händelsetyperna är relaterade till resursändringar eller åtgärder. Den primära skillnaden är att resursgrupper genererar händelser för resurser i resursgruppen, och Azure-prenumerationer genererar händelser för resurser i hela prenumerationen.

Resurshändelser skapas för PUT-, PATCH-, POST- och DELETE-åtgärder som skickas till management.azure.com. GET-åtgärder skapar inte händelser. Åtgärder som skickas till dataplanet (t.ex myaccount.blob.core.windows.net. ) skapar inte händelser. Åtgärdshändelserna tillhandahåller händelsedata för åtgärder som att visa nycklar för en resurs.

När du prenumererar på händelser för en Azure-prenumeration tar slutpunkten emot alla händelser för den prenumerationen. Händelserna kan omfatta händelser som du vill se, till exempel uppdatering av en virtuell dator, men även händelser som inte är viktiga för dig, till exempel att skriva en ny post i distributionshistoriken. Du kan ta emot alla händelser på slutpunkten och skriva kod som bearbetar de händelser som du vill hantera. Du kan också ange ett filter när du skapar händelseprenumerationen.

Om du vill hantera händelser programmatiskt kan du sortera händelser genom att titta på operationName värdet. Händelseslutpunkten kanske till exempel bara bearbetar händelser för åtgärder som är lika med Microsoft.Compute/virtualMachines/write eller Microsoft.Storage/storageAccounts/write.

Händelseämnet är resurs-ID för resursen som är målet för åtgärden. Om du vill filtrera händelser för en resurs anger du det resurs-ID:t när du skapar händelseprenumerationen. Om du vill filtrera efter en resurstyp använder du ett värde i följande format: /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachines

Tillgängliga händelsetyper

Azure-prenumerationer genererar hanteringshändelser från Azure Resource Manager, till exempel när en virtuell dator skapas eller ett lagringskonto tas bort.

Händelsetyp beskrivning
Microsoft.Resources.ResourceActionCancel Utlöses när åtgärden på resursen avbryts.
Microsoft.Resources.ResourceActionFailure Utlöses när åtgärden för resursen misslyckas.
Microsoft.Resources.ResourceActionSuccess Utlöses när åtgärden för resursen lyckas.
Microsoft.Resources.ResourceDeleteCancel Utlöses när borttagningen avbryts. Den här händelsen inträffar när en malldistribution avbryts.
Microsoft.Resources.ResourceDeleteFailure Utlöses när borttagningen misslyckas.
Microsoft.Resources.ResourceDeleteSuccess Utlöses när borttagningen lyckas.
Microsoft.Resources.ResourceWriteCancel Utlöses när åtgärden för att skapa eller uppdatera avbryts.
Microsoft.Resources.ResourceWriteFailure Utlöses när det inte går att skapa eller uppdatera.
Microsoft.Resources.ResourceWriteSuccess Utlöses när åtgärden för att skapa eller uppdatera lyckas.

Exempelhändelse

I följande exempel visas schemat för en ResourceWriteSuccess-händelse . Samma schema används för ResourceWriteFailure- och ResourceWriteCancel-händelser med olika värden för 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"

}]

I följande exempel visas schemat för en ResourceDeleteSuccess-händelse . Samma schema används för ResourceDeleteFailure- och ResourceDeleteCancel-händelser med olika värden för 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"
}]

I följande exempel visas schemat för en ResourceActionSuccess-händelse . Samma schema används för ResourceActionFailure- och ResourceActionCancel-händelser med olika värden för 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"
}]

Händelseegenskaper

En händelse har följande data på den översta nivån:

Property Type Description
source sträng Fullständig resurssökväg till händelsekällan. Det här fältet kan inte skrivas. Event Grid ger det här värdet.
subject sträng Utgivardefinierad sökväg till händelseobjektet.
type sträng En av de registrerade händelsetyperna för den här händelsekällan.
time sträng Den tid då händelsen genereras baserat på leverantörens UTC-tid.
id sträng Unik identifierare för händelsen.
data objekt Händelsedata för prenumeration.
specversion sträng CloudEvents schemaspecifikationsversion.

Dataobjektet har följande egenskaper:

Property Type Beskrivning
authorization objekt Den begärda auktoriseringen för åtgärden.
claims objekt Egenskaperna för anspråken. Mer information finns i JWT-specifikation.
correlationId sträng Ett åtgärds-ID för felsökning.
httpRequest objekt Information om åtgärden. Det här objektet ingår bara när du uppdaterar en befintlig resurs eller tar bort en resurs.
resourceProvider sträng Resursprovidern för åtgärden.
resourceUri sträng URI:n för resursen i åtgärden.
operationName sträng Åtgärden som utfördes.
status sträng Status för åtgärden.
subscriptionId sträng Resursens prenumerations-ID.
tenantId sträng Resursens klientorganisations-ID.

Självstudier och instruktioner

Title Description
Självstudie: Azure Automation med Event Grid och Microsoft Teams Skapa en virtuell dator som skickar en händelse. Händelsen utlöser en Automation-runbook som taggar den virtuella datorn och utlöser ett meddelande som skickas till en Microsoft Teams-kanal.
Så här: prenumerera på händelser via portalen Använd portalen för att prenumerera på händelser för en Azure-prenumeration.
Azure CLI: prenumerera på händelser för en Azure-prenumeration Exempelskript som skapar en Event Grid-prenumeration till en Azure-prenumeration och skickar händelser till en WebHook.
PowerShell: prenumerera på händelser för en Azure-prenumeration Exempelskript som skapar en Event Grid-prenumeration till en Azure-prenumeration och skickar händelser till en WebHook.

Nästa steg