Event Grid kaynağı olarak Azure aboneliği

Bu makalede Azure aboneliği olaylarının özellikleri ve şeması sağlanır. Olay şemalarına giriş için bkz. Azure Event Grid olay şeması.

Azure abonelikleri ve kaynak grupları aynı olay türlerini gösterir. Olay türleri kaynak değişiklikleri veya eylemleriyle ilgilidir. Temel fark, kaynak gruplarının kaynak grubu içindeki kaynaklar için olayları, Azure aboneliklerinin ise abonelik genelindeki kaynaklar için olayları yaymalarıdır.

Kaynak olayları put, PATCH, POST ve DELETE işlemleri için oluşturulur ve adresine management.azure.comgönderilir. GET işlemleri olay oluşturmaz. Veri düzlemine gönderilen işlemler (gibi myaccount.blob.core.windows.net) olay oluşturmaz. Eylem olayları, bir kaynağın anahtarlarını listeleme gibi işlemler için olay verileri sağlar.

Bir Azure aboneliği için olaylara abone olduğunuzda, uç noktanız bu aboneliğin tüm olaylarını alır. Olaylar, bir sanal makineyi güncelleştirme gibi görmek istediğiniz olayları, aynı zamanda dağıtım geçmişine yeni bir giriş yazma gibi sizin için önemli olmayabilecek olayları da içerebilir. Uç noktanızdaki tüm olayları alabilir ve işlemek istediğiniz olayları işleyen kod yazabilirsiniz. Veya olay aboneliğini oluştururken bir filtre ayarlayabilirsiniz.

Olayları program aracılığıyla işlemek için, değerine bakarak operationName olayları sıralayabilirsiniz. Örneğin, olay uç noktanız yalnızca veya Microsoft.Storage/storageAccounts/writedeğerine eşit Microsoft.Compute/virtualMachines/write işlemler için olayları işleyebilecektir.

Olay konusu, işlemin hedefi olan kaynağın kaynak kimliğidir. Bir kaynağın olaylarını filtrelemek için olay aboneliğini oluştururken bu kaynak kimliğini belirtin. Bir kaynak türüne göre filtrelemek için aşağıdaki biçimde bir değer kullanın: /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachines

Kullanılabilir olay türleri

Azure abonelikleri, vm oluşturulduğunda veya depolama hesabının silindiğinde olduğu gibi Azure Resource Manager yönetim olaylarını yayar.

Olay türü Açıklama
Microsoft. Resources.ResourceActionCancel Kaynak üzerindeki eylem iptal edildiğinde tetiklendi.
Microsoft. Resources.ResourceActionFailure Kaynak üzerinde eylem başarısız olduğunda tetikler.
Microsoft. Resources.ResourceActionSuccess Kaynak üzerinde eylem başarılı olduğunda tetikler.
Microsoft. Resources.ResourceDeleteCancel Silme işlemi iptal edildiğinde tetiklendi. Bu olay, bir şablon dağıtımı iptal edildiğinde gerçekleşir.
Microsoft. Resources.ResourceDeleteFailure Silme işlemi başarısız olduğunda yükseltildi.
Microsoft. Resources.ResourceDeleteSuccess Silme işlemi başarılı olduğunda tetiklenen.
Microsoft. Resources.ResourceWriteCancel Oluşturma veya güncelleştirme işlemi iptal edildiğinde tetiklendi.
Microsoft. Resources.ResourceWriteFailure Oluşturma veya güncelleştirme işlemi başarısız olduğunda tetiklenen.
Microsoft. Resources.ResourceWriteSuccess Oluşturma veya güncelleştirme işlemi başarılı olduğunda tetiklenen.

Örnek olay

Aşağıdaki örnekte ResourceWriteSuccess olayının şeması gösterilmektedir. ResourceWriteFailure ve ResourceWriteCancel olayları için eventTypefarklı değerlere sahip aynı şema kullanılır.

[{
  "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
  "eventType": "Microsoft.Resources.ResourceWriteSuccess",
  "eventTime": "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}"
  },
  "dataVersion": "2",
  "metadataVersion": "1",
  "topic": "/subscriptions/{subscription-id}"
}]

Aşağıdaki örnekte ResourceDeleteSuccess olayının şeması gösterilmektedir. Aynı şema, için farklı değerlere sahip ResourceDeleteFailure ve ResourceDeleteCancel olayları için eventTypekullanılır.

[{
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
  "eventType": "Microsoft.Resources.ResourceDeleteSuccess",
  "eventTime": "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}"
  },
  "dataVersion": "2",
  "metadataVersion": "1",
  "topic": "/subscriptions/{subscription-id}"
}]

Aşağıdaki örnekte ResourceActionSuccess olayının şeması gösterilmektedir. ResourceActionFailure ve ResourceActionCancel olayları için eventTypefarklı değerlere sahip aynı şema kullanılır.

[{   
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
  "eventType": "Microsoft.Resources.ResourceActionSuccess",
  "eventTime": "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}"
  },
  "dataVersion": "2",
  "metadataVersion": "1",
  "topic": "/subscriptions/{subscription-id}" 
}]

Olay özellikleri

Bir olay aşağıdaki üst düzey verilere sahiptir:

Özellik Tür Description
topic dize Olay kaynağının tam kaynak yolu. Bu alan yazılamaz. Event Grid bu değeri sağlar.
subject string Olay konusunun yayımcı tarafından tanımlanan yolu.
eventType string Bu olay kaynağı için kayıtlı olay türlerinden biri.
eventTime string Sağlayıcının UTC saati temelinde olayın oluşturulduğu saat.
id string Olayın benzersiz tanımlayıcısı.
data object Abonelik olay verileri.
dataVersion string Veri nesnesinin şema sürümü. Şema sürümünü yayımcı tanımlar.
metadataVersion string Olay meta verilerinin şema sürümü. Event Grid en üst düzey özelliklerin şemasını tanımlar. Event Grid bu değeri sağlar.

Veri nesnesi aşağıdaki özelliklere sahiptir:

Özellik Tür Açıklama
authorization object İşlem için istenen yetkilendirme.
claims object Taleplerin özellikleri. Daha fazla bilgi için bkz. JWT belirtimi.
correlationId string Sorun giderme için bir işlem kimliği.
httpRequest object İşlemin ayrıntıları. Bu nesne yalnızca var olan bir kaynağı güncelleştirirken veya bir kaynağı silerken dahil edilir.
resourceProvider string İşlemin kaynak sağlayıcısı.
resourceUri string İşlemdeki kaynağın URI'si.
operationName string Alınan işlem.
status string İşlemin durumu.
subscriptionId string Kaynağın abonelik kimliği.
tenantId string Kaynağın kiracı kimliği.

Öğreticiler ve nasıl yapılır kılavuzları

Başlık Açıklama
Öğretici: Event Grid ve Microsoft Teams ile Azure Otomasyonu Olay gönderen bir sanal makine oluşturun. Olay, sanal makineyi etiketleyen bir Otomasyon runbook'u tetikler ve Microsoft Teams kanalına gönderilen bir iletiyi tetikler.
Nasıl yapılır: Portal aracılığıyla olaylara abone olma Azure aboneliğinin olaylarına abone olmak için portalı kullanın.
Azure CLI: Azure aboneliği için olaylara abone olma Azure aboneliğine Event Grid aboneliği oluşturan ve olayları Web Kancası'na gönderen örnek betik.
PowerShell: Azure aboneliği için olaylara abone olma Azure aboneliğine Event Grid aboneliği oluşturan ve olayları Web Kancası'na gönderen örnek betik.

Sonraki adımlar