本文說明如何將已部署的代理和驗證服務供應商,從舊版 IAM Connectors API (iamconnectors.googleapis.com) 遷移至新的 Agent Identity API (agentidentity.googleapis.com)。
在預先發布版遷移期間,這兩個 API 會並行運作,因此您可以在不中斷現有代理對話的情況下遷移工作負載。
遷移工作流程包含下列工作:
啟用 Agent Identity API
如要開始遷移,請在專案中啟用新的 Agent Identity API。
啟用 Agent Identity API (如果尚未啟用)。
啟用 API 所需的角色
您必須具備 serviceusage.services.enable 權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「Service Usage 管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。
啟用 Agent Identity API 後,Cloud de Confiance 控制台中的「Agent Registry」頁面會切換至新的 API,用於讀取及寫入資源:
您不需要重新建立驗證提供者。新的 API 會將每個舊版驗證提供者 (例如
projects/PROJECT_ID/locations/LOCATION/connectors/AUTH_PROVIDER_NAME) 鏡像為authProviders資源 (projects/PROJECT_ID/locations/LOCATION/authProviders/AUTH_PROVIDER_NAME)。使用 Cloud de Confiance 控制台、gcloud CLI 或 REST API 建立的驗證提供者會顯示為
authProviders/資源,且不會顯示在舊版 API 中。在遷移期間,使用舊版
connectors/字串的有效代理會繼續運作。
更新 IAM 允許政策
授予鏡像驗證提供者資源新的 IAM 角色,讓代理能從新的 API 端點擷取憑證。
舉例來說,如果您在舊版 connectors/AUTH_PROVIDER_NAME 資源上,將連接器使用者 (roles/iamconnectors.user) 角色授予代理的 SPIFFE ID,請在新版 authProviders/AUTH_PROVIDER_NAME 資源上授予代理身分使用者 (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 在本機測試代理,請將 roles/agentidentity.user 授予個人使用者帳戶 (user:USER_EMAIL)。
更新代理程式碼和 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"