Cloud Run-MCP-Server mit IAP authentifizieren

Mit Identity-Aware Proxy (IAP) können Sie auf Cloud Run bereitgestellte MCP-Server (Model Context Protocol) mit einer zentralen Identitätsbestätigung schützen. Anschließend können Sie Clients wie die Gemini CLI oder KI-Agenten so konfigurieren, dass sie sich über IAP authentifizieren und Tools sicher auf Ihrem Remote-Server ausführen.

Hinweis

  1. Prüfen Sie, ob Sie die erforderlichen Rollen haben.

  2. Aktivieren Sie Cloud Run in Ihrem Projekt.

  3. Aktivieren Sie IAP in Ihrem Projekt.

  4. Stellen Sie einen MCP-Server auf Cloud Run bereit.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren der IAP-Authentifizierung für Cloud Run-MCP-Server benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

IAP für einen Cloud Run-Dienst konfigurieren

So konfigurieren Sie IAP für Ihren Cloud Run-MCP-Server:

  1. Weisen Sie dem IAP-Dienst-Agent die Rolle „Cloud Run-Aufrufer“ (roles/run.invoker) zu:

    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'
    

    Ersetzen Sie Folgendes:

    • SERVICE_NAME: der Dienstname
    • PROJECT_NUMBER: Ihre Cloud de Confiance by S3NS Projektnummer
  2. Aktivieren Sie IAP, wenn Sie einen neuen Dienst oder eine neue Überarbeitung eines vorhandenen Dienstes bereitstellen:

    Neuer Dienst

    Führen Sie den gcloud beta run deploy Befehl aus, um einen neuen Dienst mit aktiviertem IAP bereitzustellen:

    gcloud beta run deploy SERVICE_NAME \
      --image=CONTAINER_IMAGE \
      --region=REGION \
      --project=PROJECT_ID \
      --allow-unauthenticated \
      --iap \
      --functional-type=mcp-server
    

    Ersetzen Sie Folgendes:

    • SERVICE_NAME: der Dienstname
    • CONTAINER_IMAGE: Ihr Container-Image
    • REGION: die Region, in der Sie Ihren Dienst bereitstellen
    • PROJECT_ID: die ID des Projekts, in dem Cloud Run aktiviert ist

    Vorhandener Dienst

    Führen Sie den gcloud beta run services updateBefehl aus, um eine neue Überarbeitung eines vorhandenen Dienstes mit aktiviertem IAP bereitzustellen:

    gcloud beta run services update SERVICE_NAME \
      --region=REGION \
      --iap \
      --functional-type=mcp-server
    

    Ersetzen Sie Folgendes:

    • SERVICE_NAME: der Dienstname
    • REGION: die Region, in der Sie Ihren Dienst bereitstellen
  3. Erstellen und konfigurieren Sie einen OAuth-Client:

    Informationen zum Registrieren der universellen Client-ID Ihres OAuth-Clients für die Verwendung mit IAP finden Sie unter OAuth-Clients für programmatischen Zugriff freigeben.

    Notieren Sie die folgenden Werte:

    • OAuth-Client-ID
    • OAuth-Clientschlüssel
    • Weiterleitungs-URI
  4. Wenn Sie einen Client wie die Gemini CLI oder Ihren Agent mit Ihrem bereitgestellten MCP-Server verbinden möchten, bearbeiten Sie die Datei ~/.gemini/settings.json.

    Fügen Sie der Datei settings.json die folgende Konfiguration hinzu:

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

    Ersetzen Sie Folgendes:

    • SERVICE_URL: die URL Ihres Cloud Run-Dienstes
    • OAUTH_CLIENT_ID: die Client-ID aus der OAuth-Clientkonfiguration
    • OAUTH_CLIENT_SECRET: der Clientschlüssel aus der OAuth-Clientkonfiguration
    • REDIRECT_URI: der Weiterleitungs-URI aus der OAuth-Clientkonfiguration

Verbindung prüfen

So prüfen Sie, ob sich Ihr Client über IAP authentifizieren und eine Verbindung zum MCP-Server herstellen kann:

  1. Starten Sie im Terminal die Gemini CLI:

    gemini
    
  2. Führen Sie die IAP-Authentifizierung durch, wenn Sie im Browser dazu aufgefordert werden.

  3. Prüfen Sie, ob die Gemini CLI die vom MCP-Server bereitgestellten Tools erfolgreich erkennt und auflistet.