本文档列出了您在使用 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
仅在您创建第一个评估时需要。
授予创建评估权限的预定义角色:
授予创建提醒通知权限的预定义角色: 如需使用自定义规则创建评估,您还需要以下 权限: 授予读取 Cloud Asset Inventory 数据的权限的预定义角色: 授予读取存储在 Cloud Storage 存储桶中的规则的权限的预定义角色: 授予将评估结果写入 BigQuery 数据集的权限的预定义角色: |
创建服务帐号的权限: 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 uses 服务代理 来控制资源与关联的 项目之间的访问权限和通信。
您可以使用 Google Cloud console 或 Workload Manager API 来评估工作负载。如果您使用 Google Cloud console,Workload Manager 会自动创建所有必需的服务代理。如果您使用 Workload Manager API,则必须手动创建服务代理。
所需角色
如需获取创建服务代理所需的权限,请让管理员向您授予范围内的每个目标项目的 Project IAM Admin (roles/resourcemanager.projectIamAdmin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含创建服务代理所需的
resourcemanager.projects.setIamPolicy
权限。
创建服务代理并授予角色
Google Cloud 控制台
如果您使用控制台来评估工作负载,则 Workload Manager 会自动在使用方项目中创建服务代理。 Google Cloud console
此服务代理的电子邮件地址为
service-PROJECT_NUMBER@gcp-sa-workloadmanager.iam.gserviceaccount.com,
称为 Workload Manager 服务账号。
Workload Manager 服务代理需要以下角色才能运行评估。如果出现提示,请将这些角色授予服务代理。
- Workload Manager Service Agent (
roles/workloadmanager.serviceAgent):在目标项目中是必需的。 - Workload Manager Worker (
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 Service Agent (
roles/workloadmanager.serviceAgent):在目标项目中是必需的。 - Workload Manager Worker (
roles/workloadmanager.worker):仅当您为评估设置频率时,才在使用方项目中是必需的。
如需了解详情,请参阅向服务代理授予角色。
其他 Workload Manager 角色
用户需要其他 Workload Manager 角色来进一步控制对 Workload Manager 评估和资源的访问权限。
如需了解详情,请参阅 Workload Manager:使用 IAM 进行访问权限控制。