你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Foundry MCP 服务器最佳做法和安全指南

Foundry MCP 服务器(预览版)工具可跨 Foundry 资源自动执行读取和写入操作,包括部署、数据集、评估、监视和分析。 本指南可帮助你在运行 MCP 工具之前验证意向、降低风险并应用安全和治理做法。

在本文中,你将了解:

  • 如何解释 MCP 服务器响应并验证准确性
  • 写入操作对 Foundry 资源的影响
  • 安全工具执行、资源管理和更改跟踪的最佳做法
  • 安全和治理控制措施,包括标识、RBAC、条件访问、网络隔离和数据驻留
  • 排查常见问题

注意

此功能目前以公共预览版提供。 此预览版在没有服务级别协议的情况下提供,不建议将其用于生产工作负荷。 某些功能可能不受支持,或者可能具有受限功能。 有关详细信息,请参阅 Microsoft Azure 预览版的使用条款

先决条件

解释响应

MCP 服务器提供传递给为代理选择的语言模型的输出(例如,将 Visual Studio Code 与 GitHub Copilot 配合使用)。 语言模型将此输出与聊天上下文相结合,以基于其功能生成最终响应。 始终验证语言模型响应的准确性。 它可能包括在 MCP 服务器的原始输出之外推断或生成的详细信息。

写入操作的影响

写入操作对 Foundry 资源产生重大影响。 与 Foundry MCP 服务器交互时,请谨慎和正确规划,就像使用门户、SDK 或 REST API 时一样。 例如:

  • 部署:立即影响实时应用和计费。
  • 删除:永久删除资源,并可能会中断依赖服务。
  • 评估:消耗计算配额并产生成本。
  • 数据集:可以覆盖现有版本。

资源影响示例:

  • 删除部署会中断使用该终结点的所有应用程序。
  • 大型评估可能会消耗大量配额分配。
  • 新部署会立即开始计费。
  • 覆盖数据集会影响评估可重复性。

安全执行的最佳做法

遵循以下做法,确保写入操作按预期运行:

工具执行验证

  • 验证工具选择:在执行之前确认正确的 MCP 工具和参数是否与你的意图匹配。

  • 检查参数:查看所有工具参数(资源 ID、部署名称、数据集路径),了解准确性。 常见参数格式包括:

    参数类型 格式 在何处找到它
    Foundry 资源 ID /subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.CognitiveServices/accounts/{account_name} 帐户的 Azure 门户“属性”
    Project端点 https://{account_name}.services.ai.azure.com/api/projects/{project_name} Foundry 项目详细信息页
    项目资源 ID /subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.CognitiveServices/accounts/{account_name}/projects/{project_name} Azure门户Properties页或 Foundry 项目详细信息页

    如果提供项目资源 ID,MCP 主机中的语言模型将提取所需的值并构建要传递给 MCP 工具的参数。 在批准之前确认预期参数值将传递到 MCP 工具。

  • 检查环境目标:确保资源终结点和项目 URL 指向预期环境。

通过 MCP 服务器管理资源

  • 检查依赖项:使用监视工具确保在删除资源之前,没有任何应用依赖于资源。
  • 检查配额:在创建新部署或运行大型评估之前查询配额状态。
  • 资源发现:在进行更改之前列出现有部署和数据集。
  • 规划容量:在资源密集型操作之前检查可用的配额和使用情况指标。

安全 MCP 操作做法

  • 在非生产环境中进行测试:首先使用开发项目终结点。
  • 进行增量更改:一次更改一个资源,而不是进行批量更新。
  • 验证更改:使用只读工具确认更改生效。
  • 处理错误:监视针对错误或意外结果的响应。

文档和跟踪

  • Log 操作:使用Azure资源活动日志跟踪受影响的资源。
  • 备份配置:在修改当前部署和数据集配置之前导出它们。
  • 跟踪更改:记录 MCP 操作详细信息,以便进行故障排除和回滚。

安全性和治理

本部分总结了标识、访问控制、策略、网络隔离和数据驻留注意事项,帮助你在 MCP 操作之前应用治理。

标识和访问管理

使用 Microsoft Entra 令牌(范围限定为 https://mcp.ai.azure.com)验证 Foundry MCP 服务器的身份。

Azure基于角色的访问控制(RBAC)适用于 Foundry MCP 服务器支持的 Foundry 资源上的所有操作。 操作根据经过身份验证的用户的权限运行。 下表总结了 RBAC 角色如何映射到 MCP 操作类型:

操作类型 所需的最低角色 例子
读取(列表、获取、查询) 读者 列出部署、获取模型详细信息、查询评估结果
写入(创建、更新) 贡献者 创建部署、更新数据集、开始评估
删除 贡献者 删除部署,删除数据集
管理访问权限 所有者或用户访问管理员 分配角色,管理权限

有关角色分配的详细信息,请参阅 Microsoft Foundry 的基于角色的访问控制

使用条件访问策略控制访问

租户管理员可以使用条件访问策略为所选用户或工作负荷标识授予或阻止对 Foundry MCP 服务器的访问权限。

  1. 运行以下命令,具体化 Foundry MCP 服务器应用程序 ID 的服务主体:

    az ad sp create --id fcdfa2de-b65b-4b54-9a1c-81c8a18282d9
    

    此命令中的应用程序 ID 表示 Foundry MCP 服务器。 可以通过在Entra ID企业应用程序列表中搜索“Foundry MCP 服务器”来验证此应用程序 ID。

  2. 使用应用程序 ID 查找 Foundry MCP 服务器的企业应用程序。 打开 Azure 门户Entra ID页并搜索应用程序 ID fcdfa2de-b65b-4b54-9a1c-81c8a18282d9

    Entra ID 中 MCP 应用的截屏。

  3. 在所选应用的左窗格中的“安全性”下选择“条件访问”,然后选择“新建策略”以配置访问控制。

    1. 在“ 用户”下,选择要限制的特定 用户 并添加要限制的用户或组。
    2. “目标资源”下,确认已选择 Foundry MCP 服务器应用程序。

    应用配置的条件访问选项的屏幕截图。

    为应用创建新的条件访问策略的屏幕截图。

  4. 选择 “授予”,然后选择“ 阻止访问”。

    显示如何阻止应用访问的屏幕截图。

策略到位后,指定的用户和组无法获取连接所需的 Entra 令牌。

网络隔离

Foundry MCP 服务器目前不支持网络隔离。 它公开任何 MCP 客户端都可以使用的公共终结点 https://mcp.ai.azure.com 。 它通过其公开端点连接至 Foundry 资源。 如果 Foundry 资源使用Azure专用链接,则服务器无法访问它们,并且操作失败并出现连接错误。

注意

此限制适用于托管的 Foundry MCP 服务器(mcp.ai.azure.com)。 如果构建自己的 MCP 服务器并将其连接到 Foundry 代理服务,则代理服务通过标准代理设置和专用网络支持 专用 MCP 服务器终结点

数据驻留性

Foundry MCP 服务器使用全局无状态代理体系结构。 与 MCP 服务器交互的后端服务创建的数据在所选区域中保持静态加密。 MCP 服务器本身不存储数据。 为了获得性能和可用性,可以在欧盟(欧盟)或美国(美国)的数据中心处理请求和响应,并且所有数据都在传输中加密。

重要

使用此预览功能,你确认并同意可能发生的任何跨区域处理。 例如,美国用户访问的欧盟资源可以通过美国基础结构进行路由。 如果你的组织需要严格的区域内处理,请不要使用 Foundry MCP 服务器,或者如果使用,必须将其限制在所选区域内的场景中。

故障 排除

使用此部分快速诊断常见的 MCP 服务器问题。

身份验证失败

如果收到401 Unauthorized错误或登录提示未弹出:

  1. 在Visual Studio Code或正在使用的工具中注销Azure帐户。
  2. 使用有权访问Azure订阅的Microsoft 帐户重新登录。
  3. 通过在终端中运行 az account get-access-token --resource https://mcp.ai.azure.com ,验证访问令牌是否有效。

如果令牌请求失败,请确认帐户具有所需的Entra ID权限。 有关详细信息,请参阅 Entra ID 中的用户和身份验证管理

权限错误

如果在运行 MCP 工具时看到 403 Forbidden 或“拒绝访问”错误:

  1. 打开Azure门户并导航到 Foundry 项目。
  2. 选择 访问控制(IAM), 并验证帐户是否具有参与者或更高角色。
  3. 如果你最近收到角色分配,请等待几分钟以便生效,然后重试。

有关详细信息,请参阅Microsoft Foundry 的基于角色的访问控制

服务器连接问题

如果 MCP 服务器无法启动或超时:

  1. 验证您的网络是否允许到https://mcp.ai.azure.com的出站HTTPS连接。
  2. 检查可能阻止终结点的代理或防火墙规则。
  3. 请尝试在浏览器中打开 https://mcp.ai.azure.com 以确认可访问性。

如果 Foundry 资源使用Azure专用链接,则托管的 Foundry MCP 服务器无法通过公共终结点访问它们。 禁用专用链接、使用 SDK/REST API,或者通过 Foundry 代理服务将 custom MCP 服务器与专用网络配合使用

工具发现问题

如果 Foundry 工具未显示在代理模式工具列表中:

  1. 在Visual Studio Code中打开 Output 视图,然后选择 MCP 服务器日志通道。
  2. 验证服务器是否显示已成功连接并已注册工具。
  3. 重启Visual Studio Code或重新加载工作区。
  4. 如果工具仍未显示,请删除并重新添加服务器配置。