Cloud Build 的存取權控管使用身分與存取權管理 (IAM)。IAM 可讓您建立及管理 Google Cloud 資源的權限。Cloud Build 提供一組特定的預先定義 IAM 角色,每個角色都包含一組權限。您可以使用這些角色,對特定 Google Cloud 資源授予更精細的存取權,避免未經授權者存取其他資源。IAM 採用最小權限安全原則,可確保您僅授予使用者必要的資源存取權限。
本頁面說明 Cloud Build 角色和權限。
預先定義的 Cloud Build 角色
若使用 IAM,Cloud Build API 中的每個 API 方法都要求提出 API 要求的身分具備使用該資源的適當權限。只要設定政策將角色授予主體 (使用者、群組或服務帳戶),即可授予權限。您可以在同一資源上,將多個角色授予同一個主體。
下表列出 Cloud Build 身分與存取權管理角色及這些角色所具備的權限:
| 角色 | 說明 | 權限 |
|---|---|---|
名稱:roles/cloudbuild.builds.viewer 標題:Cloud Build 檢視者 |
可查看 Cloud Build 資源 |
cloudbuild.builds.get
|
名稱:roles/cloudbuild.builds.editor 名稱:Cloud Build 編輯者 |
具備 Cloud Build 的完整控制權 資源 |
cloudbuild.builds.create
|
名稱:roles/cloudbuild.builds.approver 職稱:Cloud Build 審核者 |
提供核准或 拒絕待處理的建構作業 |
cloudbuild.builds.approve
|
名稱:roles/cloudbuild.builds.builder 標題:Cloud Build Legacy Service Account |
為專案啟用 Cloud Build API 時,系統會自動在專案中建立 Cloud Build 舊版服務帳戶,並授予該帳戶這個角色,以便存取專案中的資源。 Cloud Build 舊版服務帳戶只會在執行建構作業時, 視需要使用這個角色執行動作。 |
如要查看這個角色包含的權限清單,請參閱「預設 Cloud Build 服務帳戶」。 |
名稱:roles/cloudbuild.integrationsViewer 標題:Cloud Build 整合作業檢視者 |
可查看 Cloud Build 主機連結 |
cloudbuild.integrations.get
|
名稱:roles/cloudbuild.integrationsEditor 名稱:Cloud Build 整合作業編輯者 |
編輯 Cloud Build 的控制項
主機連結 |
cloudbuild.integrations.get
|
名稱:roles/cloudbuild.integrationsOwner 職稱:Cloud Build 整合作業擁有者 |
Cloud Build 的完整控制權 主機連結 |
cloudbuild.integrations.create
|
名稱:roles/cloudbuild.connectionViewer 名稱:Cloud Build Connection Viewer |
可查看及列出連線 和存放區 |
resourcemanager.projects.get
|
名稱:roles/cloudbuild.connectionAdmin 名稱:Cloud Build 連線管理員 |
可以管理連線 和存放區 |
resourcemanager.projects.get
|
名稱:roles/cloudbuild.readTokenAccessor 標題:Cloud Build 唯讀權杖存取者 |
可查看連線、連線的存放區、 並存取其唯讀權杖 |
cloudbuild.connections.get
|
「Name」(名稱):roles/cloudbuild.tokenAccessor 「Title」(名稱):Cloud Build 權杖存取者 |
可查看連線、連線的存放區、 並存取其唯讀和讀取/寫入權杖 |
cloudbuild.connections.get
|
名稱:roles/cloudbuild.workerPoolOwner 名稱:Cloud Build 工作站集區擁有者 |
完全控管私人集區 | cloudbuild.workerpools.create
|
名稱:roles/cloudbuild.workerPoolEditor名稱:Cloud Build 工作站集區編輯者 |
可以更新私人集區 | cloudbuild.workerpools.get
|
名稱:roles/cloudbuild.workerPoolViewer 名稱:Cloud Build 工作站集區檢視者 |
可查看私人集區 | cloudbuild.workerpools.get
|
名稱:roles/cloudbuild.workerPoolUser 名稱:Cloud Build 工作站集區使用者 |
可以在私人集區中執行建構作業 | cloudbuild.workerpools.use |
除了先前的 Cloud Build 預先定義角色外,基本檢視者、編輯者和擁有者角色也包含與 Cloud Build 相關的權限。不過,我們建議您盡可能授予預先定義的角色,以符合最低權限安全原則。
下表列出基本角色,以及這些角色所具備的 Cloud Build 身分與存取權管理角色。
| 角色 | 具備的角色 |
|---|---|
roles/viewer |
roles/cloudbuild.builds.viewer、roles/cloudbuild.integrations.viewer |
roles/editor |
roles/cloudbuild.builds.editor、roles/cloudbuild.integrations.editor |
roles/owner |
roles/cloudbuild.integrations.owner |
權限
下表列出了呼叫者在呼叫每個方法時必須具備的權限:
| API 方法 | 所需權限 | 角色名稱 |
|---|---|---|
builds.create() triggers.create() triggers.patch() triggers.delete() triggers.run() |
cloudbuild.builds.create |
Cloud Build 編輯者 |
builds.cancel() |
cloudbuild.builds.update |
Cloud Build 編輯者 |
builds.get() triggers.get() |
cloudbuild.builds.get |
Cloud Build 編輯者、Cloud Build 檢視者 |
builds.list() triggers.list() |
cloudbuild.builds.list |
Cloud Build 編輯者、Cloud Build 檢視者 |
查看建構記錄的權限
如要查看建構記錄,您需要額外權限,視您是將建構記錄儲存在預設 Cloud Storage bucket 中,還是儲存在使用者指定的 Cloud Storage bucket 中而定。如要進一步瞭解查看建構記錄所需的權限,請參閱「儲存及查看建構記錄」。
後續步驟
- 瞭解預設 Cloud Build 服務帳戶。
- 瞭解如何設定 Cloud Build 資源的存取權。
- 瞭解如何設定 Cloud Build 服務帳戶的存取權。
- 瞭解身分與存取權管理。