Identity-Aware Proxy (IAP) 可讓您透過集中式身分驗證,保護部署在 Cloud Run 上的 Model Context Protocol (MCP) 伺服器。接著,您就可以設定 Gemini CLI 或 AI 代理程式等用戶端,透過 IAP 進行驗證,並在遠端伺服器上安全地執行工具。
事前準備
在專案中啟用 Cloud Run。
在專案中啟用 IAP。
必要的角色
如要取得為 Cloud Run MCP 伺服器設定 IAP 驗證所需的權限,請要求管理員授予您下列 IAM 角色:
- 專案的 Cloud Run 管理員 (
roles/run.admin) - 專案的 IAP 管理員 (
roles/iap.admin) -
部署新服務或現有服務的新修訂版本:
- 執行階段服務帳戶的服務帳戶使用者 (
roles/iam.serviceAccountUser) - 容器映像檔存放區的 Artifact Registry 讀取者 (
roles/artifactregistry.reader)
- 執行階段服務帳戶的服務帳戶使用者 (
-
建立及設定 OAuth 用戶端:
在專案中點選「OAuth 設定編輯器」 (
roles/oauthconfig.editor) -
連線至或呼叫受 IAP 保護的 MCP 伺服器:
專案或 Cloud Run 服務的「受 IAP 保護的網頁應用程式使用者」 (
roles/iap.httpsResourceAccessor)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
在 Cloud Run 服務上設定 IAP
如要在 Cloud Run MCP 伺服器上設定 IAP,請執行下列操作:
將 Cloud Run Invoker 角色 (
roles/run.invoker) 授予 IAP 服務代理程式:gcloud beta run services add-iam-policy-binding SERVICE_NAME \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-iap.s3ns-system.iam.gserviceaccount.com' \ --role='roles/run.invoker'更改下列內容:
SERVICE_NAME:服務名稱PROJECT_NUMBER:您的 Cloud de Confiance by S3NS 專案編號
部署新服務或現有服務的新修訂版本時,請啟用 IAP:
新服務
如要部署已啟用 IAP 的新服務,請執行
gcloud beta run deploy指令:gcloud beta run deploy SERVICE_NAME \ --image=CONTAINER_IMAGE \ --region=REGION \ --project=PROJECT_ID \ --allow-unauthenticated \ --iap \ --functional-type=mcp-server
更改下列內容:
SERVICE_NAME:服務名稱CONTAINER_IMAGE:您的容器映像檔REGION:部署服務的區域PROJECT_ID:啟用 Cloud Run 的專案 ID
現有服務
如要部署已啟用 IAP 的現有服務新修訂版本,請執行
gcloud beta run services update指令:gcloud beta run services update SERVICE_NAME \ --region=REGION \ --iap \ --functional-type=mcp-server
更改下列內容:
SERVICE_NAME:服務名稱REGION:部署服務的區域
建立及設定 OAuth 用戶端:
如要註冊 OAuth 用戶端的通用用戶端 ID,以便搭配 IAP 使用,請參閱共用 OAuth 用戶端以進行程式輔助存取。
記錄下列值:
- OAuth 用戶端 ID
- OAuth 用戶端密鑰
- 重新導向 URI
如要將 Gemini CLI 或代理程式等用戶端連線至已部署的 MCP 伺服器,請編輯
~/.gemini/settings.json檔案。在
settings.json檔案中新增以下設定:{ "mcpServers": { "my_mcp_server": { "httpUrl": "https://SERVICE_URL", "oauth": { "enabled": "true", "clientId": "OAUTH_CLIENT_ID", "clientSecret": "OAUTH_CLIENT_SECRET", "scopes": [ "email", "openid" ], "redirectUri": "REDIRECT_URI" } } } }更改下列內容:
SERVICE_URL:Cloud Run 服務網址OAUTH_CLIENT_ID:OAuth 用戶端設定中的用戶端 IDOAUTH_CLIENT_SECRET:OAuth 用戶端設定中的用戶端密鑰REDIRECT_URI:OAuth 用戶端設定中的重新導向 URI
驗證連線
如要確認用戶端可以透過 IAP 驗證並連線至 MCP 伺服器,請執行下列步驟:
在終端機中啟動 Gemini CLI:
gemini
按照瀏覽器中的提示,完成應用程式內結帳驗證流程。
確認 Gemini CLI 成功探索並列出 MCP 伺服器提供的工具。