菜单
Grafana Cloud Enterprise

RBAC 故障排除

在本节中,您将了解 RBAC 可用的日志,并找到最常见的 RBAC 问题。

启用调试日志记录

您可以在 Grafana 配置文件中为 RBAC 启用调试日志消息。调试日志将添加到 Grafana 服务器日志中。

bash
[log]
filters = accesscontrol:debug accesscontrol.evaluator:debug dashboard.permissions:debug

启用审计日志记录

注意

适用于

Grafana EnterpriseGrafana Cloud

您可以在 Grafana 配置文件中启用审计功能。

bash
[auditing]
enabled = true

所有权限和角色更新以及角色分配都将添加到审计日志中。了解更多关于访问控制审计日志

仪表盘、文件夹或数据源权限丢失

仪表盘和文件夹权限数据源权限如果 Grafana 实例版本经过升级、降级再升级,则可能导致不同步。当实例从使用 RBAC 的版本降级到使用旧版访问控制的版本,并且仪表盘、文件夹或数据源权限被更新时,就会发生这种情况。这些权限更新将不会应用于 RBAC,因此当实例下次升级到使用 RBAC 的版本时,权限将不同步。

注意

下面提供的步骤将把所有仪表盘、文件夹和数据源权限设置为旧版访问控制中的权限。如果您在启用 RBAC 的情况下更新了仪表盘、文件夹或数据源权限,这些更新将被清除。

重新同步权限

  1. 备份您的数据库
  2. 运行以下 SQL 查询
    sql
    DELETE
    FROM builtin_role
    where role_id IN (SELECT id
                      FROM role
                      WHERE name LIKE 'managed:%');
    DELETE
    FROM team_role
    where role_id IN (SELECT id
                      FROM role
                      WHERE name LIKE 'managed:%');
    DELETE
    FROM user_role
    where role_id IN (SELECT id
                      FROM role
                      WHERE name LIKE 'managed:%');
    DELETE
    FROM permission
    where role_id IN (SELECT id
                      FROM role
                      WHERE name LIKE 'managed:%');
    DELETE
    FROM role
    WHERE name LIKE 'managed:%';
    DELETE
    FROM migration_log
    WHERE migration_id IN ('teams permissions migration',
                           'dashboard permissions',
                           'dashboard permissions uid scopes',
                           'data source permissions',
                           'data source uid permissions',
                           'managed permissions migration',
                           'managed folder permissions alert actions repeated migration',
                           'managed permissions migration enterprise');
  3. 重启您的 Grafana 实例