菜单
文档breadcrumb arrow Grafana 文档breadcrumb arrow 管理breadcrumb arrow 角色和权限breadcrumb arrow 基于角色的访问控制 (RBAC)
Grafana Cloud Enterprise RSS

基于角色的访问控制 (RBAC)

注意

适用于

Grafana EnterpriseGrafana Cloud

RBAC 提供了一种标准化的方式来授予、更改和撤销访问权限,以便查看和修改 Grafana 资源,例如仪表盘、报告和管理设置。

关于 RBAC

基于角色的访问控制 (RBAC) 提供了一种标准化的方式来授予、更改和撤销访问权限,以便用户可以查看和修改 Grafana 资源,例如用户和报告。RBAC 扩展了 Grafana OSS 中包含的基本角色,并允许更细粒度地控制用户的操作。

通过使用 RBAC,您可以为用户提供扩展基本角色的权限。例如,您可以使用 RBAC 来

  • 修改现有的基本角色:例如,允许编辑者创建报告
  • 为用户和团队分配固定角色:例如,授予工程团队创建数据源的能力
  • 创建自定义角色:例如,一个允许用户创建和编辑仪表盘但不允许删除的角色

RBAC 角色包含多个权限,每个权限都有一个操作和一个范围

  • 角色: fixed:datasources:reader
    • 权限
      • 操作: datasources:read
      • 范围: datasources:*

有关 RBAC API 的信息,请参阅 RBAC API

基本角色

基本角色是 Grafana OSS 中提供的标准角色。如果您已购买 Grafana Enterprise 许可证,您仍然可以使用基本角色。

Grafana 包括以下基本角色

  • Grafana 管理员
  • 组织管理员
  • 编辑者
  • 查看者

每个基本角色都由许多权限组成。例如,查看者基本角色包含以下权限等

  • 操作:datasources.id:read, 范围:datasources:*:使查看者能够查看数据源的 ID。
  • 操作:orgs:read:使查看者能够查看其组织详情
  • 操作:annotations:read, 范围:annotations:*:使查看者能够查看其他用户添加到仪表盘的注释。
  • 操作:annotations:create, 范围:annotations:type:dashboard:使查看者能够向仪表盘添加注释。
  • 操作:annotations:write, 范围:annotations:type:dashboard:使查看者能够修改仪表盘的注释。
  • 操作:annotations:delete, 范围:annotations:type:dashboard:使查看者能够从仪表盘中移除注释。

注意

没有分配基本角色的 Grafana 用户无法存在。None 角色不包含任何权限。

基本角色修改

您可以使用 RBAC 修改与任何基本角色关联的权限,这将改变查看者、编辑者或管理员可以执行的操作。您不能删除基本角色。

请注意,对任何基本角色的任何修改都不会传播到其他基本角色。例如,如果您修改查看者基本角色并授予额外权限,编辑者或管理员不会获得该额外权限。

有关与每个基本角色关联的权限的更多信息,请参阅基本角色定义。要与 API 交互并查看或修改基本角色权限,请参阅将基本角色名称映射到关联 UID 的表格

注意

您不能使用服务账号通过 RBAC API 修改基本角色。要更新基本角色,您必须是 Grafana 管理员并使用基本认证进行请求。

对于 Cloud 客户,请联系支持人员重置角色。

固定角色

Grafana Enterprise 包含为您分配独立固定角色给用户、团队和服务账号的能力。这使得您比仅使用基本角色拥有更细粒度的用户权限控制。这些角色被称为“固定”,因为您不能更改或删除固定角色。您还可以创建自己的自定义角色;请参阅下面的自定义角色部分了解更多信息。

当基本角色不满足您的权限要求时,分配固定角色。例如,您可能希望拥有基本查看者角色的用户也能编辑仪表盘。或者,您可能希望拥有编辑者角色的任何人也能添加和管理用户。固定角色为用户提供了更细粒度的访问权限,以创建、查看和更新以下 Grafana 资源

要了解有关您可以为每个资源授予的权限的更多信息,请参阅RBAC 角色定义

自定义角色

如果您是 Grafana Enterprise 客户,您可以创建自定义角色来管理用户权限,以满足您的安全要求。

自定义角色包含权限的唯一组合:操作范围。操作定义了用户可以在 Grafana 资源上执行的动作。例如,teams.roles:read 操作允许用户查看与每个团队关联的角色列表。

范围描述了可以在何处执行操作。例如,teams:id:1 范围将用户的操作限制为 ID 为 1 的团队。当与 teams.roles:read 操作配对时,此权限禁止用户查看除团队 1 之外的团队的角色。

当固定角色不满足您的权限要求时,考虑创建自定义角色。

自定义角色创建

您可以使用以下任一方法创建、分配和管理自定义角色

  • Grafana 配置:您可以使用 YAML 文件配置角色。有关使用配置创建自定义角色的更多信息,请参阅管理 RBAC 角色。有关使用配置将 RBAC 角色分配给用户或团队的更多信息,请参阅分配 RBAC 角色
  • RBAC API:作为替代方案,您可以使用 Grafana HTTP API 创建和管理角色。有关 HTTP API 的更多信息,请参阅RBAC API

限制

如果您创建了一个名为 Generalgeneral 的文件夹,您不能使用 RBAC 管理其权限。

如果您为名为 Generalgeneral 的文件夹设置了文件夹权限,则启用 RBAC 时系统会忽略该文件夹。