排解授權錯誤

本頁面說明授權異動後可能發生的授權錯誤,以及解決方法。

動作遭拒通常有兩個原因:

  • 執行身分服務帳戶權限:呼叫端缺少以服務帳戶身分執行的權限,或服務帳戶缺少必要的資源權限。請參閱「Run-as 服務帳戶錯誤」。
  • 呼叫端 IAM 角色:呼叫端沒有執行動作所需的 IAM 角色。請參閱「IAM 角色錯誤」。

由於 Application Integration 會檢查這兩項需求,因此解決其中一項問題並不會自動解決另一項問題。

「執行身分」服務帳戶錯誤

由於部分授權檢查仍在推出階段,您可能不會立即遇到所有錯誤。在錯誤訊息中,PRINCIPAL 是系統評估的帳戶。如果無法判斷帳戶身分,訊息會顯示 The caller。

條件 錯誤或行為 解析度
主體 (使用者、自動化作業或觸發條件) 啟動整合,但缺少以整合執行身分服務帳戶身分運作的權限。 執行作業遭拒,並顯示下列錯誤: PRINCIPAL needs roles/iam.serviceAccountUser on SERVICE_ACCOUNT (or its project) to run this integration.
  • API 呼叫會直接傳回錯誤,且執行記錄中不會顯示任何項目。
  • Cloud Pub/Sub、Eventarc 或 Integration Connectors 事件觸發條件會在執行記錄中記錄失敗的執行作業,且不會重新傳送事件。
  • Cloud Scheduler 工作回報 PERMISSION_DENIED 錯誤。
將服務帳戶使用者角色授予啟動整合的主體。如果是觸發條件,請將這個角色授予觸發條件的服務帳戶。
2026 年 10 月 15 日當天或之後建立的整合項目,如果使用 API 或私人以外的觸發條件,則沒有執行身分服務帳戶。 發布和測試失敗,並顯示下列錯誤: Set a run-as service account. These triggers run with no caller: TRIGGERS. Required for integrations created on or after October 15, 2026 (UTC). 設定執行身分服務帳戶。
如果觸發執行作業時未使用使用者憑證,就不會有執行身分服務帳戶。 如果該區域已啟用整合治理功能,無論整合項目的建立日期為何,發布和測試都會失敗,並顯示下列錯誤: Your project requires a run-as service account. Set one before publish or test. 治理是指「編輯區域」一節所述的「啟用治理」設定。

自 2026 年 10 月 15 日起,系統不會拒絕未受管理的區域執行這些作業。不過,我們預計在日後推出的版本中,讓下列項目無法通過驗證:
  • 缺少身分的任務,例如連接器、呼叫 REST 端點或 Cloud Run functions 任務。
  • 非同步執行作業,會失敗並顯示下列錯誤:Integration NAME needs a run-as service account to run asynchronously via trigger TRIGGER_ID.
設定執行身分服務帳戶。
「呼叫整合」工作無法啟動子整合。 呼叫整合的「呼叫整合」工作失敗,原因如下:
  • 子整合項目會以非同步方式呼叫,且沒有「執行身分」服務帳戶,即使呼叫整合項目有也一樣:Integration NAME needs a run-as service account to run asynchronously via trigger TRIGGER_ID.
  • 啟動呼叫整合的主體,或呼叫整合的「執行身分」服務帳戶,缺少以子整合的「執行身分」服務帳戶身分執行的權限:PRINCIPAL needs roles/iam.serviceAccountUser on SERVICE_ACCOUNT (or its project) to run this integration.
在子整合中設定執行身分服務帳戶,或將呼叫設為同步執行。然後授予子整合服務帳戶的「服務帳戶使用者」角色。
主體發布或測試使用驗證設定檔的整合,但沒有權限做為其服務帳戶,或執行作業達到使用該設定檔的工作。 發布或測試失敗,或工作失敗,並顯示下列錯誤:PRINCIPAL needs roles/iam.serviceAccountUser on SERVICE_ACCOUNT (or its project) to use auth config "AUTH_PROFILE_NAME".。執行作業是否繼續,取決於工作設定如何處理錯誤。 在設定檔指定的服務帳戶上授予服務帳戶使用者角色。
主體建立或編輯服務帳戶或 OIDC 權杖驗證設定檔,但沒有權限以指定服務帳戶的身分執行操作。 無法儲存設定檔,並顯示下列錯誤: PRINCIPAL needs roles/iam.serviceAccountUser on SERVICE_ACCOUNT (or its project) to save this auth config. 將服務帳戶使用者角色授予設定檔中指定的帳戶,並指派給管理該帳戶的主體。
核准者缺少權限,無法以執行身分服務帳戶的身分操作。 核准或繼續執行作業失敗,並顯示下列錯誤: PRINCIPAL needs roles/iam.serviceAccountUser on SERVICE_ACCOUNT (or its project) to resume this execution. 執行作業會維持暫停狀態,直到過期為止,因此核准作業可能會顯示為停止運作。 將服務帳戶使用者角色授予所有潛在核准者。
主體發布或測試整合項目,但沒有權限以其執行身分服務帳戶的身分操作。 PRINCIPAL needs roles/iam.serviceAccountUser on SERVICE_ACCOUNT (or its project) to publish or test this integration.先前發布的版本會繼續執行。如果您使用自動化功能發布,這項錯誤會顯示在部署管道記錄中,而非 Google Cloud 控制台。 將服務帳戶使用者角色授予發布者、測試人員和自動化部署服務帳戶。
工作會使用觸發工作的委託人憑證執行,而該委託人缺少目標資源的存取權。在新的整合中,以及自 2026 年 10 月 15 日起,在任何整合的測試中,JavaScript、資料轉換器指令碼和資料對應工作都會以這種方式運作。 執行作業正常啟動,但工作無法參照資源,即使未對整合進行任何變更也一樣。 請將資源存取權授予主體,或為整合作業指派已具備必要存取權的執行身分服務帳戶。建議使用「執行身分」服務帳戶,確保無論由誰觸發,整合項目的存取權都保持一致。

如需 Application Integration 錯誤代碼的完整清單,請參閱「錯誤代碼」。

IAM 角色錯誤

除了驗證執行身分服務帳戶外,Application Integration 也會驗證呼叫者對每項動作的 IAM 權限。如果與整合互動時遇到 PERMISSION_DENIED 錯誤,或執行記錄無法載入,請確認您具備授予必要權限的角色:

動作 必要的角色
查看及開啟整合項目 roles/integrations.integrationViewer
查看執行記錄和詳細資料 roles/integrations.integrationViewer 或 roles/integrations.integrationInvoker
執行整合 roles/integrations.integrationInvoker 或 roles/integrations.integrationEditor
建立及編輯整合 roles/integrations.integrationEditor
發布整合項目 roles/integrations.integrationDeployer 或 roles/integrations.integrationEditor
核准或繼續執行暫停的作業 roles/integrations.suspensionResolver 或 roles/integrations.integrationAdmin
取得所有整合項目的完整存取權 roles/integrations.integrationAdmin

如要授予角色,請執行下列指令:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='user:PRINCIPAL' \
    --role='ROLE'

詳情請參閱下列資源:

排解無效授權問題

  • 授權套用至錯誤的專案:授權必須在擁有服務帳戶的專案中進行,不一定是擁有整合的專案。
  • 傳播延遲:除了標準 IAM 傳播延遲外,授權決策也會短暫快取。請稍候幾分鐘再重試。
  • 涉及多個服務帳戶:系統會分別評估執行身分服務帳戶、各驗證設定檔的服務帳戶,以及各子整合項目的執行身分服務帳戶。每項權限都必須明確授予。
  • 授權套用至錯誤的主體:如果是 Cloud Scheduler、Cloud Pub/Sub、Eventarc 或 Integration Connectors 事件觸發條件,需要授權的主體是觸發條件的服務帳戶,而非您的使用者帳戶。請參閱「誰需要服務帳戶使用者角色」。
  • 因呼叫端角色而遭到封鎖:「服務帳戶使用者」角色會決定您是否能「以」執行身分服務帳戶的身分執行。不過,您是否可以執行整合動作本身,是由另一項 IAM 角色控管。請參閱「IAM 角色錯誤」。