你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
获取 AI 警报的最终用户上下文
通过 Microsoft Defender for Cloud 针对 AI 工作负载的威胁防护,可通过提供最终用户上下文来增强生成的 AI 警报的可操作性和安全性价值。
将参数添加到 Azure OpenAI API 调用,使 Azure AI 能够将关键的最终用户上下文传递到 Defender for Cloud 的 AI 警报。 借助这种最终用户上下文,能更清楚地了解最终用户,从而开展更有效的调查并获得更有效的结果。 例如,可阻止特定用户或按最终用户关联事件和警报。
先决条件
请阅读概述 - AI 威胁防护。
在 AI 应用程序上启用对 AI 工作负载的威胁防护(预览版)(使用 Azure OpenAI 基础模型,直接通过 Azure Open AI 服务)。 请注意,当利用通过 Azure AI 模型推理 API 部署的模型时,当前不支持此功能。
将安全参数添加到 Azure OpenAI 调用
若要接收具有更多上下文的 AI 安全警报,可将以下任何或所有示例 SecurityContext
参数添加到 Azure OpenAI API 调用。
SecurityContext
中的所有字段都是可选字段。 建议至少传递 EndUserId
和 SourceIP
字段。 EndUserId
和 SourceIP
字段为安全运营中心 (SOC) 分析师提供了调查涉及 AI 资源和生成式 AI 应用程序的安全事件的能力。 有关示例,请参阅 SecurityContext 架构。
如果字段的名称拼写错误,Azure OpenAI API 调用仍将成功。 SecurityContext
架构不要求验证即可通过 Azure OpenAI 用户字段传递。 应用程序开发人员应确保在应用程序向 Azure OpenAI 发出的每个请求中,将有效的 JSON 传递到 user
字段。
SecurityContext 架构
提供的架构由 SecurityContext
对象(包含描述应用程序本身的多个参数)及与应用程序交互的最终用户组成。 这些字段通过提供全面的方法来保护 AI 应用程序,从而帮助安全运营团队调查和缓解安全事件。
最终用户 ID
最终用户类型
最终用户租户的 ID
源 IP 地址
源请求标头
应用程序名称
字段名称 | 类型 | 描述 | 可选 | 示例 |
---|---|---|---|---|
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> | 捕获代理或负载均衡器添加的最终用户请求标头的子集。 Microsoft Defender for Cloud 使用 X-Forwarded-For、X-Real-IP 或 Forwarded 等标头来获取原始客户端的 IP 地址。 用户代理标头提供有关发起 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
字段。