App Optimize API 使用 Identity and Access Management (IAM) 来控制对其资源(例如报告和操作)的访问权限。借助 IAM,您可以授予对特定 App Optimize API 资源的精细访问权限,并防止对其他资源进行不必要的访问。
本文档介绍了适用于 App Optimize API 的 IAM 权限和角色。
权限概览
有了权限,用户便可对 App Optimize API 资源执行特定操作。下表列出了 App Optimize API 的权限:
| 权限 | 说明 |
|---|---|
appoptimize.operations.cancel |
取消长时间运行的操作。 |
appoptimize.operations.delete |
删除长时间运行的操作。 |
appoptimize.operations.get |
获取长时间运行的操作的状态。 |
appoptimize.operations.list |
列出长时间运行的操作。 |
appoptimize.reports.create |
创建 App Optimize API 报告资源。 |
appoptimize.reports.delete |
删除 App Optimize API 报告资源。 |
appoptimize.reports.get |
读取 App Optimize API 报告资源的配置元数据。这不会授予对报告数据的访问权限。 |
appoptimize.reports.getData |
读取 App Optimize API 报告中包含的数据。 |
appoptimize.reports.list |
列出项目中的 App Optimize API 报告资源。 |
预定义角色
IAM 提供预定义角色,这些角色可授予一组相关权限。以下角色适用于 App Optimize API,并在以下小节中进行了说明:
| 角色 | 职位 | 说明 |
|---|---|---|
roles/appoptimize.admin |
App Optimize Admin | 对 App Optimize API 报告和操作拥有完全控制权。 |
roles/appoptimize.viewer |
App Optimize Viewer | 拥有对 App Optimize API 报告元数据、报告数据和操作的读取权限。 |
由于 App Optimize API 处于预览版阶段,因此这些角色可能不会显示在 Google Cloud 控制台中。 如需授予这些角色,请使用 Google Cloud CLI。如果您尚未安装并初始化 Google Cloud CLI,请执行此操作。
如需向用户授予 App Optimize Admin 角色 (roles/appoptimize.admin),请运行以下命令:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/appoptimize.admin"
如需向用户授予 App Optimize Viewer 角色 (roles/appoptimize.viewer),请运行以下命令:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/appoptimize.viewer"
替换以下内容:
PROJECT_ID:将拥有报告资源的项目 ID。 Google CloudUSER_EMAIL:您要向其授予角色的用户的电子邮件地址。
如需详细了解如何授予角色,请参阅 管理对项目、文件夹和组织的访问权限。
App Optimize Admin
授予对 App Optimize API 资源的完全控制权,并包括授予 App Optimize Viewer 的权限。
- 角色名称:
roles/appoptimize.admin - 包含的权限:
appoptimize.operations.*appoptimize.reports.*
App Optimize Viewer
授予读取 App Optimize API 报告、其元数据和操作的权限。
- 角色名称:
roles/appoptimize.viewer - 包含的权限:
appoptimize.operations.getappoptimize.operations.listappoptimize.reports.getappoptimize.reports.getDataappoptimize.reports.list
创建报告的权限
如需创建报告,用户、服务帐号或其他主账号必须具备以下权限:
在将创建报告资源的项目中,拥有
appoptimize.reports.create权限,该权限通常由 App Optimize Admin (roles/appoptimize.admin) 角色授予。在报告中限定范围的所有项目上,拥有
billing.resourceCosts.get权限。此权限由 Billing Account Viewer (roles/billing.viewer) 或基本 Viewer (roles/viewer) 等角色提供。拥有访问报告范围、维度和指标所涵盖的数据源的权限。App Optimize API 会在创建报告时检查这些权限。授予此数据源访问权限的角色包括:
对于 CPU 和内存利用率指标,拥有限定范围的资源的 Monitoring Viewer (
roles/monitoring.viewer) 角色。对于 App Hub 应用范围和维度,拥有应用的 App Hub 宿主项目的 App Management Viewer (
roles/apphub.appManagementViewer) 角色。
如果您要生成有关 App Hub 应用的报告(该应用可能由多个项目组成),则必须拥有该应用的所有关联项目的必要监控和结算权限,才能创建报告。
读取报告数据的权限
成功创建报告后,正文只需具备以下权限即可读取生成的数据:
- 在创建报告的项目中,或在报告本身中,拥有
appoptimize.reports.getData权限。此权限包含在roles/appoptimize.viewer角色中。
后续步骤
- 详细了解 IAM 角色和权限。
- 了解如何创建报告。
- 查看 App Optimize API 概览。