AI アラートのエンドユーザー コンテキストを取得する
Microsoft Defender for Cloud の AI ワークロードへの脅威に対する保護を使用すると、エンドユーザー コンテキストを提供して、生成された AI アラートの実用性とセキュリティの価値を高めることができます。
Azure OpenAI の API 呼び出しにパラメーターを追加して、Azure AI で、重要なエンドユーザー コンテキストを Defender for Cloud の AI アラートに渡すことができます。 このエンドユーザー コンテキストによりエンド ユーザーの可視性が向上し、調査と結果に、より優れた効果をもたらします。 たとえば、特定のユーザーをブロックしたり、エンド ユーザーによるインシデントとアラートを関連付けたりすることができます。
前提条件
「概要 - AI への脅威に対する保護」をお読みください。
Azure OpenAI サービスで直接提供される Azure OpenAI の基盤モデルを使用して、AI アプリケーション上の AI ワークロードへの脅威に対する保護を有効にする (プレビュー)。 現在、この機能は、Azure AI モデル推論 API を介してデプロイされたモデルを利用する場合はサポートされていないことにご注意ください。
Azure OpenAI 呼び出しにセキュリティ パラメーターを追加する
より多くのコンテキストで AI セキュリティ アラートを受信するには、次のサンプル SecurityContext
パラメーターの一部またはすべてを、Azure OpenAI API 呼び出しに追加します。
SecurityContext
内のフィールドはすべてオプションです。 少なくとも EndUserId
フィールドと SourceIP
フィールドを渡すことをお勧めします。 EndUserId
と SourceIP
フィールドにより、Security Operations Center (SOC) アナリストが、AI リソースと生成 AI アプリケーションを含むセキュリティ インシデントを調査できるようになります。 例については、「SecurityContext スキーマ」を参照してください。
フィールド名のスペルが間違っていても、Azure OpenAI API 呼び出しは成功します。 SecurityContext
スキーマでは、Azure OpenAI ユーザー フィールドをパススルーするための検証が不要です。 アプリケーション開発者は、アプリケーションが Azure OpenAI に対して行うすべての要求で、有効な JSON が user
フィールドに確実に渡されるようにする必要があります。
SecurityContext スキーマ
指定されたスキーマは、アプリケーション自体を記述する複数のパラメーターを含む SecurityContext
オブジェクトと、アプリケーションとやり取りするエンド ユーザーで構成されます。 これらのフィールドは、包括的な AI アプリケーション保護アプローチを提供することで、セキュリティ運用チームがセキュリティ インシデントを調査し軽減するのを支援します。
エンド ユーザー ID
エンド ユーザーの種類
エンド ユーザー テナントの ID
送信元 IP アドレス
ソース要求のヘッダー
アプリケーション名
フィールド名 | Type | 説明 | 省略可能 | 例 |
---|---|---|---|---|
EndUserId | string | 生成 AI アプリケーション内のエンド ユーザーの一意識別子として機能します。 Microsoft Entra ID 認証を、生成 AI アプリケーションで認証済みエンドユーザーに使用する場合、Microsoft Entra ID (旧称 Azure Active Directory) ユーザー オブジェクト ID である必要があります。 | はい | 1234a123-12a3-1234-1ab2-a1b2c34d56e |
EndUserIdType | string | エンド ユーザー識別子の種類を指定します。 Microsoft Entra (旧称 Azure Active Directory) のユーザー オブジェクト ID を使用する場合は、Microsoft Entra ID に設定する必要があります。 | はい。EndUserId が渡されない場合、これは適切な値に設定する必要があります。 | Microsoft Entra ID |
EndUserTenantId | string | このプロパティは、エンド ユーザーが属する Microsoft 365 テナント ID を指定します。 これは、生成 AI アプリケーションがマルチテナントであり、さまざまなテナントのエンド ユーザーがサインインできる場合に必要です。 | はい | 1234a123-12a3-1234-1ab2-a1b2c34d56e |
SourceIP | string | サーバーから直接見たクライアントの IP アドレスをキャプチャします。 これは、サーバーへの接続を行った直接のクライアント IP アドレスを表します。 クライアントがプロキシまたはロード バランサーを介して接続する場合、SourceIP は、そのプロキシまたはロード バランサーの IP アドレスです。元のクライアントの IP アドレスではありません。 - ASP.NET: HttpContext.Connection.RemoteIpAddress - Python: request.remote_addr |
はい | 12.34.567.891, 1234:1:123a:123:1a2b:ab1:ab1c:ab12 |
SourceRequestHeaders | Dictionary<string, string> | プロキシまたはロード バランサーが追加するエンド ユーザーの要求ヘッダーのサブセットをキャプチャします。 X-Forwarded-For、X-Real-IP、Forwarded などのヘッダーは、元のクライアントの IP アドレスを取得するために Microsoft Defender for Cloud によって使用されます。 User-Agent ヘッダーは、API 要求を開始するクライアント ソフトウェアに関するコンテキストを提供します。 推奨されるヘッダー名: User-Agent、X-Forwarded-For、X-Real-IP、Forwarded、CF-Connecting-IP、True-Client-IP、X-Client-IP、X-Forwarded、Forwarded-For |
はい | - |
ApplicationName | string | 識別と UI の目的で使用されるアプリケーションの名前。 | はい | Contoso HR Copilot、顧客販売チャット ボット。 |
SecurityContext をアプリケーションに追加する
このドキュメントで提供されているすべてのパラメーターを、Azure OpenAI に対する生成 AI アプリケーションの API 呼び出しに追加することをお勧めします。
次のいずれかの例を選択します。
サンプル コードを見つけてコピーします。
そのコードを、Azure OpenAI API が呼び出される生成 AI アプリケーションのコードに追加します。
要件に合わせてコード パラメーターを変更します。
変更を保存します。
この手順の実行後、アプリケーションによる Azure OpenAI へのすべての要求で、有効な JSON が user
フィールドに確実に渡されるようにする必要があります。