确保跨云智能体企业部署的安全性

1. 简介

在此 Codelab 中,您将使用智能体开发套件 (ADK)、Agent Engine 和 Google Kubernetes Engine 安全地部署单智能体/多工具。您将了解用户在 Gemini Enterprise 中发起的 AI 智能体如何安全地在 Google Cloud 中运行,并依托 GKE Gateway 和 Service Extensions 实时隐去 MCP 工具回答中的敏感数据。

学习内容

所需条件

  • 网络浏览器,例如 Chrome
  • 启用了结算功能的 Google Cloud 项目
  • 基本熟悉 Terraform、Kubernetes 和 Python

此 Codelab 适合希望在企业环境中部署和保护 Agentic Workflows 的开发者和安全专业人员。

2. 准备工作

创建 Google Cloud 云项目并启用所需的 API。

  1. 在 Google Cloud 控制台的项目选择器页面上,选择或创建 Google Cloud 项目。
  2. 确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能。

所需 IAM 角色

本 Codelab 假定您拥有 Google Cloud 云项目的 Project Owner 角色。

启用 API

  1. 在 Google Cloud 控制台中,点击激活 Cloud Shell:如果您之前从未使用过 Cloud Shell,系统会显示一个窗格,让您选择在受信任的环境中启动 Cloud Shell,并选择是否启用加速功能。如果系统要求您授权 Cloud Shell,请点击授权。
  2. 在 Cloud Shell 中,启用所有必需的 API:
    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
    

安装依赖项

在 Cloud Shell 中,确保您已安装所需的工具。Terraform、kubectl 和 Go 通常已预安装。您需要安装 uv(Python 软件包管理器)和 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/

设置环境变量

设置在整个 Codelab 中使用的以下环境变量:

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

创建公共 DNS 区域

此 Codelab 要求在应用 Terraform 配置之前,您的项目中已存在一个公共 DNS 区域。此区域是域名服务器委托所必需的,以便设置可以自动为 Certificate Manager 创建所需的记录。

在 Cloud Shell 中运行以下命令以创建区域:

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. 克隆 GitHub 代码库

  1. 在本地机器上的终端中,克隆 cloud-networking-solutions 代码库:
    git clone https://github.com/googleCloudPlatform/cloud-networking-solutions.git
    
  2. 进入下载的代码库目录:
    cd cloud-networking-solutions/demos/service-extensions-gke-gateway
    

4. 使用 Terraform 部署基础设施

您将使用 Terraform 预配基础网络、GKE 集群和所需的身份配置。

  1. 前往克隆仓库中的 terraform 目录:
    cd terraform
    
  2. 配置 Terraform 后端。为部分后端配置创建 backend.conf 文件。将 替换为全局唯一的存储桶名称。
    cat <<EOF > backend.conf
    bucket = "<YOUR_TERRAFORM_STATE_BUCKET>"
    prefix = "terraform"
    EOF
    
  1. 复制示例变量文件,并使用您的项目值进行更新:
    cp example.tfvars terraform.tfvars
    
  2. 修改 terraform.tfvars 并替换占位值。替换以下内容:
    • project_id:您的 Google Cloud 项目 ID。
    • organization_id:您的 GCP 组织 ID。
    • dns_zone_domain:您控制的网域(例如 demo.example.com.)。必须以英文句点结尾。
    确保已启用以下功能标志(它们已在示例文件中预先配置):
    • enable_certificate_manager = true
    • enable_model_armor = true
    • enable_agent_engine = true
    • enable_psc_interface = true
  3. 初始化并应用 Terraform 配置:
    terraform init -backend-config=backend.conf
    terraform plan -out=tfplan
    terraform apply "tfplan"
    

5. 使用 Skaffold 部署示例工作负载

接下来,将 MCP 服务器和外部处理服务部署到 GKE 集群。

  1. 连接到 Terraform 创建的 GKE 集群:
    gcloud container clusters get-credentials gateway-cluster \
        --region=${REGION} \
        --project=${PROJECT_ID}
    
  2. 返回到项目根目录,然后配置 Kubernetes 清单模板。复制示例配置,并设置项目 ID 和基本网域:将 BASE_DOMAIN 设置为与您的环境匹配。BASE_DOMAIN 应与您的 dns_zone_domain Terraform 变量(不带尾随点)匹配。
    export BASE_DOMAIN=example.com
    
  3. 根据模板生成 Kubernetes 清单和 skaffold.yaml:
    bash k8s/generate.sh
    envsubst '${PROJECT_ID}' < skaffold.yaml.tmpl > skaffold.yaml
    
  4. 部署所有后端服务:
    skaffold run -m legacy-dms,income-verification-api,corporate-email,dlp-ext-proc
    
  5. 部署 Gateway 和 HTTPRoute 配置:
    kubectl apply -k k8s/gateway-internal/
    

6. 使用 Model Armor 应用 AI 保护措施

您可以将内容安全决策(例如移除有害提示或防止数据泄露)委托给 Model Armor。

前提条件:授予 IAM 角色

您必须向 GKE Gateway 服务账号授予所需角色。服务账号采用以下格式:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com。

运行以下命令,授予必要的权限:

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

创建 Model Armor 授权扩展

定义一个指向您所在区域的 Model Armor 服务的扩展程序。将此配置保存为 ma-content-authz-extension.yaml。

导出由 Terraform 创建的 Model Armor 模板 ID。

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

创建 Model Armor 授权政策

创建一项政策,将 Model Armor 扩展程序与 Agent Gateway 相关联。将此配置保存为 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. 配置 Gemini Enterprise

启用可观测性

抵押贷款代理已部署 OpenTelemetry 插桩,并默认启用以下遥测环境变量:

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

如需详细了解如何在 Gemini Enterprise 中配置跟踪记录和 span,请参阅管理可观测性设置。

在 Gemini Enterprise 中启用 Model Armor

对 Gemini Enterprise 助理应用 Model Armor 过滤功能,以筛查用户提示和模型回答。全球 Gemini Enterprise 应用需要 us 多区域中的 Model Armor 模板,因此 Terraform 会为此部署一个单独的模板。

从 Terraform 输出中检索模板名称:

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

获取 Gemini Enterprise 实例的应用 ID:

  1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。
  2. 在导航菜单中,点击“应用”。
  3. 复制 Gemini Enterprise 实例的 ID

将该 ID 导出为环境变量。

export APP_ID=<PASTE_APP_ID>

修补助理以启用 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"
      }
    }
  }'

将 failureMode 设置为 FAIL_OPEN,以便在 Model Armor 不可用时允许请求通过;或设置为 FAIL_CLOSED,以屏蔽请求。

8. 在 Gemini Enterprise 中部署智能体并添加智能体

获取授权详细信息

请按照以下步骤获取授权详细信息。

  1. 在 Google Cloud 控制台的“API 和服务”页面上,前往“凭证”页面。
  2. 前往凭据
  3. 点击“创建凭据”并选择“OAuth 客户端 ID”。
  4. 在“应用类型”中,选择“Web 应用”。
  5. 在“已获授权的重定向 URI”部分中,添加以下 URI:
  • https://vertexaisearch.cloud.google.com/oauth-redirect
  • https://vertexaisearch.cloud.google.com/static/oauth/oauth.html
  1. 点击“创建”。
  2. 导出客户端 ID 和客户端密钥以进行部署。
export OAUTH_CLIENT_ID=<Client ID>
export OAUTH_CLIENT_SECRET=<Client Secret>

部署抵押贷款智能体

src/mortgage-agent/deploy_agent.py 脚本会将 ADK 智能体部署到 Agent Engine,并可选择将其注册到 Gemini Enterprise。如需了解 Gemini Enterprise 注册流程的背景信息,请参阅注册和管理 A2A 智能体。

从 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)

安装依赖项并部署:

cd src/mortgage-agent
uv sync

将智能体部署到 Vertex Agent Engine 并注册到 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

标记参考

标志

默认

说明

--project

$PROJECT_ID

GCP 项目 ID

--dms-mcp-url

(必填)

DMS MCP 服务器网址

--income-verification-url

(必填)

Income Verification API 基础网址;系统会自动附加 /mcp

--email-mcp-url

(必填)

电子邮件 MCP 服务器网址

--region

$REGION

GCP 区域

--staging-bucket

gs://PROJECT-staging

用于暂存的 GCS 存储桶

--display-name

Mortgage Assistant Agent

已部署智能体的显示名称

--update

(可选)

就地更新现有代理(传递完整资源名称)

--network-attachment

(可选)

PSC 接口的网络连接(完整路径或名称)

--dns-peering-domain

(可选)

PSC-I DNS 对等互连的 DNS 网域(必须以英文句点结尾)

--dns-peering-target-project

(可选)

托管 DNS 对等互连目标 VPC 网络的项目

--dns-peering-target-network

(可选)

用于 DNS 对等互连的 VPC 网络名称

--enable-agent-identity

false

为每个代理启用最小权限凭证

--ge-deploy

false

部署后在 Gemini Enterprise 中注册代理

--app-id

(可选)

Gemini Enterprise 引擎 ID(--ge-deploy 必需)

--oauth-client-id

$OAUTH_CLIENT_ID

OAuth2 客户端 ID(--ge-deploy 必需)

--oauth-client-secret

$OAUTH_CLIENT_SECRET

OAuth2 客户端密钥(--ge-deploy 必需)

--model

gemini-3.1-flash-lite-preview

智能体的 Gemini 模型名称

--agent-name

mortgage-agent

Gemini Enterprise 授权和代理名称

--ge-deploy-only

(可选)

在 Gemini Enterprise 中注册现有推理引擎,无需重新部署(传递完整资源名称)

添加拥有权限的用户

如需使用 Google Cloud 控制台向 ADK 代理添加有权限的用户,请参阅“添加或修改用户及其权限”。

9. 测试智能体

现在,您已部署并配置了代理、GKE Gateway 和所有后端服务,接下来请测试端到端流程,以验证安全政策是否按预期运行。您将在 Gemini Enterprise 界面中与“mortgage-agent”进行交互。

访问代理

  1. 前往 Google Cloud 控制台中的 Gemini Enterprise 页面。
  2. 选择您之前配置的 Gemini Enterprise 应用,其中注册了“mortgage-agent”。
  3. 在“概览”标签页上,浏览到“您的 Gemini Enterprise Web 应用已准备就绪”部分中显示的网址。
  4. 从左侧菜单中选择“智能体”标签页,该标签页名为智能体库
  5. 现在,您应该可以与“Mortgage Assistant Agent”对话了。

测试用例 1:“理想路径” - 隐去个人身份信息并汇总数据

此测试旨在验证智能体能否通过 Agent Gateway 访问后端系统,以及数据泄露防护 (DLP) 政策是否已强制执行,以隐去敏感信息。

  1. 向抵押贷款助理智能体发送以下提示:
    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. 幕后故事:
    • Gemini Enterprise 中的智能体会向必要的工具(例如,用于纳税申报表的文档管理系统 [DMS]、收入验证 API)发出请求。
    • Model Armor 会检查请求和响应载荷是否存在威胁。
    • 您配置的“基于内容的授权政策”会触发自定义 DLP 扩展程序 (dlp-content-authz-ext)。此扩展程序会检查从后端系统提取的数据。
    • DLP 服务会在纳税申报数据到达代理之前,从中隐去所有个人身份信息 (PII),例如社会保障号 (SSN)。
  3. 预期结果:智能体将返回纳税申报单摘要和收入验证状态。至关重要的是,检查智能体提供的摘要。您应该会观察到,纳税人识别号 (SSN) 等敏感信息已被替换为占位符(例如 [REDACTED])。这证实了 DLP 政策已通过网关执行。

可观测性和审核

在这些测试中,智能体平台和相关服务会收集遥测数据:

  • Cloud Logging:来自 GKE Gateway、GKE 工作负载和其他服务的详细日志可提供请求、政策评估和结果的审核跟踪记录。
  • Cloud Trace:在代理和后端服务中配置的 OpenTelemetry 插桩可让您直观呈现整个调用流程,从 Gemini Enterprise 经由 GKE Gateway 到达后端工具。这对于调试和了解请求生命周期非常有用。

查看会话的跟踪记录:

  1. 在 Google Cloud 控制台中,前往 Vertex AI Agent Engine 页面。
  2. 前往 Agent Engine。属于所选项目的 Agent Engine 实例会显示在列表中。您可以使用“过滤条件”字段,按指定列过滤列表。
  3. 点击 Agent Engine 实例的名称。
  4. 点击“跟踪记录”标签页。
  5. 您可以选择“会话视图”或“Span 视图”。
  6. 点击会话或 span 可检查跟踪记录详情,包括其 span、输入和输出以及元数据属性的有向无环图 (DAG)。

10. 可选:使用 Apigee 将 REST API 转码为 MCP

虽然我们的收入验证服务原生支持 Model Context Protocol,但许多企业旧系统仅提供 RESTful API。在此可选步骤中,您将使用 Apigee MCP Discovery Proxy 将收入验证服务的 REST 端点转码为 MCP 工具。这样,您就可以将 Apigee 的高级治理、速率限制和安全政策应用于旧版工具。

如需了解详情,请参阅 Apigee MCP 概览。

前提条件

在继续操作之前,请确保您已预配并配置 Apigee API Hub。按照预配 API Hub 文档中的步骤进行设置,并关联您的 Apigee 实例。

第 1 步:为 Apigee 创建服务连接

如需允许 Apigee 访问在 GKE 上运行的内部服务,您必须创建服务连接。

  1. 查找内部 GKE Gateway 转发规则:
    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. 创建服务连接:
    gcloud compute service-attachments create internal-gke-gateway-apigee \
        --region=${REGION} \
        --target-service=$RULE_URI \
        --connection-preference=ACCEPT_AUTOMATIC \
        --nat-subnets=gateway-psc-subnet
    

第 2 步:使用 Terraform 启用 Apigee

现在,更新您的基础设施配置,以预配 Apigee 组织和实例。

  1. 导航到 terraform 目录:
    cd terraform
    
  2. 修改 terraform.tfvars 并设置 enable_apigee = true。
  3. 应用更改:
    terraform apply
    

第 3 步:定义 OpenAPI 规范

Apigee 使用标准 OpenAPI (OAS) 定义来发现和转码工具。创建一个名为 income-verification-oas.yaml 的文件,其中包含以下内容:

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

第 4 步:部署 Apigee MCP 发现代理

MCP Discovery 代理是一种专用 Apigee 代理,充当 MCP 服务器。

  1. 在 Apigee 界面中,前往开发 > API 代理。
  2. 点击新建,然后选择 MCP Discovery 代理。
  3. 将代理命名为 income-verification-discovery。
  4. 在 OpenAPI 规范部分中,上传您创建的 income-verification-oas.yaml 文件。
  5. 将环境组设置为可访问内部网关的环境组。
  6. 点击部署。

(可选)添加安全政策

在部署或共享代理之前,您应该先确保其安全。您可以添加政策来强制执行安全要求,例如 OAuth 令牌或 API 密钥。如需了解如何添加安全政策,请参阅有关保护 API 的 Apigee 文档。

第 5 步:验证转码工具访问权限

部署后,Apigee 会自动将 POST /verify 端点转码为 verifyApplicant MCP 工具。

  1. 列出可通过 Apigee MCP 端点使用的工具:
    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. 您应该会在回答中看到 verifyApplicant 工具,该工具是从您的 REST 规范转码而来的。现在,您可以通过 Apigee 调用此工具,Apigee 会处理对底层 REST 服务的转换,同时应用您配置的所有安全政策。

第 6 步:更新 Mortgage Agent 以使用 Apigee

现在,Apigee 已成功将您的 REST API 转码为符合 MCP 规范的工具,您必须更新智能体的部署配置。通过将代理指向 Apigee 端点,所有收入验证请求现在都将受益于 Apigee 的企业级安全性、日志记录和流量管理。

  1. 确定您的 Apigee MCP 网址:您的端点应遵循以下格式:https://api.internal.${DNS_PEERING_DOMAIN%%.}/income-verification-discovery/mcp。
  2. 重新运行部署脚本:使用 --update 标志以及新的 --income-verification-url。这会更新 Agent Engine 中的现有智能体,而无需完全删除。
    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. 验证更改:返回 Gemini Enterprise 界面,让智能体验证申请人的收入。
    "Can you verify the joint income for the Sterlings using the verification service?"
    
    在 Apigee 调试标签页中,您现在应该会看到来自 GKE Gateway 的传入 JSON-RPC 请求被转换为发送到后端 GKE 服务的标准 REST POST 请求。

11. 清理

为避免系统因本 Codelab 中创建的资源向您的 Google Cloud 账号收取费用,请在完成后删除这些资源。

  1. 如果服务连接是手动创建的,请将其删除:
    gcloud compute service-attachments delete internal-gke-gateway \
        --region=${REGION} --quiet
    
  2. 前往 terraform 目录并销毁所有资源:
    cd terraform
    terraform destroy
    
  3. (可选)完全删除 Google Cloud 项目:
    gcloud projects delete ${PROJECT_ID}
    

12. 恭喜

您已完成此 Codelab,并学习了如何保护跨云智能体企业部署。

所学内容

  • 使用 OpenTelemetry 插桩将 ADK 抵押贷款助理智能体部署到 Agent Engine
  • 在内部网关后方将后端 MCP 服务器部署到 GKE
  • 使用 PSC 接口和 DNS 对等互连将 Agent Engine 连接到项目 VPC
  • 配置了 GKE Gateway,以便通过 DLP 隐去和 MCP 授权来管控智能体出站流量
  • 通过 Model Armor 应用 AI 保护措施,以过滤提示和回答
  • (可选)使用 Apigee MCP Discovery 代理将 REST API 转码为 MCP

后续步骤