Azure DevOps サービス
Note
監査はまだパブリック プレビュー段階です。
さらに処理するためにデータを他の場所に送信する 監査 ストリームを作成する方法について説明します。 監査データを他のセキュリティ インシデントおよびイベント管理 (SIEM) ツールに送信し、特定のイベントのアラートをトリガーする機能、監査データに関するビューを作成する機能、異常検出を実行する機能など、新しい可能性を開きます。 ストリームを設定すると、90 日を超える監査データを格納することもできます。これは、Azure DevOps が組織のために保持する最大データ量です。
重要
監査は、Microsoft Entra ID に対応した組織でのみ利用できます。 詳細については、「Microsoft Entra ID に組織を接続する」を参照してください。
監査ストリームは、Azure DevOps 組織からストリーム ターゲットに監査イベントをフローするパイプラインを表します。 30 分以下ごとに、新しい監査イベントがバンドルされ、ターゲットにストリーミングされます。 構成には、次のストリーム ターゲットを使用できます。
- Splunk – オンプレミスまたはクラウドベースの Splunk に接続します。
- Azure Monitor ログ - 監査ログを Azure Monitor ログに送信します。 Azure Monitor ログに格納されているログはクエリを実行でき、アラートを構成できます。 AzureDevOpsAuditing という名前のテーブルを探します。 Microsoft Sentinel ワークスペースに接続することもできます。
- Azure Event Grid – Azure の内外を問わず、監査ログを別の場所に送信するシナリオでは、 Azure Event Grid 接続を設定できます。
プライベートのリンクされたワークスペースは、現在サポートされていません。
Note
監査は、オンプレミスのデプロイでは使用できません。 監査ストリームを Splunk のオンプレミスまたはクラウドベースのインスタンスに接続することはできますが、受信接続の IP 範囲を許可してください。 詳細については、 許可されるアドレス リストとネットワーク接続、IP アドレスと範囲の制限に関する記述を参照してください。
前提条件
監査は、すべての Azure DevOps Services 組織で既定で無効になっています。 承認された担当者のみが機密性の高い監査情報にアクセスできることを確認します。
| カテゴリ | 必要条件 |
|---|---|
| アクセス許可 |
プロジェクト コレクション管理者グループのメンバー。 組織の所有者は、自動的にこのグループのメンバーになります。 または、ユーザーまたはグループごとに次の監査アクセス許可を 許可に設定します。 - 監査ストリームを管理する - 監査ログを表示する PCA は、監査ストリームの削除を含む組織のストリームを管理するためのアクセス許可をユーザーまたはグループに付与できます。 |
Note
組織で 「ユーザーの表示とコラボレーションを特定のプロジェクトに制限」 プレビュー機能が有効になっている場合、 プロジェクト スコープのユーザー グループのユーザーは 監査 を表示できず、 組織設定 ページの表示も制限されます。 セキュリティ関連の重要な詳細については、「プロジェクトなどのユーザーの可視性の制限」を参照してください。
ストリームの作成
組織にサインインします (
https://dev.azure.com/{Your_Organization})。
[組織の設定] を選択します。
[監査] を選択します。
Note
[組織の設定] に [監査 ] が表示されない場合、組織の監査は現在有効になっていません。 組織の所有者またはプロジェクト コレクション管理者 (PCA) グループのユーザーは、組織ポリシーで 監査を有効化 する必要があります。 適切なアクセス許可がある場合は、[監査] ページでイベントを表示できます。
ストリーム タブに移動し、 新しいストリームを選択します。
構成するストリーム ターゲットを選択し、次の手順から選択してストリーム ターゲットの種類を設定します。
Note
現時点では、ターゲットの種類ごとに 2 つのストリームのみを使用できます。
Splunk ストリームを設定する
ストリームは、HTTP イベント コレクター エンドポイントを介して Splunk にデータを送信します。
Splunk でこの機能を有効にします。 詳細については、この Splunk のドキュメントを参照してください。
有効にすると、HTTP イベント コレクター トークンと Splunk インスタンスへの URL が必要になります。 Splunk ストリームを作成するには、トークンと URL の両方が必要です。
Note
Splunk で新しいイベント コレクター トークンを作成するときは、[インデクサーの受信確認を有効にする] をオンにしないでください。 チェックが入っている場合、Splunk にイベントは流れ込まない。 Splunk でトークンを編集して、その設定を削除できます。
Splunk インスタンスへのポインターである Splunk URL を入力します。 URL の末尾にポートを指定してください。 既定のポートは
8088であるため、URL はhttps://prd-p-2k3mp2xhznbs.cloud.splunk.com:8088またはhttps://prd-p-2k3mp2xhznbs.splunkcloud.comのようになります。作成したイベント コレクター トークンをトークン フィールドに入力します。 トークンは Azure DevOps 内に安全に格納され、UI に再び表示されることはありません。 定期的にトークンをローテーションすることをお勧めします。これを行うには、Splunk から新しいトークンを取得し、ストリームを編集します。
[セットアップ] を選択します。
ストリームが構成され、イベントは 30 分以内に Splunk に到着し始めます。
イベント グリッド ストリームをセットアップする
- Azure で Event Grid トピックを作成する。
Note
[詳細設定] タブに移動し、[イベント スキーマ] が [Event Grid スキーマ] に設定されていることを確認します。 その他のスキーマは、Azure DevOps ではサポートされていません。
"トピック エンドポイント" と 2 つの "アクセス キー" のいずれかをメモしておきます。この情報を使用して、Event Grid 接続を作成します。
トピック エンドポイントといずれかのアクセス キーを入力します。 アクセス キーは Azure DevOps 内に安全に格納され、UI に再び表示されることはありません。 アクセス キーを定期的にローテーションします。これを行うには、Azure Event Grid から新しいキーを取得し、ストリームを編集します。
Event Grid ストリームを構成したら、Event Grid でサブスクリプションを設定して、Azure のほぼすべての場所にデータを送信できます。
Azure Monitor ログ ストリームを設定する
- ログ分析ワークスペースを作成します。
- ワークスペースを開き、[ 概要] を選択します。
- ワークスペース ID、リソース グループ、ワークスペース名を書き留めます。
- 次のいずれかの方法を使用して共有キーを取得します。
-
PowerShell と Az.OperationalInsights モジュールの使用:
Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName <Resource group> -Name <Workspace name> -
Azure CLI を使用する場合:
az monitor log-analytics workspace get-shared-keys --resource-group <Resource group> --workspace-name <Workspace name> - REST API の使用:共有キーの取得 API を呼び出す
Note
Azure portal を使用してワークスペース キーに直接アクセスすることは非推奨です。 PowerShell、Azure CLI、または REST API のメソッドを使用して、プログラムで共有キーを取得します。
同じ初期手順に進み、ストリームを作成して Azure Monitor ログ ストリームを設定します。
ターゲット オプションとして、 Azure Monitor ログを選択します。
ワークスペース ID と主キーを入力し、 設定を選択します。 主キーは Azure DevOps 内に安全に格納され、UI に再び表示されることはありません。 キーを定期的にローテーションします。そのためには、Azure Monitor ログから新しいキーを取得し、ストリームを編集します。
ストリームが有効になり、30 分以内に新しいイベントのフローが開始されます。 AzureDevOpsAuditing テーブルを参照することができます。
Note
Azure Monitor ログの既定の保持時間は 30 日のみです。 ワークスペースの設定の [使用量と推定コスト] で データ保持 を選択することで、より長いリテンション期間を構成して選択できます。 このアクションにより、さらに多くの料金が発生します。 詳細については、 ドキュメント を参照して、Azure Monitor ログを使用して使用状況とコストを管理します。
ストリームの編集
ストリーム ターゲットに関する詳細は、時間の経過と同時に変化する可能性があります。 これらの変更をストリームに反映するには、それらを編集します。 ストリームを編集するには、 監査ストリームの管理 アクセス許可があることを確認します。
編集するストリームの横にある右端にある縦 3 つのドットを選択し、 編集ストリームを選択します。
保存を選択します。
編集に使用できるパラメーターは、ストリームの種類によって異なります。
ストリームを無効にする
無効にするストリームの横にある 有効化 トグルを オン から オフ にします。
ストリームで障害が発生すると、ストリームが無効になる可能性があります。 エラーの詳細は、ストリームの横に表示される状態から取得することも、 ストリームの編集 を選択して取得することもできます。 ストリームを手動で無効にしてから、後で再度有効にすることもできます。
保存を選択します。
無効になっているストリームを再度有効にすることができます。 これは、過去 7 日間に見逃された監査イベントに追いつきます。 そうすることで、ストリームが無効にされた期間のイベントを見逃すことはありません。
Note
ストリームが 7 日以上無効になっている場合、7 日より前のイベントはキャッチアップに含まれません。
ストリームを削除する
ストリームを削除するには、 監査ストリームの削除 アクセス許可があることを確認します。
重要
ストリームを削除すると、元に戻すことはできません。
削除するストリームにカーソルを合わせ、右端にある垂直の 3 つのドットを選択します。
[ストリームの削除] を選択します。
確認 を選択します。
システムによってストリームが削除されます。 削除前の未送信のイベントは送信されません。