Mengamankan deployment perusahaan agentic lintas cloud

1. Pengantar

Dalam codelab ini, Anda akan men-deploy deployment alat tunggal / multi dengan aman menggunakan Agent Development Kit (ADK), Agent Engine, dan Google Kubernetes Engine. Anda akan mempelajari cara agen AI yang dimulai oleh pengguna di Gemini Enterprise menavigasi Google Cloud dengan aman, mengandalkan GKE Gateway dengan Ekstensi Layanan untuk menyamarkan data sensitif dalam perjalanan dari respons alat MCP.

Yang Anda pelajari

Yang Anda perlukan

  • Browser web seperti Chrome
  • Project Google Cloud yang mengaktifkan penagihan
  • Pemahaman dasar tentang Terraform, Kubernetes, dan Python

Codelab ini ditujukan bagi developer dan profesional keamanan yang ingin men-deploy dan mengamankan alur kerja agentic di lingkungan perusahaan.

2. Sebelum memulai

Buat project Google Cloud dan aktifkan API yang diperlukan.

  1. Di Konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud .
  2. Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan diaktifkan pada project.

Peran IAM yang diperlukan

Codelab ini mengasumsikan bahwa Anda memiliki peran Project Owner untuk project Google Cloud Anda.

Mengaktifkan API

  1. Di konsol Google Cloud, klik Aktifkan Cloud Shell: Jika Anda belum pernah menggunakan Cloud Shell sebelumnya, panel akan muncul dan memberi Anda pilihan untuk memulai Cloud Shell di lingkungan tepercaya dengan atau tanpa peningkatan. Jika Anda diminta untuk memberikan otorisasi pada Cloud Shell, klik Authorize.
  2. Di Cloud Shell, aktifkan semua API yang diperlukan:
    gcloud services enable \
    compute.googleapis.com \
    container.googleapis.com \
    dns.googleapis.com \
    certificatemanager.googleapis.com \
    dlp.googleapis.com \
    aiplatform.googleapis.com \
    discoveryengine.googleapis.com \
    apigee.googleapis.com
    

Menginstal dependensi

Di Cloud Shell, pastikan Anda telah menginstal alat yang diperlukan. Terraform, kubectl, dan Go biasanya sudah diinstal sebelumnya. Anda perlu menginstal uv (pengelola paket Python) dan Skaffold:

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install Skaffold
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64 && \
sudo install skaffold /usr/local/bin/

Menetapkan variabel lingkungan

Tetapkan variabel lingkungan berikut yang digunakan di seluruh codelab ini:

export PROJECT_ID=$(gcloud config get project)
export REGION=us-central1
export LOCATION=${REGION}

Membuat zona DNS publik

Codelab ini memerlukan zona DNS publik yang sudah ada sebelumnya di project Anda sebelum Anda menerapkan konfigurasi Terraform. Zona ini diperlukan untuk delegasi server nama sehingga penyiapan dapat mengotomatiskan pembuatan data yang diperlukan untuk Certificate Manager.

Jalankan perintah berikut di Cloud Shell untuk membuat zona:

gcloud dns managed-zones create "inference-gateway-zone" \
    --dns-name="gateway.example.com." \
    --description="Public zone for Inference Gateway" \
    --visibility="public" \
    --project="${PROJECT_ID}"

3. Meng-clone repositori GitHub

  1. Di terminal komputer lokal Anda, clone repositori cloud-networking-solutions:
    git clone https://github.com/googleCloudPlatform/cloud-networking-solutions.git
    
  2. Buka direktori repositori yang didownload:
    cd cloud-networking-solutions/demos/service-extensions-gke-gateway
    

4. Men-deploy infrastruktur dengan Terraform

Anda akan menggunakan Terraform untuk menyediakan jaringan dasar, cluster GKE, dan konfigurasi identitas yang diperlukan.

  1. Buka direktori terraform di repositori yang di-clone:
    cd terraform
    
  2. Konfigurasi backend Terraform. Buat file backend.conf untuk konfigurasi backend parsial. Ganti dengan nama bucket yang unik secara global.
    cat <<EOF > backend.conf
    bucket = "<YOUR_TERRAFORM_STATE_BUCKET>"
    prefix = "terraform"
    EOF
    
  1. Salin file variabel contoh dan perbarui dengan nilai project Anda:
    cp example.tfvars terraform.tfvars
    
  2. Edit terraform.tfvars dan ganti nilai placeholder.Ganti yang berikut:
    • project_id: project ID Google Cloud Anda.
    • organization_id: ID organisasi GCP numerik Anda.
    • dns_zone_domain: domain yang Anda kontrol (misalnya, demo.example.com.). Harus diakhiri dengan titik.
    Pastikan tanda fitur berikut diaktifkan (tanda tersebut telah dikonfigurasi sebelumnya dalam file contoh):
    • enable_certificate_manager = true
    • enable_model_armor = true
    • enable_agent_engine = true
    • enable_psc_interface = true
  3. Lakukan inisialisasi dan terapkan konfigurasi Terraform:
    terraform init -backend-config=backend.conf
    terraform plan -out=tfplan
    terraform apply "tfplan"
    

5. Men-deploy contoh workload dengan Skaffold

Selanjutnya, deploy server MCP dan layanan pemrosesan eksternal ke cluster GKE Anda.

  1. Hubungkan ke cluster GKE yang dibuat oleh Terraform:
    gcloud container clusters get-credentials gateway-cluster \
        --region=${REGION} \
        --project=${PROJECT_ID}
    
  2. Kembali ke root project dan konfigurasi template manifes Kubernetes. Salin contoh konfigurasi dan tetapkan project ID serta domain dasar Anda:Tetapkan BASE_DOMAIN agar sesuai dengan lingkungan Anda. BASE_DOMAIN harus cocok dengan variabel Terraform dns_zone_domain Anda (tanpa titik di akhir).
    export BASE_DOMAIN=example.com
    
  3. Buat manifes Kubernetes dan skaffold.yaml dari template:
    bash k8s/generate.sh
    envsubst '${PROJECT_ID}' < skaffold.yaml.tmpl > skaffold.yaml
    
  4. Deploy semua layanan backend:
    skaffold run -m legacy-dms,income-verification-api,corporate-email,dlp-ext-proc
    
  5. Deploy konfigurasi Gateway dan HTTPRoute:
    kubectl apply -k k8s/gateway-internal/
    

6. Menerapkan pedoman AI dengan Model Armor

Anda dapat mendelegasikan keputusan keamanan konten, seperti menghapus perintah berbahaya atau mencegah kebocoran data, ke Model Armor.

Prasyarat: Memberikan Peran IAM

Anda harus memberikan peran yang diperlukan ke akun layanan GKE Gateway. Akun layanan mengikuti format: service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com.

Jalankan perintah berikut untuk memberikan izin yang diperlukan:

export GATEWAY_PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")

# Grant roles in the Gateway project
gcloud projects add-iam-policy-binding $PROJECT_ID \
 --member=serviceAccount:service-${GATEWAY_PROJECT_NUMBER}@gcp-sa-dep.iam.gserviceaccount.com \
 --role=roles/modelarmor.calloutUser

gcloud projects add-iam-policy-binding $PROJECT_ID \
 --member=serviceAccount:service-${GATEWAY_PROJECT_NUMBER}@gcp-sa-dep.iam.gserviceaccount.com \
 --role=roles/serviceusage.serviceUsageConsumer

# Grant role in the project containing Model Armor templates
gcloud projects add-iam-policy-binding $PROJECT_ID \
 --member=serviceAccount:service-${GATEWAY_PROJECT_NUMBER}@gcp-sa-dep.iam.gserviceaccount.com \
 --role=roles/modelarmor.user

Membuat Ekstensi Otorisasi Model Armor

Tentukan ekstensi yang mengarah ke layanan Model Armor di wilayah Anda. Simpan konfigurasi ini sebagai ma-content-authz-extension.yaml.

Ekspor ID Template Model Armor yang dibuat oleh Terraform.

export MA_TEMPLATE_ID=$(cd terraform && terraform output -raw model_armor_template_id)
cat >ma-content-authz-extension.yaml <<EOF
name: ma-ext
service: modelarmor.$LOCATION.rep.googleapis.com
metadata:
  model_armor_settings: '[
  {
  "response_template_id": "projects/${PROJECT_ID}/locations/$LOCATION/templates/${MA_TEMPLATE_ID}",
  "request_template_id": "projects/${PROJECT_ID}/locations/$LOCATION/templates/${MA_TEMPLATE_ID}"
  }
  ]'
failOpen: true
EOF

gcloud beta service-extensions authz-extensions import ma-ext \
    --source=ma-content-authz-extension.yaml \
    --location=$LOCATION

Buat Kebijakan Otorisasi Model Armor

Buat kebijakan yang mengaitkan ekstensi Model Armor dengan Agent Gateway Anda. Simpan konfigurasi ini sebagai ma-content-authz-policy.yaml.

cat >ma-content-authz-policy.yaml <<EOF
name: ma-content-authz-policy
target:
  resources:
  -   "projects/$PROJECT_ID/locations/$LOCATION/gateways/mortgage-gateway"
policyProfile: CONTENT_AUTHZ
action: CUSTOM
customProvider:
  authzExtension:
    resources:
    -   "projects/$PROJECT_ID/locations/$LOCATION/authzExtensions/ma-ext"
EOF

gcloud network-security authz-policies import ma-content-authz-policy \
    --source=ma-content-authz-policy.yaml \
    --location=$LOCATION

7. Mengonfigurasi Gemini Enterprise

Mengaktifkan kemampuan observasi

Agen hipotek di-deploy dengan instrumentasi OpenTelemetry dan variabel lingkungan telemetri berikut diaktifkan secara default:

  • GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY=true
  • OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true
  • OTEL_TRACES_SAMPLER=parentbased_traceidratio

Untuk mengetahui detail tentang cara mengonfigurasi rekaman aktivitas dan rentang di Gemini Enterprise, lihat Mengelola setelan kemampuan pengamatan.

Mengaktifkan Model Armor di Gemini Enterprise

Menerapkan pemfilteran Model Armor ke asisten Gemini Enterprise untuk menyaring perintah pengguna dan respons model. Aplikasi Gemini Enterprise global memerlukan template Model Armor di multi-region us, sehingga Terraform men-deploy template terpisah untuk tujuan ini.

Ambil nama template dari output Terraform:

cd terraform
export GE_MA_TEMPLATE_NAME=$(terraform output -raw model_armor_gemini_enterprise_template_name)

Ambil ID APLIKASI Instance Gemini Enterprise Anda:

  1. Di Konsol Google Cloud, buka halaman Gemini Enterprise.
  2. Dari menu navigasi, klik Aplikasi.
  3. Salin ID Instance Gemini Enterprise

Ekspor ID sebagai variabel lingkungan.

export APP_ID=<PASTE_APP_ID>

Patch asisten untuk mengaktifkan Model Armor:

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -H "X-Goog-User-Project: ${PROJECT_ID}" \
  "https://global-discoveryengine.googleapis.com/v1/projects/${PROJECT_ID}/locations/global/collections/default_collection/engines/${APP_ID}/assistants/default_assistant?update_mask=customerPolicy" \
  -d '{
    "customerPolicy": {
      "modelArmorConfig": {
        "userPromptTemplate": "'"$GE_MA_TEMPLATE_NAME"'",
        "responseTemplate": "'"$GE_MA_TEMPLATE_NAME"'",
        "failureMode": "FAIL_OPEN"
      }
    }
  }'

Tetapkan failureMode ke FAIL_OPEN untuk mengizinkan permintaan masuk saat Model Armor tidak tersedia, atau FAIL_CLOSED untuk memblokirnya.

8. Men-deploy Agen dan Menambahkan Agen di Gemini Enterprise

Mendapatkan detail otorisasi

Ikuti langkah-langkah berikut untuk mendapatkan detail otorisasi.

  1. Di konsol Google Cloud, pada halaman APIs & Services, buka halaman Credentials.
  2. Buka Kredensial
  3. Klik Buat kredensial, lalu pilih ID klien OAuth.
  4. Di Application type, pilih Web application.
  5. Di bagian URI pengalihan yang sah, tambahkan URI berikut:
  • https://vertexaisearch.cloud.google.com/oauth-redirect
  • https://vertexaisearch.cloud.google.com/static/oauth/oauth.html
  1. Klik Buat.
  2. Ekspor Client ID dan Client Secret untuk deployment.
export OAUTH_CLIENT_ID=<Client ID>
export OAUTH_CLIENT_SECRET=<Client Secret>

Men-deploy agen hipotik

Skrip src/mortgage-agent/deploy_agent.py men-deploy agen ADK ke Agent Engine dan secara opsional mendaftarkannya di Gemini Enterprise. Lihat Mendaftarkan dan mengelola agen A2A untuk mengetahui latar belakang alur pendaftaran Gemini Enterprise.

Mengekspor variabel dari deployment Terraform.

export VPC_NAME=$(cd terraform && terraform output -raw vpc_name)
export PSC_ATTACHMENT=$(cd terraform && terraform output -raw psc_interface_network_attachment_id)
export DNS_PEERING_DOMAIN=$(cd terraform && terraform output -raw psc_interface_dns_peering_domain)

Instal dependensi dan deploy:

cd src/mortgage-agent
uv sync

Men-deploy Agen ke Vertex Agent Engine dan mendaftar ke Gemini Enterprise:

uv run python deploy_agent.py \
    --project=${PROJECT_ID} \
    --dms-mcp-url=https://dms.${DNS_PEERING_DOMAIN%%.}/mcp \
    --income-verification-url=https://income-verification.${DNS_PEERING_DOMAIN%%.} \
    --email-mcp-url=https://email.${DNS_PEERING_DOMAIN%%.}/mcp \
    --network-attachment=projects/${PROJECT_ID}/regions/${REGION}/networkAttachments/${PSC_ATTACHMENT} \
    --dns-peering-domain=${DNS_PEERING_DOMAIN} \
    --dns-peering-target-project=${PROJECT_ID} \
    --dns-peering-target-network=${VPC_NAME} \
    --enable-agent-identity \
    --ge-deploy \
    --app-id=${APP_ID} \
    --oauth-client-id=${OAUTH_CLIENT_ID} \
    --agent-name=mortgage-agent

Referensi bendera

Bendera

Default

Deskripsi

--project

$PROJECT_ID

Project ID GCP

--dms-mcp-url

(wajib)

URL server MCP DMS

--income-verification-url

(wajib)

URL dasar Income Verification API; /mcp ditambahkan secara otomatis

--email-mcp-url

(wajib)

URL server MCP email

--region

$REGION

Region GCP

--staging-bucket

gs://PROJECT-staging

Bucket GCS untuk penyiapan

--display-name

Mortgage Assistant Agent

Nama tampilan untuk agen yang di-deploy

--update

(opsional)

Memperbarui agen yang ada di tempat (meneruskan nama lengkap resource)

--network-attachment

(opsional)

Lampiran jaringan untuk Antarmuka PSC (jalur atau nama lengkap)

--dns-peering-domain

(opsional)

Domain DNS untuk peering DNS PSC-I (harus diakhiri dengan titik)

--dns-peering-target-project

(opsional)

Project yang menghosting jaringan VPC target untuk peering DNS

--dns-peering-target-network

(opsional)

Nama jaringan VPC untuk peering DNS

--enable-agent-identity

false

Mengaktifkan kredensial hak istimewa terendah per agen

--ge-deploy

false

Mendaftarkan agen di Gemini Enterprise setelah men-deploy

--app-id

(opsional)

ID mesin Gemini Enterprise (wajib ada dengan --ge-deploy)

--oauth-client-id

$OAUTH_CLIENT_ID

Client ID OAuth2 (wajib ada dengan --ge-deploy)

--oauth-client-secret

$OAUTH_CLIENT_SECRET

Rahasia klien OAuth2 (wajib ada dengan --ge-deploy)

--model

gemini-3.1-flash-lite-preview

Nama model Gemini untuk agen

--agent-name

mortgage-agent

Otorisasi Gemini Enterprise dan nama agen

--ge-deploy-only

(opsional)

Mendaftarkan mesin penalaran yang ada di Gemini Enterprise tanpa redeployment (meneruskan nama resource lengkap)

Menambahkan pengguna yang diberi izin

Untuk menambahkan pengguna yang diberi izin ke agen ADK menggunakan Konsol Google Cloud, lihat Menambahkan atau mengubah pengguna dan izin mereka.

9. Menguji Agen Anda

Setelah men-deploy dan mengonfigurasi agen, GKE Gateway, dan semua layanan backend, uji alur end-to-end untuk memverifikasi bahwa kebijakan keamanan berfungsi seperti yang diharapkan. Anda akan berinteraksi dengan "mortgage-agent" dalam antarmuka Gemini Enterprise.

Mengakses Agen

  1. Buka halaman Gemini Enterprise di Konsol Google Cloud.
  2. Pilih Aplikasi Gemini Enterprise yang Anda konfigurasi sebelumnya, tempat "mortgage-agent" terdaftar.
  3. Di Tab Overview, buka URL yang ditampilkan di bagian "Aplikasi web Gemini Enterprise Anda sudah siap".
  4. Pilih Tab Agen dari menu di sebelah kiri yang disebut Galeri Agen
  5. Sekarang Anda dapat melakukan chat dengan "Agen Asisten Hipotek".

Kasus Pengujian 1: "Jalur Tanpa Error" - Meringkas Data dengan Penyensoran PII

Pengujian ini memverifikasi bahwa agen dapat mengakses sistem backend melalui Agent Gateway dan kebijakan Pencegahan Kebocoran Data (DLP) diterapkan untuk mengedit informasi sensitif.

  1. Kirim perintah berikut ke Agen Asisten Hipotek:
    I'm reviewing the Sterling family's current application. Can you summarize their 2024 and 2025 tax returns and verify if their total household income meets our 2026 debt-to-income requirements?
    
  2. Yang terjadi di balik layar:
    • Agen dalam Gemini Enterprise merumuskan permintaan ke alat yang diperlukan (misalnya, Sistem Pengelolaan Dokumen (DMS) untuk laporan pajak, Income Verification API).
    • Model Armor memeriksa payload permintaan dan respons untuk mendeteksi ancaman.
    • "Kebijakan Otorisasi Berbasis Konten" yang Anda konfigurasi memicu ekstensi DLP kustom (dlp-content-authz-ext). Ekstensi ini memeriksa data yang diambil dari sistem backend.
    • Layanan DLP menyamarkan semua Informasi Identitas Pribadi (PII), seperti Nomor Jaminan Sosial (SSN), dari data surat pajak sebelum data tersebut sampai ke agen.
  3. Hasil yang Diharapkan: Agen akan menampilkan ringkasan laporan pajak dan status verifikasi pendapatan. Periksa ringkasan yang diberikan oleh agen dengan cermat. Anda akan melihat bahwa informasi sensitif, seperti Nomor Pajak (SSN), telah diganti dengan placeholder (misalnya, [REDACTED]). Hal ini mengonfirmasi eksekusi kebijakan DLP melalui gateway.

Kemampuan Observasi dan Audit

Selama pengujian ini, Platform Agen dan layanan terkait mengumpulkan telemetri:

  • Cloud Logging: Log mendetail dari GKE Gateway, workload GKE, dan layanan lainnya menyediakan jejak audit permintaan, evaluasi kebijakan, dan hasilnya.
  • Cloud Trace: Instrumentasi OpenTelemetry yang dikonfigurasi di layanan agen dan backend memungkinkan Anda memvisualisasikan seluruh alur panggilan, dari Gemini Enterprise melalui GKE Gateway ke alat backend. Hal ini sangat berharga untuk men-debug dan memahami siklus proses permintaan.

Melihat Rekaman Aktivitas untuk sesi Anda:

  1. Di Konsol Google Cloud, buka halaman Vertex AI Agent Engine.
  2. Buka Agent Engine. Instance Agent Engine yang merupakan bagian dari project yang dipilih akan muncul dalam daftar. Anda dapat menggunakan kolom Filter untuk memfilter daftar menurut kolom yang ditentukan.
  3. Klik nama instance Agent Engine Anda.
  4. Klik tab Pelacakan.
  5. Anda dapat memilih tampilan Sesi atau tampilan Rentang.
  6. Klik sesi atau rentang untuk memeriksa detail rekaman aktivitas, termasuk grafik asiklik terarah (DAG) rentang, input dan output, serta atribut metadata.

10. Opsional: Mengubah REST API menjadi MCP dengan Apigee

Meskipun layanan verifikasi pendapatan kami secara native mendukung Model Context Protocol, banyak sistem lama perusahaan hanya menyediakan API RESTful. Pada langkah opsional ini, Anda akan menggunakan Apigee MCP Discovery Proxy untuk mentranskode endpoint REST layanan verifikasi pendapatan menjadi alat MCP. Dengan begitu, Anda dapat menerapkan kebijakan keamanan, pembatasan kapasitas, dan tata kelola lanjutan Apigee ke alat lama Anda.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan MCP Apigee.

Prasyarat

Sebelum melanjutkan, pastikan Anda telah menyediakan dan mengonfigurasi Apigee API Hub. Ikuti langkah-langkah dalam dokumentasi Provision API Hub untuk menyiapkan dan melampirkan instance Apigee Anda.

Langkah 1: Buat lampiran layanan untuk Apigee

Untuk mengizinkan Apigee menjangkau layanan internal Anda yang berjalan di GKE, Anda harus membuat lampiran layanan.

  1. Cari aturan penerusan Gateway GKE internal:
    export RULE_URI=$(gcloud compute forwarding-rules list \
      --filter="loadBalancingScheme=INTERNAL_MANAGED AND target~targetHttpsProxies" \
      --format="value(selfLink.segment(6), region.basename(), name)" | \
      awk '{print "projects/" $1 "/regions/" $2 "/forwardingRules/" $3}')
    
  2. Buat lampiran layanan:
    gcloud compute service-attachments create internal-gke-gateway-apigee \
        --region=${REGION} \
        --target-service=$RULE_URI \
        --connection-preference=ACCEPT_AUTOMATIC \
        --nat-subnets=gateway-psc-subnet
    

Langkah 2: Aktifkan Apigee dengan Terraform

Sekarang, perbarui konfigurasi infrastruktur Anda untuk menyediakan organisasi dan instance Apigee.

  1. Buka direktori terraform:
    cd terraform
    
  2. Edit terraform.tfvars dan tetapkan enable_apigee = true.
  3. Terapkan perubahan:
    terraform apply
    

Langkah 3: Tentukan Spesifikasi OpenAPI

Apigee menggunakan definisi OpenAPI (OAS) standar untuk menemukan dan mentranskode alat. Buat file bernama income-verification-oas.yaml dengan konten berikut:

openapi: 3.0.0
info:
  title: Income Verification API
  description: Verify applicant income through third-party employer records.
  version: 1.0.0
servers:
  -   url: https://income-verification.internal.${DNS_PEERING_DOMAIN%%.}/api
paths:
  /income-verification/verify:
    post:
      summary: Verify applicant income
      operationId: verifyApplicant
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                last_name:
                  type: string
      responses:
        '200':
          description: Successful verification
          content:
            application/json:
              schema:
                type: object

Langkah 4: Deploy Proxy Penemuan MCP Apigee

MCP Discovery Proxy adalah proxy Apigee khusus yang bertindak sebagai server MCP.

  1. Di UI Apigee, buka Develop > API Proxies.
  2. Klik Create New, lalu pilih MCP Discovery Proxy.
  3. Beri nama proxy income-verification-discovery.
  4. Di bagian OpenAPI Spec, upload file income-verification-oas.yaml yang Anda buat.
  5. Tetapkan Grup Lingkungan ke grup tempat gateway internal Anda dapat diakses.
  6. Klik Deploy.

(Opsional) Tambahkan kebijakan keamanan

Sebelum men-deploy atau membagikan proxy, Anda harus mengamankannya. Anda dapat menambahkan kebijakan untuk menerapkan persyaratan keamanan, seperti token OAuth atau kunci API. Untuk mengetahui petunjuk tentang cara menambahkan kebijakan keamanan, lihat dokumentasi Apigee tentang mengamankan API.

Langkah 5: Verifikasi Akses Alat Transkode

Setelah di-deploy, Apigee akan otomatis mentranskode endpoint POST /verify menjadi alat MCP verifyApplicant.

  1. Mencantumkan alat yang tersedia melalui endpoint MCP Apigee:
    curl -X POST https://api.internal.${DNS_PEERING_DOMAIN%%.}/income-verification-discovery/mcp \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "tools/list",
        "params": {}
      }'
    
  2. Anda akan melihat alat verifyApplicant dalam respons, yang ditranskode dari spesifikasi REST Anda. Sekarang Anda dapat memanggil alat ini melalui Apigee, dan Apigee akan menangani terjemahan ke layanan REST yang mendasarinya sambil menerapkan kebijakan keamanan apa pun yang telah Anda konfigurasi.

Langkah 6: Update Agen Hipotek untuk menggunakan Apigee

Setelah Apigee berhasil mentranskode REST API Anda menjadi alat yang kompatibel dengan MCP, Anda harus memperbarui konfigurasi deployment agen. Dengan mengarahkan agen ke endpoint Apigee, semua permintaan verifikasi pendapatan kini akan mendapatkan manfaat dari keamanan, logging, dan pengelolaan traffic tingkat perusahaan Apigee.

  1. Identifikasi URL MCP Apigee Anda: Endpoint Anda harus mengikuti pola: https://api.internal.${DNS_PEERING_DOMAIN%%.}/income-verification-discovery/mcp.
  2. Jalankan kembali skrip deployment: Gunakan flag --update bersama dengan --income-verification-url baru. Tindakan ini akan mengupdate agen yang ada di Agent Engine tanpa perlu menghapus sepenuhnya.
    cd src/mortgage-agent
    
    # Update the agent to route income verification through Apigee
    uv run python deploy_agent.py \
        --project=${PROJECT_ID} \
        --update \
        --agent-name=mortgage-agent \
        --dms-mcp-url=https://dms.${DNS_PEERING_DOMAIN%%.}/mcp \
        --income-verification-url=https://api.internal.${DNS_PEERING_DOMAIN%%.}/income-verification-discovery/mcp \
        --email-mcp-url=https://email.${DNS_PEERING_DOMAIN%%.}/mcp \
        --network-attachment=projects/${PROJECT_ID}/regions/${REGION}/networkAttachments/${PSC_ATTACHMENT} \
        --dns-peering-domain=${DNS_PEERING_DOMAIN} \
        --dns-peering-target-project=${PROJECT_ID} \
        --dns-peering-target-network=${VPC_NAME} \
        --ge-deploy \
        --app-id=${APP_ID} \
        --oauth-client-id=${OAUTH_CLIENT_ID}
    
  1. Verifikasi perubahan: Kembali ke antarmuka Gemini Enterprise dan minta agen untuk memverifikasi pendapatan pelamar.
    "Can you verify the joint income for the Sterlings using the verification service?"
    
    Di tab Apigee Debug, Anda akan melihat permintaan JSON-RPC masuk dari GKE Gateway diubah menjadi permintaan POST REST standar ke layanan GKE backend Anda.

11. Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang dibuat dalam codelab ini, hapus resource tersebut setelah selesai.

  1. Hapus lampiran layanan jika dibuat secara manual:
    gcloud compute service-attachments delete internal-gke-gateway \
        --region=${REGION} --quiet
    
  2. Buka direktori terraform dan hapus semua resource:
    cd terraform
    terraform destroy
    
  3. Jika ingin, hapus project Google Cloud sepenuhnya:
    gcloud projects delete ${PROJECT_ID}
    

12. Selamat

Anda telah menyelesaikan codelab ini dan mempelajari cara mengamankan deployment perusahaan agentic lintas cloud.

Yang telah Anda pelajari

  • Men-deploy agen asisten hipotek ADK ke Agent Engine dengan instrumentasi OpenTelemetry
  • Men-deploy server MCP backend ke GKE di balik Gateway internal
  • Menghubungkan Agent Engine ke VPC project menggunakan peering DNS dan Antarmuka PSC
  • Mengonfigurasi Gateway GKE untuk keluar agen yang diatur dengan penghapusan DLP dan otorisasi MCP
  • Pedoman AI terapan dengan Model Armor untuk penyaringan perintah dan respons
  • Secara opsional, REST API ditranskode ke MCP menggunakan Apigee MCP Discovery Proxy

Langkah berikutnya