本頁面適用於應用程式運算子群組中的應用程式開發人員,負責設定應用程式和開發環境,以啟用 AI 功能。詳情請參閱 GDC air-gapped 的目標對象說明文件。
事前準備
您必須為專案設定 Vertex AI。詳情請參閱「設定 Vertex AI 專案」。
- 在開發環境中設定驗證前,請務必更新本機信任儲存區。
驗證 Vertex AI 服務
與 Vertex AI 服務互動時,需要使用驗證權杖。權杖是數位物件,可驗證您的身分和授權。您必須提供有效憑證,系統才會核發權杖。權杖會攜帶帳戶的特定資訊,以及存取和操作服務與資源的權限。
設定驗證的方式有兩種:
使用使用者帳戶進行驗證
以下指南會逐步說明如何取得使用者帳戶的驗證權杖:
請記下要使用的 API 端點。
將「準備 IAM 權限」中列出的相應角色授予使用者帳戶,即可存取要使用的 Vertex AI 服務或 Generative AI 模型。
使用必須與 API 互動的使用者帳戶登入 Distributed Cloud:
gdcloud auth login
取得驗證權杖:
gdcloud auth print-identity-token --audiences=https://ENDPOINT
然後將
ENDPOINT
替換成貴機構使用的 API 端點。詳情請參閱服務狀態和端點。視驗證權杖的預期用途而定,您可能需要在目標對象路徑中的服務端點後方加入通訊埠,如下所示:
- 如果您使用用戶端程式庫發出要求,則必須在目標對象路徑的服務端點後方加入通訊埠
:443
。因此,指令中的--audiences
路徑必須為https://ENDPOINT:443
。 - 如果您使用 gRPC、
curl
或程式輔助 REST 呼叫提出要求,請勿加入通訊埠。因此,指令中的--audiences
路徑必須為https://ENDPOINT
。
輸出內容會顯示驗證權杖。將權杖新增至您發出的指令列要求標頭,如下列範例所示:
-H "Authorization: Bearer TOKEN"
將
TOKEN
替換為輸出內容顯示的驗證權杖值。- 如果您使用用戶端程式庫發出要求,則必須在目標對象路徑的服務端點後方加入通訊埠
使用服務帳戶進行驗證
以下指南將逐步說明如何取得服務帳戶的驗證權杖:
請記下要使用的 API 端點。
授予服務帳戶「準備 IAM 權限」中列出的相應角色,讓服務帳戶存取您想使用的服務或模型。
設定下列環境變數:
export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_KEY
將
PATH_TO_SERVICE_KEY
替換為包含服務帳戶金鑰配對的 JSON 檔案路徑。安裝
google-auth
用戶端程式庫:pip install google-auth
在 Python 指令碼中新增下列程式碼:
import os import google.auth from google.auth.transport import requests import requests as reqs os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "PATH_TO_SERVICE_KEY" os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "CERT_NAME" # If you use a client library for your request, # you must include port :443 after the service endpoint # in the audience path. audience = "https://ENDPOINT" creds, project_id = google.auth.default() print(project_id) creds = creds.with_gdch_audience(audience) def test_get_token(): sesh = reqs.Session() req = requests.Request(session=sesh) creds.refresh(req) print(creds.token) if __name__=="__main__": test_get_token()
更改下列內容:
PATH_TO_SERVICE_KEY
:包含服務帳戶金鑰配對的 JSON 檔案路徑。CERT_NAME
:憑證授權單位 (CA) 憑證檔案的名稱,例如org-1-trust-bundle-ca.cert
。只有在開發環境中才需要這個值。否則請省略。ENDPOINT
:貴機構使用的 API 端點。詳情請參閱服務狀態和端點。視驗證權杖的預期用途而定,您可能需要在目標對象路徑中,於服務端點後方加入通訊埠,如下所示:- 如果您使用用戶端程式庫發出要求,則必須在目標對象路徑的服務端點後方加入通訊埠
:443
。因此,指令碼中的audience
路徑必須為"https://ENDPOINT:443"
。 - 如果您使用 gRPC、
curl
或程式輔助 REST 呼叫提出要求,請勿加入通訊埠。因此,指令碼中的audience
路徑必須為"https://ENDPOINT"
。
- 如果您使用用戶端程式庫發出要求,則必須在目標對象路徑的服務端點後方加入通訊埠
儲存 Python 指令碼。
執行 Python 指令碼來擷取權杖:
python SCRIPT_NAME
將
SCRIPT_NAME
替換為您為 Python 指令碼指定的名稱,例如token.py
。輸出內容會顯示驗證權杖。將權杖新增至您發出的指令列要求標頭,如下列範例所示:
-H "Authorization: Bearer TOKEN"
將
TOKEN
替換為輸出內容顯示的驗證權杖值。