本文說明如何將已部署的代理程式和驗證供應商,從舊版 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) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。
啟用 Agent Identity API 後,控制台中的 Agent Registry 頁面會切換至新的 API,以讀取及寫入資源:Google Cloud
您不需要重新建立驗證提供者。新的 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 資源上,將「連結器使用者」(roles/iamconnectors.user) 角色授予代理程式的 SPIFFE ID,請在新版 authProviders/AUTH_PROVIDER_NAME 資源上授予「代理程式身分使用者」 (roles/agentidentity.user) 角色:
gcloud alpha agent-identity authProviders 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/v1alpha。此外,請從傳入的要求中讀取auth_provider_name,並將其設為FinalizeCredentials要求主體中的auth_provider欄位。
停用舊版 API
更新 IAM 允許政策並部署代理程式碼後,請確認代理程式會使用新版 API 進行驗證及擷取憑證。
遷移所有有效工作流程後,請在專案中停用舊版服務:
gcloud services disable iamconnectors.googleapis.com \
--project="PROJECT_ID"