如要瞭解 ADC 的運作方式 (包括憑證的尋找位置),請參閱「應用程式預設憑證的運作方式」。
使用者憑證無法運作
如果 API 要求傳回錯誤訊息,指出這個 API 不支援使用者憑證、API 未在專案中啟用,或未設定配額專案,請參閱下列資訊。
Cloud de Confiance API 分為兩種:
依資源計算的 API:使用與所存取資源相關聯的專案,做為帳單和配額依據。
以用戶端為準的 API:使用與存取資源的用戶端相關聯的專案,進行帳單和配額作業。
提供使用者憑證向以用戶端為基礎的 API 進行驗證時,您必須指定用於帳單和配額的專案。這個專案稱為「配額專案」。
指定配額專案的方法有很多種,包括下列選項:
更新 ADC 檔案,將其他專案做為配額專案:
gcloud auth application-default set-quota-project YOUR_PROJECT
如果您使用 gcloud CLI 呼叫 API,可以在 gcloud CLI 設定中設定配額專案:
gcloud config set billing/quota_project YOUR_PROJECT
如果您直接呼叫 REST 或 RPC API,請在每個要求中使用
x-goog-user-projectHTTP 標頭指定配額專案。詳情請參閱「使用 REST 要求設定配額專案」。
您必須具備專案的 serviceusage.services.use IAM 權限,才能將專案指定為帳單專案。服務使用情形消費者 IAM 角色包含 serviceusage.services.use 權限。如果您沒有任何專案的 serviceusage.services.use 權限,請與安全管理員或專案擁有者聯絡,由對方授予您專案的「Service Usage Consumer」角色。
如要進一步瞭解配額專案,請參閱「配額專案總覽」。如要瞭解設定配額專案的其他方式,請參閱「設定配額專案」。
憑證不正確
如果憑證無法提供預期存取權,或系統找不到憑證,請檢查下列事項:
如果您使用 gcloud CLI 在本機環境中存取 Cloud de Confiance ,請務必瞭解您使用的憑證。使用 gcloud CLI 時,您會使用透過
gcloud auth login指令提供給 gcloud CLI 的憑證。您並未使用提供給 ADC 的憑證。如要進一步瞭解這兩組憑證,請參閱「gcloud CLI 驗證設定和 ADC 設定」。請確認您只在為 ADC 使用服務帳戶金鑰或其他 JSON 檔案時,才設定
GOOGLE_APPLICATION_CREDENTIALS環境變數。環境變數所指向的憑證優先於其他憑證,包括 Workload Identity Federation for GKE。確認提出要求的主體具備必要的 IAM 角色。如果您使用使用者憑證,則必須將角色授予與使用者帳戶相關聯的電子郵件地址。如果您使用服務帳戶,該帳戶必須具備必要的角色。
如果您在 API 要求中提供 API 金鑰,無論在任何位置,API 金鑰的優先順序都會高於 ADC。如果您已設定
GOOGLE_APPLICATION_CREDENTIALS環境變數,且使用 API 金鑰,API 可能會傳回警告,指出您提供給 ADC 的憑證遭到忽略。如要停止顯示警告,請取消設定GOOGLE_APPLICATION_CREDENTIALS環境變數。
無法辨識的憑證類型
如果 API 要求傳回的錯誤包含 Error creating credential
from JSON. Unrecognized credential type,請確認您使用的是有效憑證。不支援使用用戶端 ID 檔案提供 ADC 的憑證。