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

本文列出您在不同專案中需要具備的角色和權限,才能使用 Workload Manager 評估功能,以及自動建立 Workload Manager 服務帳戶來執行評估。

Workload Manager 專案

Workload Manager 評估作業會掃描多個專案 (稱為「目標專案」) 中的資源,但評估結果只會儲存在一個專案 (稱為「用戶專案」) 中。

您可以使用消費者專案,在Google Cloud 控制台中存取 Workload Manager,並建立及執行評估作業。使用 Google Cloud 控制台建立評估時,請在工作流程的「評估範圍」部分,指定要評估的資源所在的目標專案。

如果評估的資源與您建立 Workload Manager 評估的專案位於同一處,則消費者專案也會視為目標專案之一。

建立及執行評估作業所需的權限摘要

下表彙整了消費者和目標專案中的使用者,透過 Workload Manager 建立及執行評估作業時所需的權限。如要取得所需權限,請要求管理員授予包含必要權限的角色,或建立自訂角色。

動作 消費者專案 目標專案
啟用 Workload Manager API 權限:
serviceusage.services.enable

包含這項權限的預先定義角色:
roles/serviceusage.serviceUsageAdmin
建立評估作業 建立服務帳戶的權限:
resourcemanager.projects.setIamPolicy

包含該權限的預先定義角色:
roles/resourcemanager.projectIamAdmin

只有在建立第一項評估作業時才需要。

可授予建立評估權限的預先定義角色:
roles/workloadmanager.evaluationAdmin

可授予建立快訊通知權限的預先定義角色:
roles/monitoring.metricWriter

如要使用自訂規則建立評估,您必須具備下列額外權限:

預先定義的角色,可授予讀取 Cloud Asset Inventory 資料的權限:
roles/cloudasset.owner

預先定義的角色,可授予讀取儲存在 Cloud Storage bucket 中規則的權限:
roles/storage.objectViewer

預先定義的角色,可授予將評估結果寫入 BigQuery 資料集的權限:
roles/bigquery.admin

建立服務帳戶的權限:
resourcemanager.projects.setIamPolicy

包含該權限的預先定義角色:
roles/resourcemanager.projectIamAdmin

只有在建立第一項評估作業時才需要。

執行評估作業 權限:
workloadmanager.evaluations.run

包含這項權限的預先定義角色:
roles/workloadmanager.evaluationAdmin

查看評估結果 權限:
workloadmanager.results.list

包含這項權限的預先定義角色:
roles/workloadmanager.evaluationAdmin

roles/workloadmanager.evaluationViewer

Workload Manager 服務代理

Workload Manager 會使用服務代理程式,控管資源和相關聯專案之間的存取權和通訊。

您可以使用 Google Cloud console 或 Workload Manager API 評估工作負載。如果您使用 Google Cloud console,Workload Manager 會自動建立所有必要的服務代理。如果您使用 Workload Manager API,則必須手動建立服務代理程式。

必要的角色

如要取得建立服務代理程式所需的權限,請要求管理員授予您範圍內每個目標專案的專案 IAM 管理員 (roles/resourcemanager.projectIamAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色包含 resourcemanager.projects.setIamPolicy權限,這是建立服務代理程式的必要權限。

您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

建立及授予服務代理程式角色

Google Cloud 控制台

如果您使用 Google Cloud console 評估工作負載,Workload Manager 會在消費者專案中自動建立服務代理程式。

這個服務代理程式的電子郵件地址為 service-PROJECT_NUMBER@gcp-sa-workloadmanager.iam.gserviceaccount.com,稱為 Workload Manager 服務帳戶。

Workload Manager 服務代理程式需要下列角色才能執行評估。如果系統提示,請將這些角色授予服務代理。

  • Workload Manager 服務代理 (roles/workloadmanager.serviceAgent):目標專案必須具備這個角色。
  • Workload Manager 工作者 (roles/workloadmanager.worker):只有在為評估作業設定頻率時,才需要在消費者專案中具備這個角色。

Workload Manager API

如果您使用 Workload Manager API 評估工作負載,則必須先在消費者專案中手動建立 Workload Manager 服務代理程式,才能建立評估作業。如要建立服務代理程式,請使用 gcloud beta services identity create 指令

  gcloud beta services identity create --service=workloadmanager.googleapis.com  \
      --project=PROJECT_NUMBER

PROJECT_NUMBER 替換為要建立服務代理程式的消費者專案的數字 ID。

建立服務代理後,您必須將下列角色授予服務代理:

  • Workload Manager 服務代理 (roles/workloadmanager.serviceAgent):目標專案必須具備這個角色。
  • Workload Manager 工作者 (roles/workloadmanager.worker):只有在為評估作業設定頻率時,才需要在消費者專案中具備這個角色。

詳情請參閱「將角色授予服務代理程式」。

其他 Workload Manager 角色

使用者需要額外的 Workload Manager 角色,才能進一步控管 Workload Manager 評估作業和資源的存取權。

詳情請參閱「Workload Manager:使用 IAM 控管存取權」。

後續步驟