当您的代理需要连接到 Cloud Run 上托管的 MCP 服务器或工具时,您可以使用内置的 Identity and Access Management 和 Identity-Aware Proxy (IAP) 来保护连接。
如果您要将在 Cloud Run 上运行的代理连接到 Cloud Run 上的 MCP 服务器,请参阅对 AI 代理进行身份验证,了解有关 run.invoker 政策的说明。
开发者 CLI 工具和客户端到 MCP 服务器
为了安全地将开发者工具、本地 SDK 和通用 MCP 客户端连接到托管在 Cloud Run 上的私有 MCP 服务器,我们强烈建议您配置 Identity-Aware Proxy。
启用 IAP
为已部署的 Cloud Run MCP 服务启用 IAP:
gcloud run services updateMCP_SERVICE_NAME\ --iap \ --region=REGION
替换以下内容:
MCP_SERVICE_NAME:MCP 服务器服务的名称。REGION:服务部署所在的区域。
授予对 MCP 服务器的访问权限
将调用代理的身份或开发者的用户身份绑定到后端服务上的 IAP 调用者角色:
gcloud iap web add-iam-policy-binding \ --resource-type=cloud-run \ --service=MCP_SERVICE_NAME\ --member="PRINCIPAL" \ --role="roles/iap.httpsResourceAccessor" \ --region=REGION
替换以下内容:
MCP_SERVICE_NAME:MCP 服务器服务的名称。PRINCIPAL:主账号(或成员)的标识符,通常具有以下格式:PRINCIPAL:ID,例如user:my-user@example.com。如需查看PRINCIPAL可以采用的值的完整列表,请参阅政策绑定参考文档。REGION:服务部署所在的区域。
使用 IAP 配置访问权限
默认情况下,IAP 使用 Google 管理的 OAuth 客户端,该客户端仅支持基于浏览器的用户登录。如需允许 CLI 工具和代理以程序化方式访问 MCP 服务器,您必须配置自定义 OAuth 客户端 ID。
- 在 Google Cloud 控制台中,依次点击 API 和服务 > 凭据,创建一个 OAuth 客户端。记下客户端 ID 和客户端密钥。
- 如果配置的是 Antigravity CLI 等本地开发者工具,请将
http://localhost:7777/oauth/callback添加到许可重定向网址中。
- 如果配置的是 Antigravity CLI 等本地开发者工具,请将
- 按照共享 OAuth 客户端 指南中的说明,将 OAuth 客户端添加到 IAP 设置中的程序化访问许可名单中。
更新客户端设置以进行连接
设置程序化访问权限后,更新客户端配置以提供连接详细信息和自定义 OAuth 客户端 ID 凭据。
例如,如需配置 Antigravity CLI 等工具以连接到受保护的 MCP 服务器,请更新设置中的 mcpServers 代码块:
{
"mcpServers": {
"my-mcp-server": {
"httpUrl": "https://my-mcp-server-<PROJECT_NUMBER>.<REGION>.run.app",
"oauth": {
"enabled": "true",
"clientId": "YOUR_CUSTOM_OAUTH_CLIENT_ID",
"clientSecret": "YOUR_CLIENT_SECRET",
"scopes": [
"email",
"openid"
],
"redirectUri": "http://localhost:7777/oauth/callback"
}
}
}
}