Office 365 Management Activity API を簡単に試す方法はありませんが、Office365APIEditor を使用することで比較的簡単に動作を確認できます。紹介するのは Exchange 関連の監査ログの取得方法のみですが、同じ要領で他の監査ログも取得できます。Office365APIEditor の通信を Fiddler で取得すれば、どのような通信が行われているのか確認することができます。実際に Office 365 Management Activity API を使用するアプリケーションを開発する場合は、これらの通信を実装することになります。なお前提として、Office 365 統合監査ログが有効になっている (セキュリティ & コンプライアンス センターで監査ログを検索できるようになっている) 必要があります。
Office365APIEditor で試す
- Azure Portal にサインインします。
- [Active Directory] – [アプリの登録] – [新規登録] をクリックします。
- [名前] に任意のアプリの名前を入力します。(例 : App06)
- [サポートされているアカウントの種類] から [この組織のディレクトリ内のアカウントのみ] を選択します。
- [リダイレクト URI] で [Web] を選択し、任意の URI を入力します。(例 : https://localhost/App06)
- [登録] をクリックします。
- 表示された [アプリケーション (クライアント) ID] の値を控えておきます。
- [管理] – [証明書とシークレット] – [クライアント シークレット] をクリックします。
- [新しいクライアント シークレット] をクリックします。
- [説明] に任意の説明を入力します。(例 : Key1)
- [有効期限] から任意の有効期限を選択します。(例 : 推奨: 6 か月)
- [追加] をクリックします。
- 表示されたクライアント シークレットの値を控えておきます。
- [管理] – [API のアクセス許可] をクリックします。
- [アクセス許可の追加] をクリックします。
- [Office 365 Management APIs] をクリックします。
- [アプリケーションの許可] をクリックします。
- [ActivityFeed] – [ActivityFeed.Read] と [ActivityFeed.ReadDlp] のチェックをオンにします。
- [アクセス許可の追加] をクリックします。
- [<テナント名> に管理者の同意を与えます] をクリックします。
- [はい] をクリックします。
- Windows PowerShell を起動して Azure Active Directory に接続します。MSOnline モジュールを使用してください。
- 「Get-MsolAccountSku | ft AccountObjectId」と実行して、テナントの GUID を控えておきます。
- Office365APIEditor をインストールして起動します。
- [Tools] – [New Editor] をクリックします。
- [File] – [New Access Token] をクリックします。
- [v1.0 Endpoint] を選択して [Next] をクリックします。
- [Web app / API (Use App Only Token by client secret] を選択して [Next] をクリックします。
- [Tenant Name] にアプリを登録したテナントの onmicrosoft.com のドメイン名を入力します。(例 : contoso.onmicrosoft.com)
- [Application ID] に手順 7 で控えた値を入力します。
- [Resource] から [Office 365 Management API] を選択します。
- [Client secret] に手順 13 で控えた値を入力します。
- [Next] をクリックします。
- 上部ペインの [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)
- 同様に「https://manage.office.com/api/v1.0/<テナントの GUID>/activity/feed/subscriptions/list」リクエストを GET で実行し、サブスクリプションが開始している (status が enabled になっている) ことを確認します。
- Exchange Online で監査ログが記録されるような任意の操作を行います。
- Office 365 Management Activity API 用に監査ログが生成されるまでしばらく (短くて数分、長くて数日) 待ちます。
- 「https://manage.office.com/api/v1.0/<テナントの GUID>/activity/feed/subscriptions/content?contentType=Audit.Exchange」リクエストを GET で実行します。Office 365 Management Activity API 用にログが生成されていれば contentUri などのデータが返されます。
- 取得した contentUri を GET で実行します。監査ログの内容が返されます。