為執行身分服務帳戶授予服務帳戶使用者角色
這個頁面列出需要服務帳戶使用者 (roles/iam.serviceAccountUser) 角色,才能因應即將實施的授權異動的主體,並說明如何授予該角色。
誰需要服務帳戶使用者角色
下列主體需要所列服務帳戶的服務帳戶使用者角色:
| 主體 | 服務帳戶 |
|---|---|
| 發布或測試整合項目 (包括部署自動化) 的使用者。 | 整合的執行身分服務帳戶 |
| 透過 API 或 Google Cloud 控制台,以同步或非同步方式執行整合的使用者和自動化作業。 | 整合的執行身分服務帳戶 |
| 觸發條件用來啟動整合的服務帳戶。包括 Cloud Scheduler 觸發條件的「服務帳戶電子郵件」,或 Cloud Pub/Sub 觸發條件、Eventarc 觸發條件或 Integration Connectors 事件觸發條件的「服務帳戶」。如果觸發條件帳戶是執行身分服務帳戶本身,則不需要這麼做。 | 整合的執行身分服務帳戶 |
| 核准或恢復暫停執行的使用者。 | 整合的執行身分服務帳戶 |
| 啟動整合的主體,該整合會使用呼叫整合工作呼叫子整合。如果整合作業是由觸發條件和服務帳戶啟動,則這是觸發條件的服務帳戶。 | 子整合的執行身分服務帳戶,以及呼叫整合的執行身分服務帳戶 |
| 呼叫整合的執行身分服務帳戶,在非同步呼叫子整合時。如果兩項整合項目使用相同的服務帳戶,則不需要執行這項操作。 | 子整合的執行身分服務帳戶 |
| 建立或編輯服務帳戶或 OIDC 權杖類型驗證設定檔的使用者。 | 設定檔中指定的服務帳戶 |
| 使用者發布或測試使用該設定檔的整合項目,包括部署自動化。 | 設定檔中指定的服務帳戶 |
執行整合作業的主體,該作業會使用該設定檔連至工作。如果是非同步或排定的執行作業,則為整合的執行身分服務帳戶,如果整合沒有這類帳戶,則為 Application Integration 服務代理 service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com。在這種情況下,建議您設定執行身分服務帳戶。 |
設定檔中指定的服務帳戶 |
儲存草稿不需要服務帳戶使用者角色。目前會對發布、測試和儲存驗證設定檔執行授權檢查。隨著推出作業進行,系統會開始檢查執行、核准、呼叫子整合,以及執行使用驗證設定檔的工作。請主動授予這些角色,確保整合作業能持續順利執行。
授予角色
如要將角色授予主體,請執行下列指令:
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT \
--project=SERVICE_ACCOUNT_PROJECT_ID \
--member='user:PRINCIPAL' \
--role='roles/iam.serviceAccountUser'
更改下列內容:
SERVICE_ACCOUNT::執行身分服務 帳戶的電子郵件地址,或驗證設定檔中指定的帳戶。SERVICE_ACCOUNT_PROJECT_ID:擁有服務帳戶的專案 ID。PRINCIPAL:使用者的電子郵件地址。
如果是其他主體類型,請使用對應的 --member 前置字元:
- 群組:使用
group:。建議您使用 Google 群組,而非個別使用者帳戶,以便在團隊成員異動時簡化存取權管理。 - 服務帳戶:使用
serviceAccount:處理自動化程序、應用程式和觸發服務帳戶。
如要在 Google Cloud 控制台授予角色,請按照下列步驟操作:
- 依序前往「IAM & Admin」 >「Service Accounts」。
- 選取服務帳戶。
- 依序點選「權限」 >「授予存取權」。
如要授予這個角色,您必須具備服務帳戶的 roles/iam.serviceAccountAdmin 角色。根據預設,專案擁有者具備這項權限。詳情請參閱「管理服務帳戶的存取權」。
後續步驟
- 針對在沒有使用者身分的情況下執行的整合,設定執行身分服務帳戶。
- 如果授權似乎無效,請參閱「排解授權錯誤」。