Office 365 Management Activity API の試し方

Office 365 Management Activity API を簡単に試す方法はありませんが、Office365APIEditor を使用することで比較的簡単に動作を確認できます。紹介するのは Exchange 関連の監査ログの取得方法のみですが、同じ要領で他の監査ログも取得できます。Office365APIEditor の通信を Fiddler で取得すれば、どのような通信が行われているのか確認することができます。実際に Office 365 Management Activity API を使用するアプリケーションを開発する場合は、これらの通信を実装することになります。なお前提として、Office 365 統合監査ログが有効になっている (セキュリティ & コンプライアンス センターで監査ログを検索できるようになっている) 必要があります。

Office365APIEditor で試す

  1. Azure Portal にサインインします。
  2. [Active Directory] – [アプリの登録] – [新規登録] をクリックします。
  3. [名前] に任意のアプリの名前を入力します。(例 : App06)
  4. [サポートされているアカウントの種類] から [この組織のディレクトリ内のアカウントのみ] を選択します。
  5. [リダイレクト URI] で [Web] を選択し、任意の URI を入力します。(例 : https://localhost/App06)
  6. [登録] をクリックします。
  7. 表示された [アプリケーション (クライアント) ID] の値を控えておきます。
  8. [管理] – [証明書とシークレット] – [クライアント シークレット] をクリックします。
  9. [新しいクライアント シークレット] をクリックします。
  10. [説明] に任意の説明を入力します。(例 : Key1)
  11. [有効期限] から任意の有効期限を選択します。(例 : 推奨: 6 か月)
  12. [追加] をクリックします。
  13. 表示されたクライアント シークレットの値を控えておきます。
  14. [管理] – [API のアクセス許可] をクリックします。
  15. [アクセス許可の追加] をクリックします。
  16. [Office 365 Management APIs] をクリックします。
  17. [アプリケーションの許可] をクリックします。
  18. [ActivityFeed] – [ActivityFeed.Read] と [ActivityFeed.ReadDlp] のチェックをオンにします。
  19. [アクセス許可の追加] をクリックします。
  20. [<テナント名> に管理者の同意を与えます] をクリックします。
  21. [はい] をクリックします。
  22. Windows PowerShell を起動して Azure Active Directory に接続します。MSOnline モジュールを使用してください。
  23. 「Get-MsolAccountSku | ft AccountObjectId」と実行して、テナントの GUID を控えておきます。
  24. Office365APIEditor をインストールして起動します。
  25. [Tools] – [New Editor] をクリックします。
  26. [File] – [New Access Token] をクリックします。
  27. [v1.0 Endpoint] を選択して [Next] をクリックします。
  28. [Web app / API (Use App Only Token by client secret] を選択して [Next] をクリックします。
  29. [Tenant Name] にアプリを登録したテナントの onmicrosoft.com のドメイン名を入力します。(例 : contoso.onmicrosoft.com)
  30. [Application ID] に手順 7 で控えた値を入力します。
  31. [Resource] から [Office 365 Management API] を選択します。
  32. [Client secret] に手順 13 で控えた値を入力します。
  33. [Next] をクリックします。
  34. 上部ペインの [Request] に「https://manage.office.com/api/v1.0/<テナントの GUID>/activity/feed/subscriptions/start?contentType=Audit.Exchange」と入力し、[Method] から [POST] を選択して [Run] をクリックします。(例 : https://manage.office.com/api/v1.0/7d046331-5ea5-4306-87ae-8d51f3dcc71e/activity/feed/subscriptions/start?contentType=Audit.Exchange)
  35. 同様に「https://manage.office.com/api/v1.0/<テナントの GUID>/activity/feed/subscriptions/list」リクエストを GET で実行し、サブスクリプションが開始している (status が enabled になっている) ことを確認します。
  36. Exchange Online で監査ログが記録されるような任意の操作を行います。
  37. Office 365 Management Activity API 用に監査ログが生成されるまでしばらく (短くて数分、長くて数日) 待ちます。
  38. 「https://manage.office.com/api/v1.0/<テナントの GUID>/activity/feed/subscriptions/content?contentType=Audit.Exchange」リクエストを GET で実行します。Office 365 Management Activity API 用にログが生成されていれば contentUri などのデータが返されます。
  39. 取得した contentUri を GET で実行します。監査ログの内容が返されます。