本文档将介绍如何将已部署的代理和身份验证提供程序从旧版 IAM Connectors API (iamconnectors.googleapis.com) 迁移到新的 Agent Identity API (agentidentity.googleapis.com)。
在预览版迁移期间,这两个 API 会并行运行,让您能够迁移工作负载,而不会中断现有的代理对话。
迁移工作流包括以下任务:
启用 Agent Identity API
如需开始迁移,请在项目中启用新的 Agent Identity API。
启用 Agent Identity API(如果尚未启用)。
启用 API 所需的角色
如需启用 API,您需要拥有 serviceusage.services.enable 权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获取此权限。
了解如何授予角色。
启用 Agent Identity API 后,Google Cloud 控制台中的“代理注册表”页面会切换到新 API 来读取和写入资源:
您无需重新创建身份验证提供方。新 API 将每个旧版身份验证提供方(例如
projects/PROJECT_ID/locations/LOCATION/connectors/AUTH_PROVIDER_NAME)镜像为authProviders资源 (projects/PROJECT_ID/locations/LOCATION/authProviders/AUTH_PROVIDER_NAME)。使用 Google Cloud 控制台或 gcloud CLI 新创建的身份验证提供方会显示为
authProviders/资源,并且在旧版 API 中不可见。在迁移期间,使用旧版
connectors/字符串的有效代理会继续工作。
更新 IAM 允许政策
向镜像的身份验证提供方资源授予新的 IAM 角色,以便代理可以从新的 API 端点检索凭据。
例如,如果您在旧版 connectors/AUTH_PROVIDER_NAME 资源上向代理的 SPIFFE ID 授予了 Connector User (roles/iamconnectors.user) 角色,请在新版 authProviders/AUTH_PROVIDER_NAME 资源上授予 Agent Identity User (roles/agentidentity.user) 角色:
gcloud agent-identity auth-providers add-iam-policy-binding \ AUTH_PROVIDER_NAME \ --project="PROJECT_ID" \ --location="LOCATION" \ --role="roles/agentidentity.user" \ --member="principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/ENGINE_ID"
如果您使用 adk web 在本地测试代理,请向您的个人用户账号 (user:USER_EMAIL) 授予 roles/agentidentity.user。
更新代理代码和 SDK
更新代理代码,以引用新的 authProviders/ 资源层次结构和端点:
将代理代码中的 ADK 版本更新为 2.3.0 或更高版本。
在您的代理代码(例如
agent.py)中,将GcpAuthProviderScheme资源字符串中的connectors/替换为authProviders/。旧版配置:
auth_scheme = GcpAuthProviderScheme( name="projects/PROJECT_ID/locations/LOCATION/connectors/AUTH_PROVIDER_NAME" )
新配置:
auth_scheme = GcpAuthProviderScheme( name="projects/PROJECT_ID/locations/LOCATION/authProviders/AUTH_PROVIDER_NAME" )
仅限三方模式 OAuth:如果您的代理直接调用 REST API,请将端点主机名从
iamconnectorcredentials.googleapis.com更新为agentidentitycredentials.googleapis.com,并将请求路径中的connectors/替换为authProviders/。仅限三方模式 OAuth:在前端验证服务器(例如
main.py)中,将FinalizeCredentials端点网址更新为https://agentidentitycredentials.googleapis.com/v1。此外,从传入请求中读取auth_provider_name,并将其设置为FinalizeCredentials请求正文中的auth_provider字段。
停用旧版 API
更新 IAM 允许政策并部署代理代码后,请验证您的代理是否使用新 API 进行身份验证并检索凭据。
迁移所有有效工作流后,请在项目中停用旧版服务:
gcloud services disable iamconnectors.googleapis.com \
--project="PROJECT_ID"后续步骤
- 代理身份概览
- 使用三方模式 OAuth 和身份验证管理器进行身份验证
- 使用双方模式 OAuth 和身份验证管理器进行身份验证
- 使用 API 密钥通过身份验证管理器进行身份验证
- 管理代理身份验证提供方
- 代理身份位置