根據預設,只有專案建立者可以存取專案和資源。 Google Cloud 如要授予其他使用者存取權,您可以授予專案或特定 Cloud Build 資源的 Identity and Access Management (IAM) 角色。
本頁說明如何為 Cloud Build 資源設定存取權控管。
事前準備
- 瞭解 IAM 的基本概念。
- 瞭解 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 角色的使用者可以執行 gcloud builds 指令,不必具備額外的 serviceusage.services.use 權限。
查看建構記錄的權限
如要查看建構記錄,您需要額外權限,視您是將建構記錄儲存在預設 Cloud Storage bucket 中,還是儲存在使用者指定的 Cloud Storage bucket 中而定。如要進一步瞭解查看建構記錄所需的權限,請參閱「查看建構記錄」。
撤銷專案角色
控制台
在 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 自訂角色的操作說明,請參閱「建立及管理自訂角色」。