身分與存取權管理角色和權限

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

cloudbuild.builds.list

cloudbuild.locations.get

cloudbuild.locations.list

cloudbuild.operations.get

cloudbuild.operations.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

名稱roles/cloudbuild.builds.editor
名稱:Cloud Build 編輯者
具備 Cloud Build 的完整控制權

資源

cloudbuild.builds.create

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.builds.update

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

名稱roles/cloudbuild.builds.approver
職稱:Cloud Build 審核者
提供核准或

拒絕待處理的建構作業

cloudbuild.builds.approve

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

名稱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

cloudbuild.integrations.list

resourcemanager.projects.get

resourcemanager.projects.list

名稱roles/cloudbuild.integrationsEditor
名稱:Cloud Build 整合作業編輯者
編輯 Cloud Build 的控制項

主機連結

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

resourcemanager.projects.get

resourcemanager.projects.list

名稱roles/cloudbuild.integrationsOwner
職稱:Cloud Build 整合作業擁有者
Cloud Build 的完整控制權

主機連結

cloudbuild.integrations.create

cloudbuild.integrations.delete

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

compute.firewalls.create

compute.firewalls.get

compute.firewalls.list

compute.networks.get

compute.networks.updatePolicy

compute.regions.get

compute.subnetworks.get

compute.subnetworks.list

resourcemanager.projects.get

resourcemanager.projects.list

名稱roles/cloudbuild.connectionViewer
名稱:Cloud Build Connection Viewer
可查看及列出連線

和存放區

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.getIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

名稱roles/cloudbuild.connectionAdmin
名稱:Cloud Build 連線管理員
可以管理連線

和存放區

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.create

cloudbuild.connections.update

cloudbuild.connections.delete

cloudbuild.connections.getIamPolicy

cloudbuild.connections.setIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

cloudbuild.repositories.create

cloudbuild.repositories.delete

名稱roles/cloudbuild.readTokenAccessor
標題:Cloud Build 唯讀權杖存取者
可查看連線、連線的存放區、

並存取其唯讀權杖

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

「Name」(名稱)roles/cloudbuild.tokenAccessor
「Title」(名稱):Cloud Build 權杖存取者
可查看連線、連線的存放區、

並存取其唯讀和讀取/寫入權杖

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

cloudbuild.repositories.accessReadWriteToken

名稱roles/cloudbuild.workerPoolOwner
名稱:Cloud Build 工作站集區擁有者
完全控管私人集區 cloudbuild.workerpools.create

cloudbuild.workerpools.delete

cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

名稱:roles/cloudbuild.workerPoolEditor
名稱
:Cloud Build 工作站集區編輯者
可以更新私人集區 cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

名稱roles/cloudbuild.workerPoolViewer
名稱:Cloud Build 工作站集區檢視者
可查看私人集區 cloudbuild.workerpools.get

cloudbuild.workerpools.list

resourcemanager.projects.get

resourcemanager.projects.list

名稱roles/cloudbuild.workerPoolUser
名稱:Cloud Build 工作站集區使用者
可以在私人集區中執行建構作業 cloudbuild.workerpools.use

除了先前的 Cloud Build 預先定義角色外,基本檢視者、編輯者和擁有者角色也包含與 Cloud Build 相關的權限。不過,我們建議您盡可能授予預先定義的角色,以符合最低權限安全原則

下表列出基本角色,以及這些角色所具備的 Cloud Build 身分與存取權管理角色。

角色 具備的角色
roles/viewer roles/cloudbuild.builds.viewerroles/cloudbuild.integrations.viewer
roles/editor roles/cloudbuild.builds.editorroles/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 中而定。如要進一步瞭解查看建構記錄所需的權限,請參閱「儲存及查看建構記錄」。

後續步驟