根據預設,只有 Google Cloud 專案建立者可以存取專案及其資源。如要授予其他使用者存取權,您可以在專案或特定 Cloud Build 資源上授予身分與存取權管理 (IAM) 角色。
本頁面說明如何為 Cloud Build 資源設定存取權控管。
事前準備
- 瞭解身分與存取權管理的基本概念。
- 瞭解 Cloud Build 角色和權限。
在專案中授予角色
主控台
在 Google Cloud 控制台中開啟「IAM」頁面:
選取您的專案並按一下 [繼續]。
按一下「授予存取權」。
輸入使用者或服務帳戶的電子郵件地址。
從下拉式選單中選取所需角色。Cloud Build 角色可在「Cloud Build」下找到。
按一下 [儲存]。
gcloud
如要將角色授予主體,請執行 add-iam-policy-binding
指令:
gcloud group add-iam-policy-binding resource \
--member=principal --role=role-id
其中:
group:您要更新資源的 gcloud CLI 群組。例如,您可以使用專案或機構。
resource:資源的名稱。
principal:實體 ID,通常為以下格式:principal-type:id。例如 user:my-user@example.com。如需主體或成員類型的完整清單,請參閱政策繫結參考資料。
role-id:角色的名稱。
舉例來說,如要將 Cloud Build 檢視者角色授予專案 my-project
的使用者 my-user@example.com
:
gcloud projects add-iam-policy-binding my-project \
--member=user:my-user@example.com --role=roles/cloudbuild.builds.viewer
授予執行 gcloud 指令的權限
如要執行 gcloud builds
指令,只有 cloudbuild.builds.viewer
或 cloudbuild.builds.editor
角色的使用者也需要 serviceusage.services.use
權限。如要將此權限授予使用者,請授予他們 serviceusage.serviceUsageConsumer
角色。
具備「roles/editor」和「roles/owner」角色的使用者,無需額外的 serviceusage.services.use
權限,即可執行 gcloud builds
指令。
查看建構記錄的權限
如要查看版本記錄,您需要具備其他權限,具體取決於您是將版本記錄儲存在預設 Cloud Storage 值區,還是儲存在使用者指定的 Cloud Storage 值區。如要進一步瞭解查看建構記錄所需的權限,請參閱「查看建構記錄」。
撤銷專案中的角色
主控台
在 Google Cloud 控制台中開啟「IAM」頁面:
選取您的專案並按一下 [繼續]。
在權限表格中找出主體的電子郵件 ID,然後按一下鉛筆圖示。
刪除要撤銷的角色。
按一下 [儲存]。
gcloud
如要撤銷使用者的角色,請執行 remove-iam-policy-binding
指令:
gcloud group remove-iam-policy-binding resource \
--member=principal --role=role-id
其中:
group:您要更新資源的 gcloud CLI 群組。例如,您可以使用專案或機構。
resource:資源的名稱。
principal:實體 ID,通常為以下格式:principal-type:id。例如 user:my-user@example.com。如需主體或成員類型的完整清單,請參閱政策繫結參考資料。
role-id:角色的名稱。
舉例來說,如要撤銷使用者 my-user@example.com
的 my-project
專案 Cloud Build 檢視者角色:
gcloud projects remove-iam-policy-binding my-project \
--member=user:my-user@example.com --role=roles/cloudbuild.builds.viewer
查看專案中的角色
主控台
在 Google Cloud 控制台中開啟「IAM」頁面:
選取您的專案並按一下 [繼續]。
在「依據」下方,按一下「角色」。
如要查看具有特定角色的主體,請展開角色名稱。
gcloud
如要查看在 Google Cloud 專案中獲授特定角色的所有使用者,請執行下列指令:
gcloud projects get-iam-policy project-id \
--flatten="bindings[].members" \
--format="table(bindings.members)" \
--filter="bindings.role:role-id"
其中:
project-id 是您的專案 ID。
role-id 是您要查看其擁有者角色的名稱。
舉例來說,如要查看已授予 Google Cloud 專案「檢視者」角色的專案中所有主要使用者,請執行下列指令:
gcloud projects get-iam-policy my-project \
--flatten="bindings[].members" \
--format="table(bindings.members)" \
--filter="bindings.role:roles/cloudbuild.builds.viewer"
建立身分與存取權管理自訂角色
如果使用者想要定義自己的角色,並包含他們指定的權限組合,IAM 就會提供自訂角色。如需建立及使用 IAM 自訂角色的操作說明,請參閱「建立及管理自訂角色」。