エージェントが Cloud Run でホストされている MCP サーバーまたはツールに接続する必要がある場合は、組み込みの Identity and Access Management と Identity-Aware Proxy(IAP)を使用して接続を保護できます。
Cloud Run で実行されているエージェントを Cloud Run の MCP サーバーに接続する場合は、run.invoker ポリシーの手順について、AI エージェントを認証するをご覧ください。
デベロッパー 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 サーバーへのアクセス権を付与する
呼び出し元エージェントの ID またはデベロッパーのユーザー ID をバックエンド サービスの 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 などのローカル デベロッパー ツール用に構成する場合は、許可リストに登録されたリダイレクト URL に
http://localhost:7777/oauth/callbackを追加します。
- Antigravity CLI などのローカル デベロッパー ツール用に構成する場合は、許可リストに登録されたリダイレクト URL に
- OAuth クライアントを共有するのガイドに沿って、IAP 設定でプログラムによるアクセスのための許可リストに OAuth クライアントを追加します。
接続するためのクライアント設定を更新する
プログラムによるアクセスを設定したら、接続の詳細とカスタム OAuth クライアント ID の認証情報を指定するようにクライアント構成を更新します。
たとえば、保護された MCP サーバーに接続するように Antigravity CLI などのツールを構成するには、設定の 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"
}
}
}
}