Azure Active Directory レポート API にアクセスするための前提条件Prerequisites to access the Azure Active Directory reporting API

Azure Active Directory (Azure AD) レポート API は、一連の REST ベースの API を使用してデータへのプログラムによるアクセスを提供します。The Azure Active Directory (Azure AD) reporting APIs provide you with programmatic access to the data through a set of REST-based APIs. これらの API は、プログラミング言語やツールから呼び出すことができます。You can call these APIs from of programming languages and tools.

Reporting API は、 OAuth を使用して Web API へのアクセスを承認します。The reporting API uses OAuth to authorize access to the web APIs.

レポート API へのアクセスを準備するには、次が必要です。To prepare your access to the reporting API, you need to:

  1. ロールの割り当てAssign roles
  2. アプリケーションを登録するRegister an application
  3. アクセス許可を付与するGrant permissions
  4. 構成設定を収集するGather configuration settings

ロールを割り当てるAssign roles

API を介してレポート データにアクセスするには、次のいずれかのロールが割り当てられている必要があります。To get access to the reporting data through the API, you need to have one of the following roles assigned:

  • セキュリティ閲覧者Security Reader

  • セキュリティ管理者Security Administrator

  • グローバル管理者Global Administrator

アプリケーションを登録するRegister an application

スクリプトを使用してレポート API にアクセスする場合でも、登録する必要があります。Registration is needed even if you're accessing the reporting API using a script. 登録することで、承認の呼び出しと、コードによるトークンの受信に必要なアプリケーション ID が得られます。The registration gives you an Application ID, which is required for the authorization calls and enables your code to receive tokens.

Azure AD Reporting API にアクセスするようにディレクトリを構成するには、Azure AD テナントのグローバル管理者ディレクトリ ロールのメンバーでもある Azure 管理者アカウントで Azure portal にサインインする必要があります。To configure your directory to access the Azure AD reporting API, you must sign in to the Azure portal with an Azure administrator account that is also a member of the Global Administrator directory role in your Azure AD tenant.

重要

このような管理者特権を備えた資格情報で実行されるアプリケーションは、きわめて強力です。アプリケーションの IDとシークレットの資格情報は必ず安全な場所に保管してください。Applications running under credentials with administrator privileges can be very powerful, so please be sure to keep the application's ID and secret credentials in a secure location.

Azure AD アプリケーションを登録するには:To register an Azure AD application:

  1. Azure portal で、左側のナビゲーション ウィンドウから [Azure Active Directory] を選択します。In the Azure portal, select Azure Active Directory from the left navigation pane.

    アプリケーションを登録する

  2. [Azure Active Directory] ページで、 [アプリの登録] を選択します。In the Azure Active Directory page, select App registrations.

    アプリケーションを登録する

  3. [アプリの登録] ページから、 [New registration](新しい登録) を選択します。From the App registrations page, select New registration.

    アプリケーションを登録する

  4. [アプリケーションの登録] ページ:The Registration an Application page:

    アプリケーションを登録する

    a.a. [名前] ボックスに、「Reporting API application」と入力します。In the Name textbox, type Reporting API application.

    b.b. [サポートされているアカウントの種類] で、 [この組織のディレクトリ内のアカウントのみ] を選択します。For Supported accounts type, select Accounts in this organizational only.

    c.c. [リダイレクト URL][Web] を選択し、テキスト ボックスに「https://localhost」と入力します。In the Redirect URL select Web textbox, type https://localhost.

    d.d. [登録] を選択します。Select Register.

アクセス許可を付与するGrant permissions

アクセスする API によっては、アプリに次のアクセス許可を付与する必要があります。Depending on API you want to access, you need to grant your app the following permissions:

APIAPI アクセス許可Permission
Windows Azure Active DirectoryWindows Azure Active Directory ディレクトリ データの読み取りRead directory data
Microsoft GraphMicrosoft Graph すべての監査ログ データの読み取りRead all audit log data

アプリケーションを登録する

次のセクションでは、両方の API の手順を示します。The following section lists the steps for both APIs. どちらかの API にアクセスしない場合は、関連する手順を省略できます。If you don't want to access one of the APIs, you can skip the related steps.

API を使用するためのアクセス許可をアプリケーションに付与するには:To grant your application permissions to use the APIs:

  1. [API のアクセス許可][アクセス許可の追加] の順に選択します。Select API permissions then Add a permission.

    アプリケーションを登録する

  2. [API アクセス許可の要求] ページで、 [サポートされているレガシ API][Azure Active Directory Graph] を見つけます。On the Request API permissions page, locate Support legacy API Azure Active Directory Graph.

    アプリケーションを登録する

  3. [必要なアクセス許可] ページで、 [アプリケーションのアクセス許可] を選択し、 [ディレクトリ] を展開して、 [Directory.ReadAll] チェック ボックスをオンにします。On the Required permissions page, select Application Permissions, expand Directory checkbox Directory.ReadAll. [アクセス許可の追加] を選択します.Select Add permissions.

    アプリケーションを登録する

  4. [Reporting API Application - API Permissions](レポート API アプリケーション - API のアクセス許可) ページで、 [Grant admin consent](管理者の同意の付与) を選択します。On the Reporting API Application - API Permissions page, select Grant admin consent.

    アプリケーションを登録する

  5. 注:Microsoft Graph は、API の登録時に既定で追加されます。Note: Microsoft Graph is added by default during API Registration.

    アプリケーションを登録する

構成設定を収集するGather configuration settings

このセクションでは、ディレクトリから次の設定を取得する方法を示しています。This section shows you how to get the following settings from your directory:

  • ドメイン名Domain name
  • クライアント IDClient ID
  • クライアント シークレットClient secret

Reporting API への呼び出しを構成するときに、これらの値が必要です。You need these values when configuring calls to the reporting API.

ドメイン名を取得するGet your domain name

ドメイン名を取得するには:To get your domain name:

  1. Azure portal の左側のナビゲーション ウィンドウで、 [Azure Active Directory] を選択します。In the Azure portal, on the left navigation pane, select Azure Active Directory.

    アプリケーションを登録する

  2. [Azure Active Directory] ページで、 [カスタム ドメイン名] を選択します。On the Azure Active Directory page, select Custom domain names.

    アプリケーションを登録する

  3. ドメインの一覧からドメイン名をコピーします。Copy your domain name from the list of domains.

アプリケーションのクライアント ID を取得するGet your application's client ID

アプリケーションのクライアント ID を取得するには:To get your application's client ID:

  1. Azure Portal の左側のナビゲーション ウィンドウで、 [Azure Active Directory] をクリックします。In the Azure portal, on the left navigation pane, click Azure Active Directory.

    アプリケーションを登録する

  2. [アプリの登録] ページから、アプリケーションを選択します。Select your application from the App Registrations page.

  3. アプリケーション ページから、 [アプリケーション ID] へ移動して、 [Click to copy](クリックしてコピー) を選択します。From the application page, navigate to Application ID and select Click to copy.

    アプリケーションを登録する

アプリケーションのクライアント シークレットを取得するGet your application's client secret

API を使用して監査ログへのアクセスまたはサインインを試みるときにエラーが発生しないようにします。Avoid errors trying to access audit logs or sign-in using the API.

アプリケーションのクライアント シークレットを取得するには:To get your application's client secret:

  1. Azure Portal の左側のナビゲーション ウィンドウで、 [Azure Active Directory] をクリックします。In the Azure portal, on the left navigation pane, click Azure Active Directory.

    アプリケーションを登録する

  2. [アプリの登録] ページから、アプリケーションを選択します。Select your application from the App Registrations page.

  3. [API Application](API アプリケーション) ページで [Certificates and Secrets](証明書とシークレット) を選択し、 [Client Secrets](クライアント シークレット) セクションで [+ New Client Secret](+ 新しいクライアント シークレット) をクリックします。Select Certificates and Secrets on the API Application page, in the Client Secrets section, click + New Client Secret.

    アプリケーションを登録する

  4. [クライアント シークレットの追加] ページで、以下を追加します。On the Add a client secret page, add:

    a.a. [説明] ボックスに、「Reporting API」と入力します。In the Description textbox, type Reporting API.

    b.b. [有効期限] として、 [2 年] を選択します。As Expires, select In 2 years.

    c.c. [Save] をクリックします。Click Save.

    d.d. キー値をコピーします。Copy the key value.

レポート API でのエラーのトラブルシューティングTroubleshoot errors in the reporting API

このセクションでは、MS Graph API を使用してアクティビティ レポートにアクセスする際に表示される可能性のあるエラー メッセージと、その解決手順を示します。This section lists the common error messages you may run into while accessing activity reports using the MS Graph API and steps for their resolution.

Microsoft Graph V2 エンドポイントへのアクセス中の 500 HTTP 内部サーバー エラー500 HTTP internal server error while accessing Microsoft Graph V2 endpoint

現在、Microsoft Graph v2 エンドポイントはサポートされていません。必ず、Microsoft Graph v1 エンドポイントを使用して、アクティビティ ログにアクセスしてください。We do not currently support the Microsoft Graph v2 endpoint - make sure to access the activity logs using the Microsoft Graph v1 endpoint.

エラー:AD Graph からユーザー ロールを取得できませんでしたError: Failed to get user roles from AD Graph

Graph エクスプローラーを使用してサインインするときにエラーが発生しないようにするには、Graph エクスプローラーの UI の両方のサインイン ボタンを使用してアカウントにサインインします。Sign into your account using both sign-in buttons in the Graph Explorer UI to avoid getting an error when trying to sign in using Graph Explorer.

Graph エクスプローラー

エラー:AD Graph から Premium ライセンスを確認できませんでしたError: Failed to do premium license check from AD Graph

Graph エクスプローラーを使用してサインインにアクセスしようとしたときにこのようなエラー メッセージが表示された場合は、左側のナビゲーションのアカウントの下にある [アクセス許可の変更] を選択し、 [Tasks.ReadWrite][Directory.Read.All] を選びます。If you run into this error message while trying to access sign-ins using Graph Explorer, choose Modify Permissions underneath your account on the left nav, and select Tasks.ReadWrite and Directory.Read.All.

アクセス許可の変更 UI

エラー:テナントが B2C ではないか、またはテナントに Premium ライセンスがありませんError: Tenant is not B2C or tenant doesn't have premium license

サインイン レポートへのアクセスには、Azure Active Directory Premium 1 (P1) ライセンスが必要です。Accessing sign-in reports requires an Azure Active Directory premium 1 (P1) license. サインインへのアクセス中にこのようなエラー メッセージが表示された場合は、テナントに Azure AD P1 ライセンスがあることを確認してください。If you see this error message while accessing sign-ins, make sure that your tenant is licensed with an Azure AD P1 license.

エラー:許可されたロールにユーザーが含まれません。Error: The allowed roles does not include User.

API を使用して監査ログへのアクセスまたはサインインを試みるときにエラーが発生しないようにします。Avoid errors trying to access audit logs or sign-in using the API. アカウントが Azure Active Directory テナントのセキュリティ閲覧者ロールまたはレポート閲覧者ロールの一部であることを確認します。Make sure your account is part of the Security Reader or Report Reader role in your Azure Active Directory tenant.

エラー:アプリケーションに AAD の 'ディレクトリ データの読み取り' アクセス許可がありませんError: Application missing AAD 'Read directory data' permission

エラー:アプリケーションに MSGraph API の 'すべての監査ログ データの読み取り' アクセス許可がありませんError: Application missing MSGraph API 'Read all audit log data' permission

Azure Active Directory レポート API にアクセスするための前提条件」の手順に従って、アプリケーションが適切なアクセス許可のセットを使用して実行されていることを確認してください。Follow the steps in the Prerequisites to access the Azure Active Directory reporting API to ensure your application is running with the right set of permissions.

次の手順Next steps