Table of contents

レポートおよびイベント (プレビュー) | Graph API の概念

Bryan Lamos|最終更新日: 2016/10/06
|
1 投稿者

適用対象: Graph API | Azure Active Directory (AD)

概要と前提条件

Azure AD のレポートおよびイベント REST API プレビューでは、Azure AD テナント内で保持されるアクセスおよび使用状況レポート データへの読み取り専用アクセスが提供されます。 使用可能なレポートの種類の概要、および関連する Azure 管理ポータルのユーザー インターフェイスでのレポート機能へのアクセスについては、「アクセスおよび使用状況レポートの表示」の記事を参照してください。

重要

Azure AD Graph API の機能は、統合 API の Microsoft Graph からも使用できます。Microsoft Graph には、Outlook、OneDrive、OneNote、Planner、Office Grap など他の Microsoft サービスの API も含まれており、これらはすべて単一のアクセス トークンを使用して単一のエンドポイントからアクセスします。 現在 Microsoft Graph では、レポートおよびイベントはサポートされていません。これらの機能には、Azure AD Graph API を使用する必要があります。

レポートおよびイベント API プレビューを使用する前に、Azure AD の認証とアプリケーションの構成をよく理解しておく必要もあります。 Azure AD 認証に関する概念や、テナントへのアクセスを許可するためのアプリケーションへのアクセス許可の付与機能についてよく知らない場合は、「Azure AD の認証シナリオ」の記事と、特に「Azure AD でのアプリケーションの登録の基本」というタイトルのセクションを参照してください。 後者のセクションには、より詳細な記事「Azure Active Directory とアプリケーションの統合」へのリンクも示されています。この記事には、アプリケーションのアクセスを構成する準備ができてから、Graph API にアクセスするための特定のアクセス許可に関する記述が含まれます。

最後に、アプリケーションのアクセスを構成する準備ができたら、Azure AD テナントへのアクセスが必要になります。 Github では WebApp-GraphAPI-Reporting というコンパニオン ASP.NET サンプル アプリを参照でき、readme.md に詳細な手順が示されています。また、メイン ページの「Azure Active Directory のコード例」には複数のプラットフォームからの Active Directory 認証ライブラリ (ADAL) と Graph API の使用法を示すすべてのサンプルの概要が示されています。

アドレス指定

テナントを構成してレポートおよびイベント API にアクセスする準備が整ったら、「Azure AD Graph API のクイック スタート」を参照してください。サービスの URL、HTTP 要求ヘッダー、関連する OData アクセス トークンの作成に関する基本や、テスト ツール (例: Graph Explorer、Fiddler) を使用してテナントに対するテスト要求を実行する方法が解説されています。

すべてのレポートおよびイベント操作は、次の OData 準拠の URL 形式を使用してアドレス指定されることに注意してください。ここで、tenant-name は Azure AD テナントの名前で、reports/<service-operation> は呼び出す特定のレポート リソースへのパスです: https://graph.windows.net/<tenant-name>/reports/<service-operation>?api-version=beta

また、レポートおよびイベント API では、メインの Graph API でサポートされている OData クエリ オプションのサブセットがサポートされます (次のセクションを参照)。

サポートされるクエリ オプション

$filter

フィルター式には次の制限が適用されます。

  • すべてのレポートは既定で 30 日前の履歴に設定されます。

  • サポートされているエンティティのすべてのプロパティを、1 つのフィルター式で使用できるわけではありません。 詳細については、このトピックの後述のレポートおよびイベントの各エンティティのプロパティの詳細を参照してください。

  • 論理演算子: and がサポートされています。 たとえば、 https://graph.windows.net/<tenant-name>/reports/accountProvisioningEvents?api-version=beta&$filter=(eventTime gt 2014-03-01 and eventTime lt 2015-04-23) or eventTime lt 2015-02-01

  • 比較演算子: eq (等しい)、gt (より大きい)、ge (以上)、lt (より小さい)、および le (以下) がサポートされています。

  • startswith: サポートされていません。

  • any: サポートされていません。

  • 算術演算子: サポートされていません。

  • 関数: サポートされていません。

  • フィルター式のオペランドとして、null 値はサポートされていません。

: クエリ文字列内のスペースは、要求を送信する前に URL エンコードする必要があります。 たとえば、https://graph.windows.net/<tenant-name>/reports/accountProvisioningEvents?api-version=beta&$filter=eventTime gt 2014-03-01 and eventTime lt 2015-04-23 というクエリ文字列は、https://graph.windows.net/<tenant-name>/reports/accountProvisioningEvents?api-version=beta&$filter=eventTime%20gt%202014-03-01%20and%20eventTime%20lt%202015-04-23 という URL にエンコードされます。

$filter クエリ オプションを使用する要求例を以下に示します。

要求説明
https://graph.windows.net/<tenant-name>/reports/accountProvisioningEvents?api-version=beta&$filter=eventTime%20eq%202015-03-12T22:01:18.4385955Z特定の日時に発生したアカウント プロビジョニング レポート イベントの一覧を返します。
https://graph.windows.net/<tenant-name>/reports/accountProvisioningEvents?api-version=beta&$filter=eventTime%20gt%202014-03-01%20and%20eventTime%20lt%202015-04-23指定の期間内に発生したアカウント プロビジョニング レポート イベントの一覧を返します。

$top

$top は、最初の N (正の整数) エントリで構成される、指定したレポートのエントリのサブセットを返します。 $top クエリ オプションを使用する要求例を以下に示します。

要求説明
https://graph.windows.net/<tenant-name>/reports/accountProvisioningEvents?api-version=beta&$top=5最新の 5 つのアカウント プロビジョニング レポート イベントを返します。

$skip

$skip は、指定したレポートのエントリのサブセットを返します。このサブセットは、レポート コレクション内の N エントリをシークして、(エントリ N+1 で始まる) 残りのエントリのみを選択することで定義されます。 $skip クエリ オプションを使用する要求例を以下に示します。

要求説明
https://graph.windows.net/<tenant-name>/reports/accountProvisioningEvents?api-version=beta&$skip=17アカウント プロビジョニング レポート イベント コレクションから、エントリ 18 以降のエントリが返されます。

サービス メタデータ、エンティティ、プロパティ、および操作

レポートおよびイベント OData リソースでサポートされるすべてのエンティティとプロパティは、標準的な OData Common Schema Definition Language (CSDL) を使用してサービスの Entity Data Model (EDM) を定義するサービス メタデータ ドキュメントで指定されます。 CSDL メタデータは、URL の /reports リソース パスに $metadata セグメントを追加することで取得できます (例: https://graph.windows.net/<tenant-name>/reports/$metadata?api-version=beta)。 $metadata セグメントを除外すると、使用可能なレポート リソースの一覧が JSON データとして応答本文で返されます。 イベント データ コレクションにアクセスするためにリソース パスで使用できる OData サービス操作は、CSDL の下部の近くにある &ltEntitySet&gt 要素の "Name" 属性で定義されます。 たとえば、"account provisioning" レポートに関連付けられているイベント データ コレクションにアクセスするには、https://graph.windows.net/<tenant-name>/reports/accountProvisioningEvents?api-version=beta のような URL を使用します。

: レポートおよびイベント API でサポートされる OData エンティティを定義する名前空間は、Microsoft.ActiveDirectory.DataService.PublicApi.Model.Reporting です。これは、メインの Graph API でエンティティを定義するもの (Microsoft.DirectoryServices) とは異なります。 さらに、レポートおよびイベントはメインの Graph API とは次の重要な点で異なります。

  • エンティティが基本型から派生したり、ナビゲーション プロパティをサポートしたりすることはありません。
  • サービスでは追加の関数や複合型はサポートされません。
  • サービスでは HTTP READ 操作のみがサポートされます。

このトピックでは、読み取り (HTTP GET) 操作でのみサポートされる、各エンティティとそれに関連付けられたプロパティによって提供されるコレクションに関する追加の詳細情報を提供します。 それぞれの詳細情報については、「アクセスおよび使用状況レポートの表示」の記事を参照してください。

AllUsersWithAnomalousSignInActivityEvent

名前読み取り (GET)説明
eventTimeEdm.DateTimeOffsetフィルターの適用不規則なアクティビティが検出された日時です。
detailEdm.Stringアクティビティに関する詳細です。
reasonEdm.Stringユーザーがレポートに示される原因となった通常とは異なるアクティビティです。
idEdm.Guidイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

AccountProvisioningEvent

名前読み取り (GET)説明
idEdm.Stringイベントの一意識別子です。
eventTimeEdm.DateTimeOffsetフィルターの適用イベントが発生した日時です。
アプリケーション アーキテクチャEdm.Stringプロビジョニング イベントの原因となったアプリケーションの名前です。
instanceNameEdm.Stringプロビジョニング イベントの原因となったアプリケーション インスタンスの名前です。
操作Edm.String操作の名前。
sourceTypeEdm.Stringアクティビティのソースの種類です。
targetTypeEdm.Stringアクティビティのターゲットの種類です。
joiningPropertyEdm.String結合に使用されるプロパティです。
addedPropertiesEdm.String追加されたプロパティの名前です。
removedPropertiesEdm.String削除されたプロパティの名前です。
結果Edm.String操作の結果です。

ApplicationUsageSummaryEvent

重要

サインイン アクティビティを報告する機能は、Azure Active Directory サインイン アクティビティ レポート API を通して利用できます。

名前読み取り (GET)説明
idEdm.Stringイベントの一意識別子です。
eventTimeEdm.DateTimeOffsetフィルターの適用イベントが発生した日時です。
applicationNameEdm.Stringサインイン アクティビティでのアプリケーションの表示名。
uniqueUsersEdm.Int32アプリケーションにサインインした一意のユーザー数。
signInsEdm.Int32アプリケーションへのサインイン数。

AuditEvent

重要

この記事に記載されている Audit API を使用します。

名前読み取り (GET)説明
idEdm.Stringイベントの一意識別子です。
eventTimeEdm.DateTimeOffsetフィルターの適用イベントが発生した日時です。
actorEdm.Stringアクター ユーザーのユーザー プリンシパル名 (UPN) です。
アクションEdm.Stringアクターによって実行される特定のアクションです。 アクションに指定できる値の詳細については、「Azure AD の監査レポート イベント」の記事を参照してください。
targetEdm.Stringターゲット ユーザーのユーザー プリンシパル名 (UPN) です。
actorDetailEdm.StringUPN や PUID などを含む、アクター ユーザーに関する追加のプロパティ詳細です。
targetDetailEdm.StringUPN や PUID を含む、ターゲット ユーザーに関する追加のプロパティ詳細です。
updatedPropertiesEdm.Stringアクション プロパティによって示される、更新イベントで更新されたプロパティです。

CompromisedCredentialsEvent

名前読み取り (GET)説明
eventTimeEdm.DateTimeOffsetフィルターの適用イベントが発生した日時です。
credentialTypeEdm.String資格情報の種類。
reasonEdm.Stringアカウントが危害を受けたとマークされた理由。
idEdm.Guidユーザーの一意の識別子。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

IrregularSignInActivityEvent

名前読み取り (GET)説明
eventTimeEdm.DateTimeOffsetフィルターの適用不規則なアクティビティが検出された日時です。
ipAddressEdm.Stringサインインの IP アドレスです。
eventClassificationEdm.Stringサインインが不規則と疑わしいのどちらに分類されたかを示します。
デバイスEdm.Stringユーザーのサインイン元デバイスに関する情報です。
reasonEdm.Stringサインインに疑わしいというフラグが付けられた理由です。
locationEdm.Stringサインインのおおよその地理的な場所です。
idEdm.Guidイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

MimSsgmGroupActivityEvent

名前読み取り (GET)説明
idEdm.Stringイベントの一意識別子です。
eventTimeEdm.DateTimeOffsetフィルターの適用イベントが発生した日時です。
グループEdm.Stringセルフサービス アクションが実行されたグループ。
アクションEdm.String実行されたセルフサービス グループ アクション。

MimSsprActivityEvent

名前読み取り (GET)説明
eventTimeEdm.DateTimeOffsetフィルターの適用イベントが発生した日時です。
ロールEdm.Stringユーザーのロール。
methodsUsedEdm.Stringユーザーのパスワードをリセットするために使用される方法。
結果Edm.Stringユーザーによるパスワード リセットの結果。
詳細Edm.Stringユーザーによるパスワード リセットについての追加情報。
idEdm.Stringイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

MimSsprRegistrationActivityEvent

名前読み取り (GET)説明
eventTimeEdm.DateTimeOffsetフィルターの適用イベントが発生した日時です。
ロールEdm.Stringユーザーのロール。
registrationActivityEdm.Stringユーザーが実行した登録アクティビティ。
idEdm.Stringイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

SignInsAfterMultipleFailuresEvent

名前読み取り (GET)説明
firstSuccessfulSignInEdm.DateTimeOffsetフィルターの適用複数回試行してから最初に成功したサインインの日時です。
failedAttemptsToSignInEdm.Int32サインインに成功するまでに失敗したサインインの数です。
idEdm.Guidイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

SignInsFromIPAddressesWithSuspiciousActivityEvent

名前読み取り (GET)説明
eventTimeEdm.DateTimeOffsetフィルターの適用この種類のイベントが最後に発生した日時です。
ipAddressEdm.Stringサインインの IP アドレスです。
idEdm.Guidイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

SignInsFromMultipleGeographiesEvent

名前読み取り (GET)説明
firstSigninFromEdm.String最初のサインインのおおよその場所です。
secondSigninFromEdm.String2 番目のサインインのおおよその場所です。
timeOfSecondSignInEdm.DateTimeOffsetフィルターの適用2 番目のサインインの日時です。
timeBetweenSignInsEdm.String2 つのサインイン場所のおおよその差です。
estimatedTravelHoursEdm.Int322 つのサインイン場所の間で必要な推定移動時間です。
idEdm.Guidイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

SignInsFromPossiblyInfectedDevicesEvent

名前読み取り (GET)説明
deviceIPAddressEdm.Stringサインインが発生した IP アドレスです。
lastSignInTimeEdm.DateTimeOffsetフィルターの適用最新ログインの日時です。
deviceLocationEdm.Stringサインインのおおよその地理的な場所です。
クライアントEdm.Stringウイルスに感染した可能性のあるデバイスに関する情報です。
suspectedInfectionEdm.String潜在的な感染に関する情報です。
latestPotentiallySuspiciousActivityEdm.DateTimeOffsetフィルターの適用感染の日時です。
idEdm.Guidイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

SignInsFromUnknownSourcesEvent

名前読み取り (GET)説明
numberOfSigninsEdm.Int32ログインの総数です。
ipAddressEdm.Stringサインインの IP アドレスです。
timeOfLastSuccessfulSignInEdm.DateTimeOffsetフィルターの適用この種類のイベントが最後に発生した日時です。
idEdm.Guidイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

SsgmGroupActivityEvent

名前読み取り (GET)説明
idEdm.Stringイベントの一意識別子です。
eventTimeEdm.DateTimeOffsetフィルターの適用イベントが発生した日時です。
グループEdm.Stringセルフサービス アクションが実行されたグループ。
アクションEdm.String実行されたセルフサービス グループ アクション。

SsprActivityEvent

名前読み取り (GET)説明
eventTimeEdm.DateTimeOffsetフィルターの適用イベントが発生した日時です。
ロールEdm.Stringユーザーのロール。
methodsUsedEdm.Stringユーザーのパスワードをリセットするために使用される方法。
結果Edm.Stringユーザーによるパスワード リセットの結果。
詳細Edm.Stringユーザーによるパスワード リセットについての追加情報。
idEdm.Stringイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

SsprRegistrationActivityEvent

名前読み取り (GET)説明
eventTimeEdm.DateTimeOffsetフィルターの適用イベントが発生した日時です。
ロールEdm.Stringユーザーのロール。
registrationActivityEdm.Stringユーザーが実行した登録アクティビティ。
idEdm.Stringイベントの一意識別子です。
displayNameEdm.Stringユーザーの表示名です。
userNameEdm.Stringユーザーの名前です。

その他のリソース

© 2017 Microsoft