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
Aktivieren Sie Cloud Run in Ihrem Projekt.
Aktivieren Sie IAP in Ihrem Projekt.
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:
- Rolle „Cloud Run-Administrator“ (
roles/run.admin) für das Projekt - Rolle „IAP-Administrator“ (
roles/iap.admin) für das Projekt -
Neuen Dienst bereitstellen oder neue Überarbeitung eines vorhandenen Dienstes bereitstellen:
- Rolle „Dienstkontonutzer“ (
roles/iam.serviceAccountUser) für das Laufzeitdienstkonto - Rolle „Artifact Registry-Leser“ (
roles/artifactregistry.reader) für das Container-Image-Repository
- Rolle „Dienstkontonutzer“ (
-
OAuth-Client erstellen und konfigurieren:
Rolle „OAuth Config Editor“ (
roles/oauthconfig.editor) für das Projekt -
Verbindung zum oder Aufruf des IAP-geschützten MCP-Servers:
Rolle „IAP-geschützter Web-App-Nutzer“ (
roles/iap.httpsResourceAccessor) für das Projekt oder den Cloud Run-Dienst
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:
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 DienstnamePROJECT_NUMBER: Ihre Cloud de Confiance by S3NS Projektnummer
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 deployBefehl 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 DienstnameCONTAINER_IMAGE: Ihr Container-ImageREGION: die Region, in der Sie Ihren Dienst bereitstellenPROJECT_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 DienstnameREGION: die Region, in der Sie Ihren Dienst bereitstellen
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
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.jsondie 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-DienstesOAUTH_CLIENT_ID: die Client-ID aus der OAuth-ClientkonfigurationOAUTH_CLIENT_SECRET: der Clientschlüssel aus der OAuth-ClientkonfigurationREDIRECT_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:
Starten Sie im Terminal die Gemini CLI:
gemini
Führen Sie die IAP-Authentifizierung durch, wenn Sie im Browser dazu aufgefordert werden.
Prüfen Sie, ob die Gemini CLI die vom MCP-Server bereitgestellten Tools erfolgreich erkennt und auflistet.