你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 上 AI 工作负荷的安全建议
本文为在 Azure 上运行 AI 工作负荷的组织提供了安全建议。 它重点介绍 Azure AI 平台即服务(PaaS)解决方案,包括 Azure AI Foundry、Azure OpenAI、Azure 机器学习和 Azure AI 服务。 它涵盖了生成式和非生成式 AI 工作负荷。
随着 AI 越来越多地融入业务运营,保护这些资源免受潜在威胁对于维护数据完整性和合规性至关重要。 应用标准化的安全基线并遵循架构良好的框架,有助于组织保护其 AI 基础结构免受漏洞攻击。
保护 AI 资源
保护 AI 资源意味着应用安全基线和最佳做法来保护用于 Azure 上 AI 工作负荷的基础结构。 这种保护可将外部威胁的风险降至最低,并确保整个组织的安全态势保持一致。
保护 Azure AI 平台。 对每个 AI 资源的 Azure 安全基线应用进行标准化。 遵循 Azure 架构良好的框架中 Azure 服务指南的安全建议。
Azure AI 平台安全基线 | Azure 架构良好的框架服务指南 |
---|---|
Azure 机器学习 | Azure 机器学习 |
Azure AI Foundry | |
Azure OpenAI | Azure OpenAI |
保护 AI 模型
确保 AI 模型的安全是指实施威胁防护、监控提示注入风险、验证模型完整性和集中管理。 这些做法可确保 AI 模型不受恶意操纵,保持其可靠性,并提供准确的结果。
为所有 AI 模型实现威胁防护。 使用 Microsoft Defender for Cloud 来保护 AI 模型免受提示注入攻击和模型操纵等威胁。 此工具可对 AI 工作负荷进行持续监控,从而帮助检测和预防新出现的威胁。 在所有工作负荷中实现这种保护可确保整个组织的安全态势保持一致。
监控输出并应用提示屏蔽。 定期检查 AI 模型返回的数据,以检测并缓解与恶意或不可预测的用户提示相关的风险。 实现提示屏蔽以扫描文本,防范用户输入对生成式 Al 模型的攻击风险。
确保模型验证。 建立全公司范围的验证机制,以便确保使用的所有 AI 模型均合法、安全。 如果使用开源模型,则应使用模型签名或其他验证流程来确认 AI 模型的真实性,从而防止部署未经授权或篡改的模型。
考虑使用 AI 网关。Azure API 管理 (APIM) 可帮助确保跨 AI 工作负荷的一致安全性。 使用其内置策略进行流量控制和安全执行。 将 APIM 与 Microsoft Entra ID 集成,以集中身份验证和授权,并确保只有授权用户或应用程序才能与 AI 模型进行交互。 确保在反向代理的托管标识上配置最低访问权限。 有关详细信息,请参阅使用 APIM 进行 AI 身份验证
安全 AI 访问
确保 AI 访问安全包括为管理平面和外部访问 AI 资源建立身份验证和授权控制。 适当的访问管理可限制资源的使用,以便使其仅限于拥有经核实权限的用户。 它可以减少未经授权与 AI 模型交互的机会。 基于角色的访问和有条件的访问策略等强访问控制有助于保护敏感数据并保持符合安全标准。
组织资源和访问控制。 使用不同的工作区来组织和管理数据集、模型和实验等 AI 工件。 工作区可集中管理资源,简化访问控制。 例如,使用 Azure AI Foundry 中的 项目 高效管理资源和权限,从而促进协作,同时维护安全边界。
使用 Microsoft Entra ID 进行身份验证 尽可能避免使用静态 API 密钥,而是改用 Microsoft Entra ID 进行身份验证。 这一步骤通过集中式标识管理提高了安全性,并减少了机密管理开销。 同时还要限制 API 密钥的分发。 在进行身份验证时,应首选 Microsoft Entra ID 中的标识而不是 API 密钥。 审核具有 API 密钥访问权限的人员名单,以确保其保持最新状态。 有关身份验证指南,请参阅 Azure AI Foundry、Azure OpenAI、Azure AI 服务、Azure 机器学习。
配置身份验证。 启用多重身份验证 (MFA),并为敏感帐户选择辅助管理帐户或使用 Privileged Identity Management (PIM) 进行实时访问。 使用 Azure Bastion 等服务限制控制平面访问,将其作为进入专用网络的安全入口。
使用有条件访问策略。 实现基于风险的有条件访问策略,以应对异常登录活动或可疑行为。 利用用户位置、设备状态和登录行为等信号来触发额外的验证步骤。 要求在访问关键 AI 资源时使用 MFA,以提高安全性。 根据地理位置或受信任的 IP 范围来限制对 AI 基础结构的访问。 确保只有合规的设备(符合安全要求的设备)才能访问 AI 资源。
配置最低访问权限。 通过实现基于角色的访问控制 (RBAC) 来配置最低权限访问,以提供最低限度的数据和服务访问。 根据用户和组的职责为其分配角色。 使用 Azure RBAC 对虚拟机和存储帐户等特定资源的访问控制进行微调。 确保用户只有执行任务所需的最低访问权限级别。 定期评审和调整权限,防止出现权限攀升。 例如,
角色 示例权限 数据科学家 数据存储的读/写权限、运行训练作业的权限以及访问模型训练环境的权限。 AI 开发人员 访问开发环境、部署权限以及修改 AI 应用程序的能力。 IT 管理员 对管理基础结构、网络配置和安全策略的完全访问权限。 确保 Azure 服务间交互的安全。 使用托管标识以允许 Azure 服务在不管理凭据的情况下相互进行身份验证。
确保 AI 模型终结点的外部访问安全。 要求客户端在访问 AI 模型终结点时使用 Microsoft Entra ID 进行身份验证。 考虑在 AI 模型终结点前使用 Azure API 管理作为 AI 网关,以执行访问策略、控制使用并提供监控功能。
保护 AI 执行
确保 AI 执行的安全涉及保护 AI 代理(如虚拟助理或自治代理)根据用户请求来运行代码的过程。 隔离执行环境、进行代码评审并设置资源限制。 这些措施有助于确保相关执行不会影响系统的稳定性或安全性。 这些做法可以防止恶意活动,保护 AI 代理运行系统的完整性,从而使其在安全框架内可靠运行。
实现隔离机制。 利用动态会话管理(如 Azure 容器应用中的动态会话)来确保每次代码执行都在一个全新的隔离环境中进行,并在使用后销毁。
保护执行代码。 在部署脚本供 AI 代理执行之前,进行全面的代码评审和测试。 这一过程有助于识别和减少潜在的漏洞。 使用版本控制系统来管理代码更改,同时确保只会执行已批准版本的脚本。
实现资源限制。 为代码执行环境设置资源限制(CPU、内存、磁盘使用情况),以防止任何单次执行消耗过多资源,避免可能干扰到其他服务。 定义执行超时,以便确保自动终止长期运行或可能停滞的进程。
有关详细信息,请参阅如何使用 Azure OpenAI 服务来创建助手、如何使用 Azure OpenAI 助手来调用函数以及代理实现。