访问权限控制指南

本页面介绍如何使用 Identity and Access Management (IAM) 角色和权限来控制对 Google Cloud 资源中的 Error Reporting 数据的访问权限。

概览

IAM 权限角色确定您可以通过 Error Reporting API 和 Cloud Console 访问数据。

如需在 Google Cloud 资源(例如 Google Cloud 项目、文件夹或组织)中使用 Error Reporting,您必须获得该资源的 IAM 角色。此角色必须包含适当的权限。

一个角色对应一组权限。您不能直接向主帐号授予权限,而是需要向主帐号授予角色。为主帐号授予一个角色就是授予该角色包含的所有权限。您可以为同一主帐号授予多个角色。

预定义角色

IAM 提供预定义角色,可让您授予对特定 Google Cloud 资源的精细访问权限。Google Cloud 创建和维护这些角色,并根据需要自动更新其权限,例如 Error Reporting 添加新功能时。

下表列出了 Error Reporting 角色、角色名称、角色说明、包含的权限以及可设置这些角色的最低级层的资源类型。您可以针对此资源类型授予特定角色,或者在大多数情况下可以针对它在 Google Cloud 层次结构中的任何上级类型授予特定角色。

如需获取角色中包含的各个权限的列表,请参阅获取角色元数据

角色 权限

Error Reporting Admin Beta 版
(roles/errorreporting.admin)

提供对 Error Reporting 数据的完整访问权限。

您可以授予此角色的最低级层资源:

  • 项目
  • cloudnotifications.*
  • errorreporting.*
  • logging.notificationRules.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • stackdriver.projects.get

Error Reporting User Beta 版
(roles/errorreporting.user)

提供读取和写入 Error Reporting 数据的权限,但不提供发送新错误事件的权限。

您可以授予此角色的最低级层资源:

  • 项目
  • cloudnotifications.*
  • errorreporting.applications.*
  • errorreporting.errorEvents.delete
  • errorreporting.errorEvents.list
  • errorreporting.groupMetadata.*
  • errorreporting.groups.*
  • logging.notificationRules.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • stackdriver.projects.get

Error Reporting Viewer Beta 版
(roles/errorreporting.viewer)

提供对 Error Reporting 数据的只读权限。

您可以授予此角色的最低级层资源:

  • 项目
  • cloudnotifications.*
  • errorreporting.applications.*
  • errorreporting.errorEvents.list
  • errorreporting.groupMetadata.get
  • errorreporting.groups.*
  • logging.notificationRules.get
  • logging.notificationRules.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • stackdriver.projects.get

Error Reporting Writer Beta 版
(roles/errorreporting.writer)

提供将错误事件发送到 Error Reporting 的权限。

您可以授予此角色的最低级层资源:

  • 服务帐号
  • errorreporting.errorEvents.create

API 权限

Error Reporting API 方法需要特定的 IAM 权限。下表列出并描述了 API 方法所需的权限。

方法 所需权限 说明
deleteEvents errorreporting.errorEvents.delete 删除错误事件。
events.list errorreporting.errorEvents.list 列出错误事件。
events.report errorreporting.errorEvents.create 创建或更新错误事件。
groupStats.list errorreporting.groups.list 列出 ErrorGroupStats
groups.get errorreporting.groupMetadata.get 检索错误组信息。
groups.update
  • errorreporting.groupMetadata.update
  • errorreporting.applications.list
  • 更新和忽略错误组信息。
    更改错误的解决状态。
  • 列出项目的服务和版本。
  • 其他注意事项

    在决定哪些权限和角色适用于主帐号的使用场景时,请考虑 Error Reporting 活动和所需权限的以下摘要:

    活动 所需权限
    拥有对 Error Reporting Cloud Console 页面的只读权限。 errorreporting.applications.list
    errorreporting.groupMetadata.get
    errorreporting.groups.list
    在 Cloud Console 中查看群组详细信息。 只读访问权限的权限外加:
    errorreporting.errorEvents.list
    在 Cloud Console 中更改元数据。更改错误解决状态,包括忽略错误在内。 只读访问权限的权限外加:
    errorreporting.groupMetadata.update
    在 Cloud Console 中删除错误。 只读访问权限的权限外加:
    errorreporting.errorEvents.delete
    创建错误(无需 Cloud Console 权限)。 errorreporting.errorEvents.create
    订阅通知。 只读访问权限的权限外加:
    cloudnotifications.activities.list

    授予和管理角色

    您可以使用 Cloud Console、IAM API 或 gcloud 命令行工具来授予和管理 IAM 角色。有关授予和管理角色的说明,请参阅授予、更改和撤消访问权限

    您可以为同一位用户授予多个角色。如需获取角色中包含的权限的列表,请参阅获取角色元数据

    如果您尝试访问 Google Cloud 资源但缺少必要的权限,请与列为该资源的 Owner 的成员联系。

    自定义角色

    如需创建具备 Error Reporting 权限的自定义角色,请从 API 权限中选择权限,然后按照创建自定义角色中的说明操作。

    角色更改延迟时间

    Error Reporting 会将 IAM 权限缓存 5 分钟,因此角色更改需要 5 分钟才能生效。