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 报告元数据、报告数据和 操作的读取权限。 |
授予 IAM 角色
您可以使用 Google Cloud 控制台或 Google Cloud CLI 向主账号授予 IAM 角色。
控制台
在 Google Cloud 控制台中,前往 IAM 页面。
点击 授予访问权限。
在新的主账号 字段中,输入要授予角色的主账号的电子邮件地址。
点击选择角色 下拉菜单。
过滤 App Optimize 角色,然后选择要授予的角色,例如 App Optimize Admin 或 App Optimize Viewer。
点击保存 。
gcloud
使用
gcloud projects add-iam-policy-binding命令授予角色:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="PRINCIPAL" \ --role="ROLE_NAME"替换以下内容:
PROJECT_ID:您的 Google Cloud 项目的 ID。PRINCIPAL:主账号的标识符,例如user:my-user@example.com或group:my-group@example.com。 请参阅主账号标识符。ROLE_NAME:要授予的角色,例如roles/appoptimize.admin或roles/appoptimize.viewer。
例如,如需在项目 my-appoptimize-project 中向用户 test-user@example.com 授予 App Optimize Admin 角色,请运行以下命令:
gcloud projects add-iam-policy-binding my-appoptimize-project \
--member="user:test-user@example.com" \
--role="roles/appoptimize.admin"
如需详细了解如何授予角色,请参阅 管理对项目、文件夹和组织的访问权限。
App Optimize Admin
App Optimize Admin 授予对 App Optimize API 资源的完全控制权,并包含授予 App Optimize Viewer 的权限。
| 角色名称 | 包含的权限 |
|---|---|
roles/appoptimize.admin |
|
App Optimize Viewer
App Optimize Viewer 授予读取 App Optimize API 报告、其元数据和操作的权限。
| 角色名称 | 包含的权限 |
|---|---|
roles/appoptimize.viewer |
|
创建报告的权限
如需创建报告,用户、服务帐号或其他主账号必须具有:
对将创建报告资源的项目拥有
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 权限即可读取生成的数据。此权限可以位于创建报告的项目中,也可以位于报告本身中,并且包含在 App Optimize Admin 和 App Optimize Viewer 角色中。
后续步骤
- 详细了解 IAM 角色和权限。
- 了解如何创建报告。
- 查看 App Optimize API 概览。