菜单
Grafana Cloud Enterprise

RBAC 权限、操作和作用域

注意

Grafana EnterpriseGrafana Cloud 中可用。

权限由操作和作用域组成。创建自定义角色时,请考虑用户可以执行的操作以及他们可以对其执行这些操作的资源。

要详细了解可以应用 RBAC 的 Grafana 资源,请参阅具有 RBAC 权限的资源

  • 操作:操作描述用户可以在资源上执行的任务。
  • 作用域:作用域描述可以在何处执行操作,例如读取特定用户配置文件。在此示例中,权限与作用域 users:<userId> 相关联,并分配给相关角色。

操作定义

以下列表包含基于角色的访问控制操作。

操作适用作用域描述
alert.instances.external:read
  • datasources:*
  • datasources:uid:*
读取支持告警的数据源中的告警和静默。
alert.instances.external:write
  • datasources:*
  • datasources:uid:*
管理支持告警的数据源中的告警和静默。
alert.instances:create在当前组织中创建静默。
alert.instances:read在当前组织中读取告警和静默。
alert.instances:write在当前组织中更新和过期静默。
alert.notifications.external:read
  • datasources:*
  • datasources:uid:*
读取支持告警的数据源中的模板、联系点、通知策略和静默时间。
alert.notifications.external:write
  • datasources:*
  • datasources:uid:*
管理支持告警的数据源中的模板、联系点、通知策略和静默时间。
alert.notifications:write管理当前组织中的模板、联系点、通知策略和静默时间。
alert.notifications:read读取当前组织中的所有模板、联系点、通知策略和静默时间。
alert.rules.external:read
  • datasources:*
  • datasources:uid:*
读取支持告警的数据源(Prometheus、Mimir 和 Loki)中的告警规则
alert.rules.external:write
  • datasources:*
  • datasources:uid:*
在支持告警的数据源(Mimir 和 Loki)中创建、更新和删除告警规则。
alert.rules:create
  • folders:*
  • folders:uid:*
在文件夹及其子文件夹中创建 Grafana 告警规则。将此权限与作用域中包含该文件夹的 folders:read 权限以及用户可以查询的数据源作用域中的 datasources:query 权限结合使用。
alert.rules:delete
  • folders:*
  • folders:uid:*
在文件夹及其子文件夹中删除 Grafana 告警规则。将此权限与作用域中包含该文件夹的 folders:read 权限以及用户可以查询的数据源作用域中的 datasources:query 权限结合使用。
alert.rules:read
  • folders:*
  • folders:uid:*
在文件夹及其子文件夹中读取 Grafana 告警规则。将此权限与作用域中包含该文件夹的 folders:read 权限以及用户可以查询的数据源作用域中的 datasources:query 权限结合使用。
alert.rules:write
  • folders:*
  • folders:uid:*
在文件夹及其子文件夹中更新 Grafana 告警规则。将此权限与作用域中包含该文件夹的 folders:read 权限以及用户可以查询的数据源作用域中的 datasources:query 权限结合使用。
alert.silences:create
  • folders:*
  • folders:uid:*
在文件夹及其子文件夹中创建特定规则的静默。
alert.silences:read
  • folders:*
  • folders:uid:*
读取文件夹及其子文件夹中的所有通用静默和特定规则的静默。
alert.silences:write
  • folders:*
  • folders:uid:*
在文件夹及其子文件夹中更新和过期特定规则的静默。
alert.provisioning:read通过供应 API 读取所有 Grafana 告警规则、通知策略等。不需要对文件夹和数据源的权限。
alert.provisioning.secrets:readalert.provisioning:read 相同,外加导出包含已解密秘密的资源的能力。
alert.provisioning:write通过供应 API 更新所有 Grafana 告警规则、通知策略等。不需要对文件夹和数据源的权限。
alert.provisioning.provenance:write设置告警资源的供应状态。不能单独使用。要求用户具有访问资源的权限。
annotations:create
  • annotations:*
  • annotations:type:*
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
创建注解。
annotations:delete
  • annotations:*
  • annotations:type:*
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
删除注解。
annotations:read
  • annotations:*
  • annotations:type:*
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
读取注解和注解标签。
annotations:write
  • annotations:*
  • annotations:type:*
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
更新注解。
apikeys:read
  • apikeys:*
  • apikeys:id:*
读取 API 密钥。
apikeys:delete
  • apikeys:*
  • apikeys:id:*
删除 API 密钥。
banners:write创建公告横幅
dashboards:create
  • folders:*
  • folders:uid:*
在一个或多个文件夹及其子文件夹中创建仪表盘。
dashboards:delete
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
删除一个或多个仪表盘。
dashboards.insights:read读取仪表盘洞察数据并查看存在指示器。要查看洞察,还需要该仪表盘的 dashboards:read 权限。
dashboards.permissions:read
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
读取一个或多个仪表盘的权限。
dashboards.permissions:write
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
更新一个或多个仪表盘的权限。
dashboards:read
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
读取一个或多个仪表盘。
dashboards:write
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
更新一个或多个仪表盘。
dashboards.public:write
  • dashboards:*
  • dashboards:uid:*
写入共享仪表盘配置。
datasources.caching:read
  • datasources:*
  • datasources:uid:*
读取数据源查询缓存设置。
datasources.caching:write
  • datasources:*
  • datasources:uid:*
更新数据源查询缓存设置。
datasources:create创建数据源。
datasources:delete
  • datasources:*
  • datasources:uid:*
删除数据源。
datasources:explore启用对Explore标签页的访问。
datasources.id:read
  • datasources:*
  • datasources:uid:*
读取数据源 ID。
datasources.insights:read读取数据源洞察数据。要查看洞察,还需要该数据源的 datasources:read 权限。
datasources.permissions:read
  • datasources:*
  • datasources:uid:*
列出数据源权限。
datasources.permissions:write
  • datasources:*
  • datasources:uid:*
更新数据源权限。
datasources:query
  • datasources:*
  • datasources:uid:*
查询数据源。
datasources:read
  • datasources:*
  • datasources:uid:*
列出数据源。
datasources:write
  • datasources:*
  • datasources:uid:*
更新数据源。
featuremgmt.read读取功能开关。
featuremgmt.write写入功能开关。
folders.permissions:read
  • folders:*
  • folders:uid:*
读取一个或多个文件夹及其子文件夹的权限。
folders.permissions:write
  • folders:*
  • folders:uid:*
更新一个或多个文件夹及其子文件夹的权限。
folders:create
  • folders:*
  • folders:uid:*
  • folders:uid:general
创建文件夹或子文件夹。如果授予的作用域为 folders:uid:general,则允许创建根级文件夹。否则,允许在指定的文件夹下创建子文件夹。
folders:delete
  • folders:*
  • folders:uid:*
删除一个或多个文件夹及其子文件夹。
folders:read
  • folders:*
  • folders:uid:*
读取一个或多个文件夹及其子文件夹。
folders:write
  • folders:*
  • folders:uid:*
更新一个或多个文件夹及其子文件夹。
ldap.config:reload重新加载 LDAP 配置。
ldap.status:read验证 LDAP 服务器的可用性。
ldap.user:read通过 LDAP 读取用户。
ldap.user:sync通过 LDAP 同步用户。
library.panels:create
  • folders:*
  • folders:uid:*
在一个或多个文件夹及其子文件夹中创建库面板。
library.panels:read
  • folders:*
  • folders:uid:*
  • library.panels:*
  • library.panels:uid:*
读取一个或多个库面板。
library.panels:write
  • folders:*
  • folders:uid:*
  • library.panels:*
  • library.panels:uid:*
更新一个或多个库面板。
library.panels:delete
  • folders:*
  • folders:uid:*
  • library.panels:*
  • library.panels:uid:*
删除一个或多个库面板。
licensing.reports:read获取自定义权限报告。
licensing:delete删除许可证令牌。
licensing:read读取许可证信息。
licensing:write更新许可证令牌。
migrationassistant:migrate通过迁移助手执行本地到云的迁移。
org.users:write
  • users:*
  • users:id:*
更新用户的组织角色(NoneViewerEditorAdmin)。
org.users:add
  • users:*
  • users:id:*
向组织添加用户或邀请新用户加入组织。
org.users:read
  • users:*
  • users:id:*
获取组织内的用户配置文件。
org.users:remove
  • users:*
  • users:id:*
从组织中移除用户。
orgs.preferences:read读取组织偏好设置。
orgs.preferences:write更新组织偏好设置。
orgs.quotas:read读取组织配额。
orgs.quotas:write更新组织配额。
orgs:create创建组织。
orgs:delete删除一个或多个组织。
orgs:read读取一个或多个组织。
orgs:write更新一个或多个组织。
plugins.app:access
  • plugins:*
  • plugins:id:*
访问一个或多个应用程序插件(仍然强制执行组织角色)
plugins:install安装和卸载插件。
plugins:write
  • plugins:*
  • plugins:id:*
编辑一个或多个插件的设置。
provisioning:reloadprovisioners:*重新加载供应文件。要查找特定 provisioner 的精确作用域,请参阅作用域定义
reports:create创建报告。
reports:write
  • reports:*
  • reports:id:*
更新报告。
reports.settings:read读取报告设置。
reports.settings:write更新报告设置。
reports:delete
  • reports:*
  • reports:id:*
删除报告。
reports:read
  • reports:*
  • reports:id:*
列出所有可用报告或获取特定报告。
reports:send
  • reports:*
  • reports:id:*
发送报告电子邮件。
roles:delete
  • permissions:type:delegate
    删除自定义角色。
    roles:read
    • roles:*
    • roles:uid:*
    列出角色并读取特定角色及其权限。
    roles:write
    • permissions:type:delegate
      创建或更新自定义角色。
      roles:write
      • permissions:type:escalate
        将基本角色重置为其默认权限。
        server.stats:read读取 Grafana 实例统计信息。
        server.usagestats.report:read查看使用统计报告。
        serviceaccounts:write
        • serviceaccounts:*
          创建 Grafana 服务帐户。
          serviceaccounts:create更新 Grafana 服务帐户。
          serviceaccounts:delete
          • serviceaccounts:*
          • serviceaccounts:id:*
          删除 Grafana 服务帐户。
          serviceaccounts:read
          • serviceaccounts:*
          • serviceaccounts:id:*
          读取 Grafana 服务帐户。
          serviceaccounts.permissions:write
          • serviceaccounts:*
          • serviceaccounts:id:*
          更新 Grafana 服务帐户权限,以控制谁可以使用该服务帐户执行哪些操作。
          serviceaccounts.permissions:read
          • serviceaccounts:*
          • serviceaccounts:id:*
          读取 Grafana 服务帐户权限,以查看谁可以使用该服务帐户执行哪些操作。
          settings:read
          • settings:*
          • settings:auth.saml:*
          • settings:auth.saml:enabled
          (属性级别)
          读取Grafana 配置设置
          settings:write
          • settings:*
          • settings:auth.saml:*
          • settings:auth.saml:enabled
          (属性级别)
          更新可在运行时更新的任何 Grafana 配置设置。
          support.bundles:create创建支持包。
          support.bundles:delete删除支持包。
          support.bundles:read列出和下载支持包。
          snapshots:create创建快照。
          snapshots:delete删除快照。
          snapshots:read列出快照。
          status:accesscontrol
          • services:accesscontrol
            获取访问控制启用状态。
            teams.permissions:read
            • teams:*
            • teams:id:*
            读取团队成员和 Team Sync 设置。
            teams.permissions:write
            • teams:*
            • teams:id:*
            添加、移除和更新团队成员以及管理 Team Sync 设置。
            teams.roles:add
            • permissions:type:delegate
              为团队分配角色。
              teams.roles:read
              • teams:*
              • teams:id:*
              列出直接分配给团队的角色。
              teams.roles:remove
              • permissions:type:delegate
                解除分配团队的角色。
                teams:create创建团队。
                teams:delete
                • teams:*
                • teams:id:*
                删除一个或多个团队。
                teams:read
                • teams:*
                • teams:id:*
                读取一个或多个团队和团队偏好设置。要在 UI 中列出团队,除了 teams:read 之外,还需要以下任一权限:teams:writeteams.permissions:readteams.permissions:write
                teams:write
                • teams:*
                • teams:id:*
                更新一个或多个团队和团队偏好设置。
                users.authtoken:read
                • global.users:*
                • global.users:id:*
                列出分配给用户的认证令牌。
                users.authtoken:write
                • global.users:*
                • global.users:id:*
                更新分配给用户的认证令牌。
                users.password:write
                • global.users:*
                • global.users:id:*
                更新用户的密码。
                users.permissions:read
                • users:*
                  列出用户的权限。
                  users.permissions:write
                  • global.users:*
                  • global.users:id:*
                  更新用户的组织级权限。
                  users.quotas:read
                  • global.users:*
                  • global.users:id:*
                  列出用户的配额。
                  users.quotas:write
                  • global.users:*
                  • global.users:id:*
                  更新用户的配额。
                  users.roles:add
                  • permissions:type:delegate
                    为用户或服务帐户分配角色。
                    users.roles:read
                    • users:*
                      列出直接分配给用户或服务帐户的角色。
                      users.roles:remove
                      • permissions:type:delegate
                        解除分配用户或服务帐户的角色。
                        users:create创建用户。
                        users:delete
                        • global.users:*
                        • global.users:id:*
                        删除用户。
                        users:disable
                        • global.users:*
                        • global.users:id:*
                        禁用用户。
                        users:enable
                        • global.users:*
                        • global.users:id:*
                        启用用户。
                        users:logout
                        • global.users:*
                        • global.users:id:*
                        注销用户。
                        users:read
                        • global.users:*
                          读取或搜索用户配置文件。
                          users:write
                          • global.users:*
                          • global.users:id:*
                          更新用户的配置文件。

                          Grafana Adaptive Metrics 操作定义

                          以下列表包含 Grafana Adaptive Metrics 使用的基于角色的访问控制操作。

                          操作适用作用域描述
                          grafana-adaptive-metrics-app.plugin:access在 Grafana Cloud 中访问 Adaptive Metrics 插件。
                          grafana-adaptive-metrics-app.config:read读取 Adaptive Metrics 应用程序配置。
                          grafana-adaptive-metrics-app.config:write更新 Adaptive Metrics 应用程序配置。
                          grafana-adaptive-metrics-app.recommendations:read读取聚合建议。
                          grafana-adaptive-metrics-app.recommendations:apply应用聚合建议。
                          grafana-adaptive-metrics-app.rules:read读取聚合规则。
                          grafana-adaptive-metrics-app.rules:write创建聚合规则。
                          grafana-adaptive-metrics-app.rules:delete删除聚合规则。
                          grafana-adaptive-metrics-app.exemptions:read读取建议豁免。
                          grafana-adaptive-metrics-app.exemptions:write创建、更新和删除建议豁免。

                          Cloud Access Policies 操作定义

                          以下列表包含 Cloud Access Policies 使用的基于角色的访问控制操作。

                          操作适用作用域描述
                          grafana-auth-app:write创建、读取、更新和删除 Grafana Cloud 的访问策略。

                          警告

                          授予 grafana-auth-app:write 权限等同于在 Grafana 中为用户分配 Admin 角色,因为它允许他们管理所有堆栈服务帐户。这提供了重要的权限,应谨慎分配。

                          有关 Cloud Access Policies 及其使用方法的更多信息,请参阅访问策略

                          Grafana Alerting 通知操作定义

                          操作适用作用域描述
                          alert.notifications.receivers:readreceivers:*
                          receivers:uid:*
                          读取联系点。
                          alert.notifications.receivers.secrets:readreceivers:*
                          receivers:uid:*
                          导出包含已解密秘密的联系点。
                          alert.notifications.receivers:create创建新联系点。创建者将自动获得对创建的联系点的完全访问权限。
                          alert.notifications.receivers:writereceivers:*
                          receivers:uid:*
                          更新现有联系点。
                          alert.notifications.receivers:deletereceivers:*
                          receivers:uid:*
                          更新和删除现有联系点。
                          alert.notifications.receivers:test测试联系点通知。
                          receivers.permissions:readreceivers:*
                          receivers:uid:*
                          读取联系点的权限。
                          receivers.permissions:writereceivers:*
                          receivers:uid:*
                          管理联系点的权限。
                          alert.notifications.time-intervals:read读取静默时间间隔。
                          alert.notifications.time-intervals:write创建新的或更新现有的静默时间间隔。
                          alert.notifications.time-intervals:delete删除现有的时间间隔。
                          alert.notifications.templates:read读取模板。
                          alert.notifications.templates:write创建新的或更新现有的模板。
                          alert.notifications.templates:delete删除现有的模板。
                          alert.notifications.routes:read读取通知策略。
                          alert.notifications.routes:write创建新的、更新或删除通知策略

                          作用域定义

                          以下列表包含基于角色的访问控制作用域。

                          作用域描述
                          • annotations:*
                          • annotations:type:*
                          将操作限制到一组注解。例如,annotations:* 匹配任何注解,annotations:type:dashboard 匹配与仪表盘关联的注解,annotations:type:organization 匹配组织注解。
                          • apikeys:*
                          • apikeys:id:*
                          将操作限制到一组 API 密钥。例如,apikeys:* 匹配任何 API 密钥,apikey:id:1 匹配 ID 为 1 的 API 密钥。
                          • dashboards:*
                          • dashboards:uid:*
                          将操作限制到一组仪表盘。例如,dashboards:* 匹配任何仪表盘,dashboards:uid:1 匹配 UID 为 1 的仪表盘。
                          • datasources:*
                          • datasources:uid:*
                          将操作限制到一组数据源。例如,datasources:* 匹配任何数据源,datasources:uid:1 匹配 UID 为 1 的数据源。
                          • folders:*
                          • folders:uid:*
                          将操作限制到一组文件夹。例如,folders:* 匹配任何文件夹,folders:uid:1 匹配 UID 为 1 的文件夹。请注意,授予文件夹的权限会 cascading 到其下方的子文件夹。
                          • global.users:*
                          • global.users:id:*
                          将操作限制到一组全局用户。例如,global.users:* 匹配任何用户,global.users:id:1 匹配 ID 为 1 的用户。
                          • library.panels:*
                          • library.panels:uid:*
                          将操作限制到一组库面板。例如,library.panels:* 匹配任何库面板,library.panel:uid:1 匹配 UID 为 1 的库面板。
                          • orgs:*
                          • orgs:id:*
                          将操作限制到一组组织。例如,orgs:* 匹配任何组织,orgs:id:1 匹配 ID 为 1 的组织。
                          • permissions:type:delegate
                            此范围仅适用于与访问控制本身相关的角色,表示您只能通过创建新角色或进行分配来委派您的权限或其子集。
                            • permissions:type:escalate
                              此范围是触发基本角色权限重置所必需的。它表示用户可能会获得他们之前没有的额外权限。
                              • plugins:*
                              • plugins:id:*
                              将操作限制于一组插件。例如,plugins:id:grafana-oncall-app 匹配 Grafana OnCall 插件,而 plugins:* 匹配所有插件。
                              • provisioners:*
                                将操作限制于一组提供者。例如,provisioners:* 匹配任何提供者,而 provisioners:accesscontrol 匹配基于角色的访问控制 提供者
                                • reports:*
                                • reports:id:*
                                将操作限制于一组报告。例如,reports:* 匹配任何报告,而 reports:id:1 匹配 ID 为 1 的报告。
                                • roles:*
                                • roles:uid:*
                                将操作限制于一组角色。例如,roles:* 匹配任何角色,而 roles:uid:randomuid 仅匹配 UID 为 randomuid 的角色。
                                • services:accesscontrol
                                  将操作限制为仅针对基于角色的访问控制服务。您可以将此与 status:accesscontrol 操作结合使用。
                                  • serviceaccounts:*
                                  • serviceaccounts:id:*
                                  将操作限制于组织中的一组服务账号。例如,serviceaccounts:* 匹配任何服务账号,而 serviceaccount:id:1 匹配 ID 为 1 的服务账号。
                                  • settings:*
                                    将操作限制于设置的子集。例如,settings:* 匹配所有设置,settings:auth.saml:* 匹配所有 SAML 设置,而 settings:auth.saml:enabled 匹配 SAML 设置上的 enabled 属性。
                                    • teams:*
                                    • teams:id:*
                                    将操作限制于组织中的一组团队。例如,teams:* 匹配任何团队,而 teams:id:1 匹配 ID 为 1 的团队。
                                    • users:*
                                    • users:id:*
                                    将操作限制于组织中的一组用户。例如,users:* 匹配任何用户,而 users:id:1 匹配 ID 为 1 的用户。
                                      如果某个操作的范围指定为“无”,则该操作不需要范围。例如,teams:create 操作不需要范围,并允许用户创建团队。