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

Cloud Build 中的存取權控管使用 身分與存取權管理 (IAM) 控管。IAM 可讓您建立及管理 Google Cloud 資源的權限。Cloud Build 提供一組特定的預先定義 IAM 角色,每個角色都包含一組權限。您可以使用這些角色,對特定 Google Cloud 資源授予更精細的存取權,並避免其他資源遭到未經授權者擅自存取。IAM 能讓您採用最低權限安全性原則,僅授予必要的資源存取權限給使用者。

本頁面說明 Cloud Build 角色和權限。

預先定義的 Cloud Build 角色

透過身分與存取權管理功能,Cloud Build API 中的每個 API 方法都要求提出 API 要求的身分具備使用該資源的適當權限。只要設定政策將角色授予實體 (使用者、群組或服務帳戶),即可授予權限。您可以將多個角色授予相同資源中的單一實體。

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

角色 說明 權限
名稱roles/cloudbuild.builds.viewer
標題:Cloud Build Viewer
可查看 Cloud Build

資源

cloudbuild.builds.get

cloudbuild.builds.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 舊版服務帳戶
為專案啟用
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 連線檢視器
可查看及列出連線

和存放區

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

名稱roles/cloudbuild.tokenAccessor
標題: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 值區,還是儲存在使用者指定的 Cloud Storage 值區。如要進一步瞭解查看建構記錄所需的權限,請參閱「儲存及查看建構記錄」。

後續步驟