Azure Event Grid での Microsoft Entra のイベントのタイプとスキーマ

この記事では、Microsoft Graph API で発行される Microsoft Entra イベントのプロパティとスキーマについて説明します。 イベント スキーマの概要については、CloudEvents スキーマに関する記事を参照してください。

使用可能なMicrosoft Entraイベントの種類

Microsoft Graph API は、次のMicrosoft Entra イベントをAzure Event Gridに発行します。 これらのイベントは、ユーザーまたはグループがMicrosoft Entra IDで作成、更新、または削除されたとき、または Microsoft Graph APIを通じてそれらのリソースが変更されたときにトリガーされます。

現在、既知の問題により、ユーザーまたはグループの作成時に UserUpdated または GroupUpdated イベントが生成されます。

イベント名 説明
Microsoft.Graph.UserUpdated Microsoft Entra ID のユーザーが作成または更新されたときにトリガーされます。
Microsoft.Graph.UserDeleted Microsoft Entra ID のユーザーが完全に削除されたときにトリガーされます。
Microsoft.Graph.GroupUpdated Microsoft Entra ID のグループが作成または更新されたときにトリガーされます。
Microsoft.Graph.GroupDeleted Microsoft Entra ID のグループが完全に削除されたときにトリガーされます。

既定では、ユーザーまたはグループの削除は論理的な削除操作です。 ユーザーまたはグループは削除済みとしてマークされていますが、ユーザーまたはグループ オブジェクトは引き続き存在します。 Microsoft Graph APIは、ユーザーまたはグループが論理的に削除されたときに、UserUpdatedまたはGroupUpdatedイベントを送信します。 ユーザーを完全に削除するには、Azure ポータルの [ユーザーの削除] ページに移動し、[完全に削除] を選択します。 グループを完全に削除する手順も同様です。

Microsoft Entraイベントの例

Microsoft Entra イベントがトリガーされると、Azure Event Gridはそのイベントに関するデータをサブスクライブ先に送信します。 次のセクションでは、各イベントの種類の JSON ペイロードの例を示します。

Microsoft.Graph.UserUpdated イベント

{
  "id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
  "type": "Microsoft.Graph.UserUpdated",
  "source": "/tenants/<tenant-id>/applications/<application-id>",
  "subject": "Users/<user-id>",
  "time": "2022-05-24T22:24:31.3062901Z",
  "datacontenttype": "application/json",
  "specversion": "1.0",
  "data": {
    "changeType": "updated",
    "clientState": "<guid>",
    "resource": "Users/<user-id>",
    "resourceData": {
      "@odata.type": "#Microsoft.Graph.User",
      "@odata.id": "Users/<user-id>",
      "id": "<user-id>",
      "organizationId": "<tenant-id>",
      "eventTime": "2022-05-24T22:24:31.3062901Z",
      "sequenceNumber": "<sequence-number>"
    },
    "subscriptionExpirationDateTime": "2022-05-24T23:21:19.3554403+00:00",
    "subscriptionId": "<microsoft-graph-subscription-id>",
    "tenantId": "<tenant-id>"
  }
}

Microsoft.Graph.UserDeleted イベント

{
  "id": "1111bbbb-22cc-dddd-ee33-ffffff444444",
  "type": "Microsoft.Graph.UserDeleted",
  "source": "/tenants/<tenant-id>/applications/<application-id>",
  "subject": "Users/<user-id>",
  "time": "2022-05-24T22:24:31.3062901Z",
  "datacontenttype": "application/json",
  "specversion": "1.0",
  "data": {
    "changeType": "deleted",
    "clientState": "<guid>",
    "resource": "Users/<user-id>",
    "resourceData": {
      "@odata.type": "#Microsoft.Graph.User",
      "@odata.id": "Users/<user-id>",
      "id": "<user-id>",
      "organizationId": "<tenant-id>",
      "eventTime": "2022-05-24T22:24:31.3062901Z",
      "sequenceNumber": "<sequence-number>"
    },
    "subscriptionExpirationDateTime": "2022-05-24T23:21:19.3554403+00:00",
    "subscriptionId": "<microsoft-graph-subscription-id>",
    "tenantId": "<tenant-id>"
  }
}

Microsoft.Graph.GroupUpdated イベント

{
  "id": "2222cccc-33dd-eeee-ff44-aaaaaa555555",
  "type": "Microsoft.Graph.GroupUpdated",
  "source": "/tenants/<tenant-id>/applications/<application-id>",
  "subject": "Groups/<group-id>",
  "time": "2022-05-24T22:24:31.3062901Z",
  "datacontenttype": "application/json",
  "specversion": "1.0",
  "data": {
    "changeType": "updated",
    "clientState": "<guid>",
    "resource": "Groups/<group-id>",
    "resourceData": {
      "@odata.type": "#Microsoft.Graph.Group",
      "@odata.id": "Groups/<group-id>",
      "id": "<group-id>",
      "organizationId": "<tenant-id>",
      "eventTime": "2022-05-24T22:24:31.3062901Z",
      "sequenceNumber": "<sequence-number>"
    },
    "subscriptionExpirationDateTime": "2022-05-24T23:21:19.3554403+00:00",
    "subscriptionId": "<microsoft-graph-subscription-id>",
    "tenantId": "<tenant-id>"
  }
}

Microsoft.Graph.GroupDeleted イベント

{
  "id": "3333dddd-44ee-ffff-aa55-bbbbbbbb6666",
  "type": "Microsoft.Graph.GroupDeleted",
  "source": "/tenants/<tenant-id>/applications/<application-id>",
  "subject": "Groups/<group-id>",
  "time": "2022-05-24T22:24:31.3062901Z",
  "datacontenttype": "application/json",
  "specversion": "1.0",
  "data": {
    "changeType": "deleted",
    "clientState": "<guid>",
    "resource": "Groups/<group-id>",
    "resourceData": {
      "@odata.type": "#Microsoft.Graph.Group",
      "@odata.id": "Groups/<group-id>",
      "id": "<group-id>",
      "organizationId": "<tenant-id>",
      "eventTime": "2022-05-24T22:24:31.3062901Z",
      "sequenceNumber": "<sequence-number>"
    },
    "subscriptionExpirationDateTime": "2022-05-24T23:21:19.3554403+00:00",
    "subscriptionId": "<microsoft-graph-subscription-id>",
    "tenantId": "<tenant-id>"
  }
}

Microsoft Entra イベントのプロパティ

Microsoft Entra イベントには、次の最上位のプロパティがあります。

プロパティ タイプ 説明
source 文字列 テナント イベント ソース。 このフィールドは書き込みできません。 この値は Microsoft Graph API によって指定されます。
subject 文字列 発行元が定義したイベントの対象のパス。
type 文字列 このイベント ソース用イベントの種類のいずれか。
time 文字列 プロバイダーの UTC 時刻に基づいてイベントが生成される時間。
id 文字列 イベントの一意識別子。
data オブジェクト リソースの状態変更に関するデータを提供するイベント ペイロード。
specversion 文字列 CloudEvents スキーマ仕様バージョン。

データ オブジェクトのプロパティ

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

プロパティ タイプ 説明
changeType 文字列 リソースの状態の変化の種類 ( createdupdateddeletedなど)。
resource 文字列 イベントが発生したリソースの識別子。
clientState 文字列 Microsoft Graph API サブスクリプションの作成時に指定するシークレット。
@odata.type 文字列 Microsoft Graph API の変更の種類。
@odata.id 文字列 イベントが発生した Microsoft Graph API リソース識別子。
id 文字列 イベントが発生したリソースの識別子。
organizationId 文字列 Microsoft Entra テナント識別子。
eventTime 文字列 リソースの状態が変更された時刻。
sequenceNumber 文字列 シーケンス番号です。
subscriptionExpirationDateTime 文字列 コメント要求 (RFC) 3339 形式で、Microsoft Graph API サブスクリプションの有効期限が切れる時刻。
subscriptionId 文字列 Microsoft Graph API サブスクリプション識別子。
tenantId 文字列 Microsoft Entra テナント識別子。