MCP-Server authentifizieren

Wenn Ihr Agent eine Verbindung zu einem MCP-Server oder -Tool herstellen muss, der bzw. das in Cloud Run gehostet wird, können Sie die Verbindung mit der integrierten Identity and Access Management und Identity-Aware Proxy (IAP) sichern.

Wenn Sie einen Agent, der in Cloud Run ausgeführt wird, mit einem MCP Server in Cloud Run verbinden, finden Sie unter KI-Agente authentifizieren eine Anleitung zu run.invoker Richtlinien.

CLI-Tools und Clients für Entwickler mit MCP-Server verbinden

Um Entwicklertools, lokale SDKs und generische MCP-Clients sicher mit einem privaten MCP-Server zu verbinden, der in Cloud Run gehostet wird, empfehlen wir dringend, Identity-Aware Proxy zu konfigurieren.

IAP aktivieren

Aktivieren Sie IAP für Ihren bereitgestellten Cloud Run-MCP-Dienst:

gcloud run services update MCP_SERVICE_NAME \
    --iap \
    --region=REGION

Ersetzen Sie Folgendes:

  • MCP_SERVICE_NAME: der Name Ihres MCP-Serverdienstes.
  • REGION: die Region, in der Ihr Dienst bereitgestellt wird.

Zugriff auf den MCP-Server gewähren

Binden Sie die Identität des aufrufenden Agents oder die Nutzeridentität eines Entwicklers an die IAP-Aufruferrolle für den Back-End-Dienst:

gcloud iap web add-iam-policy-binding \
    --resource-type=cloud-run \
    --service=MCP_SERVICE_NAME \
    --member="PRINCIPAL" \
    --role="roles/iap.httpsResourceAccessor" \
    --region=REGION

Ersetzen Sie Folgendes:

  • MCP_SERVICE_NAME: der Name Ihres MCP-Serverdienstes.
  • PRINCIPAL: Eine Kennung für die Hauptkonten oder Mitglieder, die normalerweise die folgende Form hat: PRINCIPAL:ID. Beispiel: user:my-user@example.com. Eine vollständige Liste der für PRINCIPAL zulässigen Werte finden Sie in der Referenz zur Richtlinienbindung.
  • REGION: die Region, in der Ihr Dienst bereitgestellt wird.

Zugriff mit IAP konfigurieren

Standardmäßig verwendet IAP einen von Google verwalteten OAuth-Client, der nur browserbasierte Nutzeranmeldungen unterstützt. Damit CLI-Tools und -Agents programmatisch auf den MCP-Server zugreifen können, müssen Sie eine benutzerdefinierte OAuth-Client-ID konfigurieren.

  1. Erstellen Sie in der Google Cloud Console unter APIs und Dienste > Anmeldedaten einen OAuth-Client. Notieren Sie sich die Werte unter Client-ID und Clientschlüssel.
    • Wenn Sie die Konfiguration für lokale Entwicklertools wie die Antigravity CLI vornehmen, fügen Sie http://localhost:7777/oauth/callback den URLs für die Weiterleitung auf der Zulassungsliste hinzu.
  2. Fügen Sie den OAuth-Client der Zulassungsliste für den programmatischen Zugriff in Ihren IAP-Einstellungen hinzu. Folgen Sie dazu der Anleitung zum Freigeben von OAuth-Clients.

Client-Einstellungen für die Verbindung aktualisieren

Nachdem Sie den programmatischen Zugriff eingerichtet haben, aktualisieren Sie Ihre Clientkonfiguration, um die Verbindungsdetails und die Anmeldedaten für die benutzerdefinierte OAuth-Client-ID anzugeben.

Wenn Sie beispielsweise ein Tool wie die Antigravity CLI so konfigurieren möchten, dass es eine Verbindung zu Ihrem geschützten MCP-Server herstellt, aktualisieren Sie den Block mcpServers in Ihren Einstellungen:

{
  "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"
      }
    }
  }
}