Azure Event Grid での Azure リソース通知 - リソース管理イベント

Azure Resource Management システム トピックには、さまざまな Azure リソースのライフ サイクルに関する分析情報が用意されています。

Azure サブスクリプションと Azure リソース グループの Event Grid システム トピックには、シナリオのアクション イベント、書き込みイベント、削除イベントなど、成功、失敗、キャンセルも含め、幅広い種類のイベントを使用したリソース ライフ サイクル イベントが用意されています。 ただし、リソース ペイロードが含まれていないことに注目してください。 これらのイベントの詳細については、Azure サブスクリプションの Event Grid システム トピックAzure リソース グループの Event Grid システム トピックに関する記事を参照してください。

これに対し、Azure リソース通知 (ARN) を利用した Azure Resource Management システム トピックでは、イベントの種類を、特に CreatedOrUpdated (Event Grid Azure サブスクリプション システム トピックの ResourceWriteSuccess に対応) と Deleted (Event Grid Azure サブスクリプション システム トピックの ResourceDeleteSuccess に対応) にターゲットを絞って選択できます。 これらのイベントには包括的なペイロード情報が付属しているため、お客様は、より簡単にフィルター処理の適用と通知ストリームの調整を行うことができます。

公開されているリソースの種類の一覧については、Azure Resource Graph リソースを確認するか、次の Azure Resource Graph クエリを使用してください。

resources
| distinct ['type']

Note

Azure Resource Management システム トピックは、Azure Resource Graph のリソース テーブルのすべてのリソースの種類をサポートしているわけではありません。 このエクスペリエンスの改善に取り組んでいます。

イベントの種類

ARN Resources システム トピックでは、次の 2 種類のイベントを使用できます。

イベントの種類 説明
Microsoft.ResourceNotifications.Resources.CreatedOrUpdated リソースが正常に作成または更新されると発生します。
Microsoft.ResourceNotifications.Resources.Deleted リソースが削除されると発生します。

ロールベースのアクセス制御

現在、これらのイベントは Azure サブスクリプション スコープでのみ出力されます。 これは、このトピックの種類に対するイベント サブスクリプションを作成しているエンティティは、この Azure サブスクリプション全体で通知を受け取ることを意味します。 セキュリティ上の理由から、Azure サブスクリプション全体の読み取りアクセス権を持つプリンシパルだけが、このトピックについてのイベント サブスクリプションを作成できるように、制限する必要があります。 このシステム トピックを介してデータにアクセスするには、Event Grid で必要な汎用アクセス許可に加えて、Azure リソース通知に固有の次のアクセス許可が必要です: Microsoft.ResourceNotifications/systemTopics/subscribeToResources/action

イベント スキーマ

このセクションでは、CreatedOrUpdated イベントと Deleted イベントのスキーマについて説明します。

CreatedOrUpdated イベントのイベント スキーマ

スキーマを次に示します。

{
    "id": "string",
    "source": "string",
    "subject": "string",
    "data": {
        "resourceInfo": {
            "id": "string",
            "name": "string",
            "type": "string",
            "location": "string",
            "tags": "string",
            "properties": {
                "_comment": "object-unique-to-each-publisher"
            }
        },
        "apiVersion": "string",
        "operationalInfo": {
            "resourceEventTime": "datetime"
        }
    },
    "type": "string",
    "specversion": "string",
    "time": "string"
}

Deleted イベントのイベント スキーマ

スキーマを次に示します。

{
    "id": "string",
    "source": "string",
    "subject": "string",
    "data": {
        "resourceInfo": {
            "id": "string",
            "name": "string",
            "type": "string"
        },
        "operationalInfo": {
            "resourceEventTime": "datetime"
        }
    },
    "type": "string",
    "specversion": "string",
    "time": "string"
}

Event Grid イベント スキーマ形式のイベントには、次の最上位のプロパティがあります。

プロパティ タイプ 説明
id String イベントの一意識別子
topic String このシステム トピックが作成されている Azure サブスクリプション
subject String このイベントが生成された基本リソースへの発行元定義のパス。
data オブジェクト リソース プロバイダーに固有のイベント データが含まれます。 詳細については、次の表を参照してください。
eventType String このシステム トピックの種類の登録されているイベントの種類
dataVersion String データ オブジェクトのスキーマ バージョン
metadataVersion String イベント メタデータのスキーマ バージョン
eventTime String
形式: 2022-11-07T18:43:09.2894075Z
プロバイダーの UTC 時刻に基づくイベントの生成時刻。

クラウド イベント スキーマ形式のイベントには、次の最上位のプロパティがあります。

プロパティ タイプ 説明
id String イベントの一意識別子
source String このシステム トピックが作成されている Azure サブスクリプション。
subject String このイベントが生成された基本リソースへの発行元定義のパス。
type String このシステム トピックの種類の登録されているイベントの種類
time String
形式: 2022-11-07T18:43:09.2894075Z
プロバイダーの UTC 時刻に基づくイベントの生成時刻。
data オブジェクト リソース プロバイダーに固有のイベント データが含まれます。 詳細については、次の表を参照してください。
specversion String CloudEvents スキーマ仕様バージョン。

data オブジェクトには、次のプロパティがあります。

プロパティ タイプ 内容
resourceInfo オブジェクト リソースに固有のデータ。 詳細については、次の表を参照してください。
apiVersion String リソース プロパティの API バージョン。
operationalInfo オブジェクト リソースに関連する運用情報の詳細。

resourceInfo オブジェクトには、CreatedOrUpdated イベントと Deleted イベントの間に次の共通プロパティがあります。

プロパティ タイプ 説明
id String 発行元が定義したイベントの対象のパス
name String このフィールドはイベント ID を示します。常に、id フィールドの最後のセクションの値になります。
type String 生成されているイベントの種類。 このコンテキストでは、Microsoft.ResourceNotifications.Resources.CreatedOrUpdated または Microsoft.ResourceNotifications.Resources.Deleted です。

CreatedOrUpdated イベントの resourceInfo オブジェクトには、次の追加プロパティがあります。

プロパティ タイプ 説明
location String リソースが配置されている場所またはリージョン。
tags String リソースのタグ。
properties オブジェクト リソースのペイロード。

properties オブジェクトが含まれているのは CreatedOrUpdated イベントのみです。 この properties オブジェクトのスキーマは、それぞれの公開元に固有です。 スキーマを検出するには、特定の Azure リソースに関する REST API のドキュメントを参照してください。 例は、この記事の「イベントの例」セクションで確認できます。

            "properties": {
                "_comment": "<< object-unique-to-each-publisher >>"
            }

operationalInfo オブジェクトには、次のプロパティがあります。

プロパティ タイプ 説明
resourceEventTime DateTime リソースが作成または更新された日時 (CreatedOrUpdated イベントの場合)、または削除された日時 (Deleted イベントの場合)。

イベントの例

CreatedOrUpdated イベント

このセクションでは、システム トピックが作成された Azure サブスクリプションに Azure ストレージ アカウントが作成されると生成される CreatedOrUpdated イベントを示しています。

{
  "id": "4eef929a-a65c-47dd-93e2-46b8c17c6c17",
  "source": "/subscriptions/{subscription-id}",
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
  "data": {
    "resourceInfo": {
      "tags": {},
      "id": "/subscriptions/{subcription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
      "name": "StorageAccount-name",
      "type": "Microsoft.Storage/storageAccounts",
      "location": "eastus",
      "properties": {
        "privateEndpointConnections": [],
        "minimumTlsVersion": "TLS1_2",
        "allowBlobPublicAccess": 1,
        "allowSharedKeyAccess": 1,
        "networkAcls": {
          "bypass": "AzureServices",
          "virtualNetworkRules": [],
          "ipRules": [],
          "defaultAction": "Allow"
        },
        "supportsHttpsTrafficOnly": 1,
        "encryption": {
          "requireInfrastructureEncryption": 0,
          "services": {
            "file": {
              "keyType": "Account",
              "enabled": 1,
              "lastEnabledTime": "2023-07-28T20:12:50.6380308Z"
            },
            "blob": {
              "keyType": "Account",
              "enabled": 1,
              "lastEnabledTime": "2023-07-28T20:12:50.6380308Z"
            }
          },
          "keySource": "Microsoft.Storage"
        },
        "accessTier": "Hot",
        "provisioningState": "Succeeded",
        "creationTime": "2023-07-28T20:12:50.4661564Z",
        "primaryEndpoints": {
          "dfs": "https://{storageAccount-name}.dfs.core.windows.net/",
          "web": "https://{storageAccount-name}.z13.web.core.windows.net/",
          "blob": "https://{storageAccount-name}.blob.core.windows.net/",
          "queue": "https://{storageAccount-name}.queue.core.windows.net/",
          "table": "https://{storageAccount-name}.table.core.windows.net/",
          "file": "https://{storageAccount-name}.file.core.windows.net/"
        },
        "primaryLocation": "eastus",
        "statusOfPrimary": "available",
        "secondaryLocation": "westus",
        "statusOfSecondary": "available",
        "secondaryEndpoints": {
          "dfs": "https://{storageAccount-name} -secondary.dfs.core.windows.net/",
          "web": "https://{storageAccount-name}-secondary.z13.web.core.windows.net/",
          "blob": "https://{storageAccount-name}-secondary.blob.core.windows.net/",
          "queue": "https://{storageAccount-name}-secondary.queue.core.windows.net/",
          "table": "https://{storageAccount-name}-secondary.table.core.windows.net/"
        }
      }
    },
    "apiVersion": "2019-06-01",
    "operationalInfo": {
      "resourceEventTime": "2023-07-28T20:13:10.8418063Z"
    }
  },
  "type": "Microsoft.ResourceNotifications.Resources.CreatedOrUpdated",
  "specversion": "1.0",
  "time": "2023-07-28T20:13:10.8418063Z"
}

削除されたイベント

このセクションでは、システム トピックが作成された Azure サブスクリプションで Azure ストレージ アカウントが削除されると生成される Deleted イベントを示しています。

{
  "id": "d4611260-d179-4f86-b196-3a9d4128be2d",
  "source": "/subscriptions/{subscription-id}",
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
  "data": {
    "resourceInfo": {
      "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
      "name": "storageAccount-name",
      "type": "Microsoft.Storage/storageAccounts"
    },
    "operationalInfo": {
      "resourceEventTime": "2023-07-28T20:11:36.6347858Z"
    }
  },
  "type": "Microsoft.ResourceNotifications.Resources.Deleted",
  "specversion": "1.0",
  "time": "2023-07-28T20:11:36.6347858Z"
}

お問い合わせ

この機能について質問またはフィードバックがある場合は、ご遠慮なく arnsupport@microsoft.com までお問い合わせください。

特定のイベントについての特定のフィードバックがさらに適切に処理されるように、次の情報を提供してください。

見つからないイベントの場合:

  • システム トピックの種類の名前
  • 操作が実行された時点のおおよそのタイムスタンプ (UTC)
  • 通知が生成されたベース リソース ID
  • Azure portal でリソースに移動し、右端にある JSON ビューを選択します。 リソース ID は、JSON ビュー ページの最初のフィールドです。
  • 予期されるイベントの種類
  • 実行された操作 (起動または停止した VM、作成されたストレージ アカウントなど)
  • 発生した問題の説明 (VM は起動したが Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged イベントが生成されない、など)
  • 可能であれば、実行された操作の関連付け ID を入力してください

遅延したコンテンツや予期しないコンテンツを含むイベントの場合

  • システム トピックの種類の名前
  • 通知のすべての内容 (data.resourceInfo.properties を除く)
  • 発生した問題と影響を受けたフィールド値の説明

このデータを共有する際は、エンド ユーザーを特定できる情報を提供しないでください。

次のステップ

Azure リソース通知 - リソース管理イベントのサブスクライブに関するページを参照してください。