Azure Event Grid のサブスクリプション用のイベント スキーマAzure Event Grid event schema for subscriptions

この記事では、Azure サブスクリプション イベントのプロパティとスキーマについて説明します。This article provides the properties and schema for Azure subscription events. イベント スキーマの概要については、「Azure Event Grid イベント スキーマ」を参照してください。 For an introduction to event schemas, see Azure Event Grid event schema.

Azure サブスクリプションとリソース グループは、同じ種類のイベントを出力します。Azure subscriptions and resource groups emit the same event types. イベントの種類は、リソースの変更またはアクションに関連しています。The event types are related to resource changes or actions. 主な違いは、リソース グループはリソース グループ内のリソースのイベントを出力し、Azure サブスクリプションはサブスクリプションのリソースのイベントを出力することです。The primary difference is that resource groups emit events for resources within the resource group, and Azure subscriptions emit events for resources across the subscription.

リソース イベントは、management.azure.com に送信される PUT、PATCH、POST、DELETE 操作に対して作成されます。Resource events are created for PUT, PATCH, POST, and DELETE operations that are sent to management.azure.com. GET 操作ではイベントは作成されません。GET operations don't create events. データ プレーンに送信される操作 (myaccount.blob.core.windows.net など) は、イベントを作成しません。Operations sent to the data plane (like myaccount.blob.core.windows.net) don't create events. アクション イベントでは、リソースのキーの一覧表示のような、操作に対するイベント データが提供されます。The action events provide event data for operations like listing the keys for a resource.

Azure サブスクリプションのイベントをサブスクライブすると、エンドポイントは、そのサブスクリプションのすべてのイベントを受信します。When you subscribe to events for an Azure subscription, your endpoint receives all events for that subscription. イベントには、表示するイベント (仮想マシンの更新など) を含めることができますが、重要とは思えないイベント (デプロイ履歴への新しいエントリの書き込みなど) を含めることもできます。The events can include event you want to see, such as updating a virtual machine, but also events that maybe aren't important to you, such as writing a new entry in the deployment history. 自分のエンドポイントですべてのイベントを受信でき、処理したいイベントを処理するコードを記述できます。You can receive all events at your endpoint and write code that processes the events you want to handle. または、イベント サブスクリプションを作成するときにフィルターを設定できます。Or, you can set a filter when creating the event subscription.

プログラムでイベントを処理するには、operationName 値を調べることでイベントを並べ替えることができます。To programmatically handle events, you can sort events by looking at the operationName value. たとえば、イベント エンドポイントで、Microsoft.Compute/virtualMachines/write または Microsoft.Storage/storageAccounts/write と等しい操作のイベントのみを処理できます。For example, your event endpoint might only process events for operations that are equal to Microsoft.Compute/virtualMachines/write or Microsoft.Storage/storageAccounts/write.

イベントの対象は、操作の対象となっているリソースのリソース ID です。The event subject is the resource ID of the resource that is the target of the operation. リソースのイベントをフィルター処理するには、イベント サブスクリプションを作成するときに、そのリソース ID を指定します。To filter events for a resource, provide that resource ID when creating the event subscription. リソースの種類でフィルター処理するには、次の形式で値を使用します。/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachinesTo filter by a resource type, use a value in following format: /subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Compute/virtualMachines

サンプル スクリプトとチュートリアルの一覧については、Azure サブスクリプションのイベント ソースに関する記事をご覧ください。For a list of sample scripts and tutorials, see Azure subscription event source.

使用可能なイベントの種類Available event types

Azure サブスクリプションは、VM が作成されたりストレージ アカウントが削除されたりしたときに、Azure Resource Manager から管理イベントを出力します。Azure subscriptions emit management events from Azure Resource Manager, such as when a VM is created or a storage account is deleted.

イベントの種類Event type 説明Description
Microsoft.Resources.ResourceActionCancelMicrosoft.Resources.ResourceActionCancel リソースに対するアクションが取り消されたときに発生します。Raised when action on resource is canceled.
Microsoft.Resources.ResourceActionFailureMicrosoft.Resources.ResourceActionFailure リソースに対するアクションが失敗したときに発生します。Raised when action on resource fails.
Microsoft.Resources.ResourceActionSuccessMicrosoft.Resources.ResourceActionSuccess リソースに対するアクションが成功したときに発生します。Raised when action on resource succeeds.
Microsoft.Resources.ResourceDeleteCancelMicrosoft.Resources.ResourceDeleteCancel 削除操作が取り消されたときに発生します。Raised when delete operation is canceled. このイベントは、テンプレートのデプロイが取り消された場合に発生します。This event happens when a template deployment is canceled.
Microsoft.Resources.ResourceDeleteFailureMicrosoft.Resources.ResourceDeleteFailure 削除操作が失敗したときに発生します。Raised when delete operation fails.
Microsoft.Resources.ResourceDeleteSuccessMicrosoft.Resources.ResourceDeleteSuccess 削除操作が成功したときに発生します。Raised when delete operation succeeds.
Microsoft.Resources.ResourceWriteCancelMicrosoft.Resources.ResourceWriteCancel 作成または更新操作が取り消されたときに発生します。Raised when create or update operation is canceled.
Microsoft.Resources.ResourceWriteFailureMicrosoft.Resources.ResourceWriteFailure 作成または更新操作が失敗したときに発生します。Raised when create or update operation fails.
Microsoft.Resources.ResourceWriteSuccessMicrosoft.Resources.ResourceWriteSuccess 作成または更新操作が成功したときに発生します。Raised when create or update operation succeeds.

イベントの例Example event

次の例は、ResourceWriteSuccess イベント用のスキーマを示しています。The following example shows the schema for a ResourceWriteSuccess event. ResourceWriteFailure イベントと ResourceWriteCancel イベントでも、eventType の値を変更して、同じスキーマが使用されます。The same schema is used for ResourceWriteFailure and ResourceWriteCancel events with different values for eventType.

[{
  "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}"
}]

次の例は、ResourceDeleteSuccess イベントのスキーマを示しています。The following example shows the schema for a ResourceDeleteSuccess event. ResourceDeleteFailure イベントと ResourceDeleteCancel イベントでも、eventType の値を変更して、同じスキーマが使用されます。The same schema is used for ResourceDeleteFailure and ResourceDeleteCancel events with different values for eventType.

[{
  "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}"
}]

次の例は、ResourceActionSuccess イベント用のスキーマを示しています。The following example shows the schema for a ResourceActionSuccess event. ResourceActionFailure イベントと ResourceActionCancel イベントでも、eventType の値を変更して、同じスキーマが使用されます。The same schema is used for ResourceActionFailure and ResourceActionCancel events with different values for eventType.

[{   
  "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}" 
}]

イベントのプロパティEvent properties

イベントのトップレベルのデータを次に示します。An event has the following top-level data:

プロパティProperty TypeType 説明Description
topictopic stringstring イベント ソースの完全なリソース パス。Full resource path to the event source. このフィールドは書き込み可能ではありません。This field isn't writeable. この値は Event Grid によって指定されます。Event Grid provides this value.
subjectsubject stringstring 発行元が定義したイベントの対象のパス。Publisher-defined path to the event subject.
eventTypeeventType stringstring このイベント ソース用に登録されたイベントの種類のいずれか。One of the registered event types for this event source.
eventTimeeventTime stringstring プロバイダーの UTC 時刻に基づくイベントの生成時刻。The time the event is generated based on the provider's UTC time.
idid stringstring イベントの一意識別子。Unique identifier for the event.
datadata objectobject サブスクリプション イベントのデータ。Subscription event data.
dataVersiondataVersion stringstring データ オブジェクトのスキーマ バージョン。The schema version of the data object. スキーマ バージョンは発行元によって定義されます。The publisher defines the schema version.
metadataVersionmetadataVersion stringstring イベント メタデータのスキーマ バージョン。The schema version of the event metadata. 最上位プロパティのスキーマは Event Grid によって定義されます。Event Grid defines the schema of the top-level properties. この値は Event Grid によって指定されます。Event Grid provides this value.

データ オブジェクトには、次のプロパティがあります。The data object has the following properties:

プロパティProperty TypeType 説明Description
authorizationauthorization objectobject 操作の要求された承認。The requested authorization for the operation.
claimsclaims objectobject 要求のプロパティ。The properties of the claims. 詳細については、JWT 認証に関する記事を参照してください。For more information, see JWT specification.
correlationIdcorrelationId stringstring トラブルシューティング用の操作 ID。An operation ID for troubleshooting.
httpRequesthttpRequest objectobject 操作の詳細。The details of the operation. このオブジェクトは、既存のリソースを更新する場合、またはリソースを削除する場合にのみ含まれます。This object is only included when updating an existing resource or deleting a resource.
resourceProviderresourceProvider stringstring 操作に対するリソース プロバイダー。The resource provider for the operation.
resourceUriresourceUri stringstring 操作内のリソースの URI。The URI of the resource in the operation.
operationNameoperationName stringstring 実行された操作。The operation that was taken.
statusstatus stringstring 操作の状態。The status of the operation.
subscriptionIdsubscriptionId stringstring リソースのサブスクリプション ID。The subscription ID of the resource.
tenantIdtenantId stringstring リソースのテナント ID。The tenant ID of the resource.

次の手順Next steps