Identity-Aware Proxy (IAP) memungkinkan Anda mengamankan server Model Context Protocol (MCP) yang di-deploy di Cloud Run dengan verifikasi identitas terpusat. Kemudian, Anda dapat mengonfigurasi klien seperti Gemini CLI atau agen AI untuk melakukan autentikasi melalui IAP dan menjalankan alat secara aman di server jarak jauh.
Sebelum memulai
Aktifkan Cloud Run di project Anda.
Aktifkan IAP di project Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan guna mengonfigurasi autentikasi IAP untuk server MCP Cloud Run, minta administrator untuk memberi Anda peran IAM berikut:
- Admin Cloud Run (
roles/run.admin) di project - Admin IAP (
roles/iap.admin) di project -
Deploy layanan baru atau deploy revisi baru dari layanan yang ada:
- Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di akun layanan runtime - Pembaca Artifact Registry (
roles/artifactregistry.reader) di repositori image container
- Pengguna Akun Layanan (
-
Buat dan konfigurasi klien OAuth:
Editor Konfigurasi OAuth (
roles/oauthconfig.editor) di project -
Terhubung ke atau panggil server MCP yang diamankan IAP:
Pengguna Aplikasi Web yang diamankan IAP (
roles/iap.httpsResourceAccessor) di project atau layanan Cloud Run
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Mengonfigurasi IAP di layanan Cloud Run
Untuk mengonfigurasi IAP di server MCP Cloud Run, lakukan hal berikut:
Berikan peran Cloud Run Invoker (
roles/run.invoker) kepada agen layanan 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'Ganti kode berikut:
SERVICE_NAME: nama layananPROJECT_NUMBER: nomor Cloud de Confiance by S3NS projectAnda
Aktifkan IAP saat Anda men-deploy layanan baru atau men-deploy revisi baru dari layanan yang ada:
Layanan baru
Untuk men-deploy layanan baru dengan IAP diaktifkan, jalankan perintah
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
Ganti kode berikut:
SERVICE_NAME: nama layananCONTAINER_IMAGE: image container AndaREGION: region tempat Anda men-deploy layananPROJECT_ID: ID project tempat Cloud Run diaktifkan
Layanan yang ada
Untuk men-deploy revisi baru dari layanan yang ada dengan IAP diaktifkan, jalankan
gcloud beta run services updateperintah:gcloud beta run services update SERVICE_NAME \ --region=REGION \ --iap \ --functional-type=mcp-server
Ganti kode berikut:
SERVICE_NAME: nama layananREGION: region tempat Anda men-deploy layanan
Buat dan konfigurasi klien OAuth:
Untuk mendaftarkan ID klien universal klien OAuth Anda agar dapat digunakan dengan IAP, lihat Membagikan klien OAuth untuk akses terprogram.
Catat nilai berikut:
- ID klien OAuth
- Rahasia klien OAuth
- URI Pengalihan
Untuk menghubungkan klien seperti Gemini CLI atau agen Anda ke server MCP yang di-deploy, edit file
~/.gemini/settings.json.Tambahkan konfigurasi berikut ke file
settings.jsonAnda:{ "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" } } } }Ganti kode berikut:
SERVICE_URL: URL layanan Cloud Run AndaOAUTH_CLIENT_ID: ID klien dari konfigurasi klien OAuthOAUTH_CLIENT_SECRET: rahasia klien dari konfigurasi klien OAuthREDIRECT_URI: URI pengalihan dari konfigurasi klien OAuth
Memverifikasi koneksi
Untuk memverifikasi bahwa klien Anda dapat melakukan autentikasi melalui IAP dan terhubung ke server MCP, lakukan hal berikut:
Di terminal, mulai Gemini CLI:
gemini
Saat diminta di browser, selesaikan alur autentikasi IAP.
Pastikan Gemini CLI berhasil menemukan dan mencantumkan alat yang disediakan oleh server MCP Anda.