授予「以服務帳戶身分執行」服務帳戶的服務帳戶使用者角色
本頁是「為即將推出的授權異動做好準備」的一部分。這份清單列出需要「服務帳戶使用者」角色 (roles/iam.serviceAccountUser) 的人員,並說明如何授予該角色。
需要服務帳戶使用者的對象
下列主體需要所列服務帳戶的「服務帳戶使用者」角色:
| 主體 | 服務帳戶 |
|---|---|
| 發布或測試整合的任何人,包括部署自動化 | 整合的「以服務帳戶身分執行」服務帳戶 |
| 透過 API 或 Google Cloud 控制台執行整合作業的任何人,無論是同步或非同步 | 整合的「以服務帳戶身分執行」服務帳戶 |
| 觸發條件用來啟動整合作業的服務帳戶:Cloud Scheduler 觸發條件的服務帳戶電子郵件,或是 Cloud Pub/Sub 觸發條件、Eventarc 觸發條件或整合作業連接器事件觸發條件的服務帳戶。如果該帳戶本身就是以服務帳戶身分執行的帳戶,則不需要。 | 整合的「以服務帳戶身分執行」服務帳戶 |
| 核准或繼續執行暫停的執行程序 | 整合的「以服務帳戶身分執行」服務帳戶 |
| 如果有人啟動的整合作業會透過「呼叫整合作業」工作呼叫子整合作業,如果是透過服務帳戶觸發的整合,這就是觸發條件的服務帳戶。 | 子整合的「以服務帳戶身分執行」服務帳戶,以及呼叫整合的 |
| 呼叫整合項目以非同步方式呼叫子整合項目時,所用的「以服務帳戶身分執行」服務帳戶。如果兩個整合都使用同一個服務帳戶,則不需要。 | 子整合的「以服務帳戶身分執行」服務帳戶 |
| 建立或編輯「服務帳戶」驗證設定檔的任何使用者 | 設定檔中指定的服務帳戶 |
| 發布或測試使用該設定檔的整合功能 | 設定檔中指定的服務帳戶 |
凡是執行整合作業,並透過該設定檔抵達工作的使用者,如果是非同步或排程執行,則為整合的執行身分服務帳戶,或 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:擁有服務帳戶的專案 IDPRINCIPAL:使用者的電子郵件地址
如為其他主體類型,請使用對應的 --member 前置字元:
- 群組:使用
group:。建議您使用 Google 群組,而非個別使用者帳戶,這樣在團隊成員異動時,就能簡化存取權管理作業。 - 服務帳戶:使用
serviceAccount:執行自動化程序、應用程式,以及觸發服務帳戶。
如要在 Google Cloud 控制台中執行相同操作,請按照下列步驟操作:
- 依序前往「IAM 與管理」>「服務帳戶」。
- 選取服務帳戶。
- 依序點選「權限」>「授予存取權」。
如要授予權限,您需要服務帳戶的 roles/iam.serviceAccountAdmin。專案擁有者具備這項權限。詳情請參閱「管理服務帳戶的存取權」。
後續步驟
- 在無人執行的整合項目中設定「以服務帳戶身分執行」。
- 如果授權似乎無法運作,請參閱「排解授權錯誤」。