監査ログへのアクセス、エクスポート、およびフィルター処理

Azure DevOps Services

注意

監査はまだパブリック プレビュー段階です。

Azure DevOps 環境内のアクティビティを追跡することは、セキュリティとコンプライアンスにとって非常に重要です。 監査は、これらのアクティビティの監視とログ記録に役立ち、透明性と説明責任を提供します。 この記事では、監査機能について説明し、それを設定して効果的に使用する方法について説明します。

重要

監査は、Microsoft Entra ID によって管理されている組織でのみ利用できます。 詳細については、「Microsoft Entra ID に組織を接続する」を参照してください。

監査の変更は、organization内のユーザーまたはサービス ID が成果物の状態を編集するたびに発生します。 ログに記録される可能性のあるイベントは次のとおりです。

  • アクセス許可の変更
  • 削除されたリソース
  • ブランチ ポリシーの変更
  • アクセスとダウンロードをログに記録する
  • その他の多くの種類の変更

これらのログはアクティビティの包括的な記録を提供し、Azure DevOps 組織のセキュリティとコンプライアンスを監視および管理するのに役立ちます。

監査イベントは、削除されるまで 90 日間保存されます。 データを長く保持するには、監査イベントを外部の場所にバックアップします。

Note

監査は、Azure DevOps Serverのオンプレミスデプロイでは使用できません。 ただし、 Auditing ストリーム Azure DevOps Services インスタンスからオンプレミスまたはクラウド ベースの Splunk インスタンスに接続できます。 受信接続の IP 範囲を許可していることを確認します。 詳細については、「 許可されたアドレス一覧とネットワーク接続、IP アドレス、および範囲の制限」を参照してください。

前提条件

監査は、すべての Azure DevOps Services 組織で既定で無効になっています。

アクセス許可:

  • 監査 有効にするにはプロジェクト コレクション管理者グループのメンバーになります。 組織の所有者は、自動的にこのグループのメンバーになります。
  • Organization 設定の Security > Permissions ページを使用して、任意のグループに特定の監査アクセス許可を付与。 このアクションにより、監査ログを表示および管理できるユーザーを柔軟に管理でき、承認された担当者のみが機密性の高い監査情報にアクセスできるようになります。

Note

特定のプロジェクトに対するユーザーの可視性とコラボレーションプレビュー機能が有効になっている場合、Project-Scoped Users グループのユーザーはAuditingを表示できず、Organization 設定ページへの表示が制限されます。 セキュリティ関連の重要な詳細については、「 組織の管理」、プロジェクトのユーザーの可視性の制限などを参照してください

監査を有効または無効にする

  1. 組織にサインインします (https://dev.azure.com/{yourorganization})。

  2. 歯車アイコン [設定の編集] を選択します。

  3. [セキュリティ] ヘッダーの下にある [ポリシー] を選択します。

  4. ログ監査イベントボタンをオンに切り替えます。

    監査ポリシーが有効になっているスクリーンショット。

    組織に対して監査が有効になっています。 ページを更新すると、 Auditing がサイドバーに表示されます。 監査イベントは、監査ログに表示され、構成済みの監査ストリームを通じて開始されます。

  5. 監査イベントを受け取る必要がなくなった場合は、 [監査の有効化 ] ボタンをオフに切り替えます。 この操作により、サイドバーから Auditing ページが削除され、[監査ログ] ページが使用できなくなります。 監査ストリームはイベントの受信を停止します。

アクセスの監査

  1. 組織にサインインします (https://dev.azure.com/{yourorganization})。

  2. 歯車アイコン [設定の編集] を選択します。

    強調表示された [組織の設定] ボタンを示すスクリーンショット。

  3. [ 監査] を選択します

    [監査プレビュー] ページ

  4. [組織の設定] に [監査] が表示されない場合は、監査イベントを表示するためのアクセス権がありません。 Project Collection Administrators グループは、監査ページを表示できるように、他のユーザーとグループにアクセス許可を付与できます。 これを行うには、[ アクセス許可] を選択し、監査アクセスを提供するグループまたはユーザーを見つけます。

    強調表示された [アクセス許可] タブのスクリーンショット。

  5. [ 監査ログの表示]許可するように設定し、[ 変更の保存] を選択します。

    アクセス許可の監査プレビューのスクリーンショット。

    ユーザーまたはグループのメンバーは、組織の監査イベントを表示するアクセス権を持っています。

監査ログを確認する

[監査] ページでは、organizationに記録された監査イベントを簡単に表示できます。 監査ページに表示される情報については、次の説明を参照してください。

監査イベントの情報と詳細

情報 詳細
Actor 監査イベントをトリガーした個人の表示名。
IP 監査イベントをトリガーした個人の IP アドレス。
Timestamp トリガーされたイベントが発生した時刻。 時刻は、該当するタイム ゾーンにローカライズされます。
領域 イベントが発生した Azure DevOps の製品区分。
カテゴリ 発生したアクションの種類 (変更、名前変更、作成、削除、削除、実行、アクセス イベントなど) の説明。
詳細 イベント中に発生した状況の簡単な説明。

各監査イベントには、[監査] ページで表示可能な内容に関する追加情報も記録されます。 この情報には、認証メカニズム、同様のイベントをリンクするための関連付け ID、ユーザー エージェント、監査イベントの種類に応じたその他のデータが含まれます。 この情報は、CSV または JSON を使用して監査イベントをエクスポートすることによってのみ表示できます。

ID と関連付け ID

各監査イベントには、 IDCorrelationIDと呼ばれる一意の識別子があります。 関連付け ID は、関連する監査イベントを見つけるのに役立ちます。 たとえば、プロジェクトを作成すると、数十件の監査イベントが生成され、すべて同じ関連付け ID でリンクされます。

監査イベント ID が関連付け ID と一致すると、監査イベントが親イベントまたは元のイベントであることを示します。 発生元のイベントのみを表示するには、 IDCorrelation IDと等しいイベントを探します。 イベントとその関連イベントを調査する場合は、発生元のイベントの ID と一致する関連付け ID を持つすべてのイベントを検索します。 すべてのイベントに関連するイベントがあるわけではありません。

一括イベント

一部の監査イベント ("一括監査イベント" と呼ばれます) には、同時に行われた複数のアクションを含めることができます。 これらのイベントは、イベントの右端にある [情報] アイコンで識別できます。 一括監査イベントに含まれるアクションの個々の詳細を表示するには、ダウンロードした監査データを参照してください。

監査の詳細情報アイコンを示すスクリーンショット。

情報アイコンを選択すると、監査イベントの詳細が表示されます。

監査イベントを確認すると、 Category 列と Area 列を使用すると、特定の種類のイベントをフィルター処理して検索できます。 次の表に、カテゴリと領域とその説明を示します。

イベントの一覧

毎月の新しい監査イベントの追加に努めています。 現在利用できない追跡対象を確認したいイベントがある場合は、 Developer Community で提案を共有してください。

監査機能を使用して生成できるすべてのイベントの包括的な一覧については、 Auditing イベントの一覧を参照してください。

Note

organizationログのイベント領域を確認しますか? 監査ログ クエリ API をチェックしてください。 https://auditservice.dev.azure.com/{YOUR_ORGANIZATION}/_apis/audit/actions{YOUR_ORGANIZATION} をorganizationの名前に置き換えます。 この API は、organizationが出力できるすべての監査イベント (またはアクション) の一覧を返します。

日付と時刻で監査ログをフィルター処理する

現在の監査 UI では、日付または時刻の範囲でのみイベントをフィルター処理できます。

  1. 表示可能な監査イベントを絞り込むには、時間フィルターを選択します。

    日付と時刻による監査エントリ フィルターを示すスクリーンショット。

  2. フィルターを使用して、過去 90 日以内の任意の時間範囲を選択し、その範囲を分単位で絞り込みます。 時間範囲を選択したら、c

  3. 時間範囲セレクターで Apply を選択して検索を開始します。 既定では、上位 200 件の結果は、その時刻の選択に対して返されます。 さらに多くの結果がある場合は、下にスクロールして、より多くのエントリをページに読み込むことができます。

監査イベントをエクスポートする

監査データに対してより詳細な検索を実行するか、90 日を超えるデータを格納するには、既存の監査イベントをエクスポートします。 エクスポートしたデータは、別の場所またはサービスに格納できます。

監査イベントをエクスポートするには、 ダウンロード ボタンを選択します。 CSV または JSON ファイルとしてデータをダウンロードできます。

ダウンロードには、フィルターで選択した時間範囲に基づくイベントが含まれます。 たとえば、1 日を選択すると、1 日分のデータが得られます。 90 日間すべてを取得するには、時間範囲フィルターから 90 日 を選択し、ダウンロードを開始します。

Note

監査イベントの長期的な保存と分析を行う場合は、 Audit Streaming 機能 を使用して、イベントをセキュリティ情報イベント管理 (SIEM) ツールに送信することを検討してください。 大まかなデータ分析のために監査ログをエクスポートすることをお勧めします。

制限事項

監査できる内容には、次の制限事項が適用されます。

  • Microsoft Entra グループ メンバーシップの変更: 監査ログには、イベント 領域が Groupsされたときの Azure DevOps グループとグループ メンバーシップの更新が含まれます。 ただし、Microsoft Entra グループを使用してメンバーシップを管理する場合、これらの Microsoft Entra グループからのユーザーの追加と削除は、これらのログには含まれません。 Microsoft Entra 監査ログを確認して、ユーザーまたはグループが Microsoft Entra グループに追加または削除されたタイミングを確認します。
  • サインイン イベント: Azure DevOps はサインイン イベントを追跡しません。 Microsoft Entra ID へのサインイン イベントを確認するには、Microsoft Entra 監査ログを表示します。
  • 間接ユーザーの追加: 場合によっては、ユーザーが間接的に組織に追加され、監査ログに Azure DevOps Services によって追加されたと表示されることがあります。 たとえば、ユーザーが作業項目に割り当てられている場合、ユーザーは組織に自動的に追加される可能性があります。 追加されたユーザーに対して監査イベントが生成されますが、ユーザーの追加をトリガーした作業項目の割り当てに対応する監査イベントはありません。 これらのイベントをトレースするには、次のアクションを検討してください。
    • 対応するタイムスタンプの作業項目履歴を確認して、このユーザーが作業項目に割り当てられているかどうかを確認します。
    • コンテキストを提供する可能性がある関連イベントがないか、監査ログを確認します。

よく寄せられる質問

Q: DirectoryServiceAddMember グループとは何ですか。また、監査ログに表示される理由は何ですか?

A: DirectoryServiceAddMember グループは、組織のメンバーシップを管理するのに役立ちます。 多くのシステム、ユーザー、および管理アクションは、このシステム グループのメンバーシップに影響を与える可能性があります。 このグループは内部プロセスにのみ使用されるため、このグループへのメンバーシップの変更をキャプチャする監査ログ エントリは無視できます。