Grafana支持匿名访问与多种安全认证机制,内部只读看板可用匿名,生产环境必须启用认证;两者可共存。匿名需在grafana.ini中启用auth.anonymous并设org_role=Viewer;认证推荐API Key、LDAP/OAuth2或Basic Auth,并配合Nginx防护及关键安全配置。

Grafana 支持匿名访问与多种安全认证机制,选择哪种取决于你的使用场景:内部只读看板可开匿名,生产环境或需区分权限的场景必须启用认证。两者不互斥,可以共存(例如对特定路径开放匿名,其余走登录或 API Key)。
开启匿名访问(适合内网展示屏、临时共享)
修改 grafana.ini 配置文件,在 [auth.anonymous] 区块启用:
- enabled = true —— 必须设为 true 才生效
- org_name = Main Org. —— 指定未登录用户归属的组织(确保该组织存在)
- org_role = Viewer —— 推荐设为 Viewer,避免误操作;Editor/Admin 权限风险较高
- hide_version = true(可选)—— 隐藏页脚版本号,减少信息泄露
改完后重启 Grafana(Docker 环境需重启容器或重载配置)。注意:匿名用户无法访问需要编辑权限的功能(如创建仪表盘、修改数据源),且所有匿名请求都视为同一身份,无审计追踪能力。
启用安全认证机制(推荐用于正式环境)
Grafana 提供多层级认证方式,按安全性与适用性排序如下:
-
API Key 认证:适合系统集成、脚本调用。在 Configuration > API Keys 中生成,指定角色和有效期;请求时通过
Authorization: Bearer <key>头部携带。密钥仅显示一次,需立即保存。 -
LDAP / OAuth2(如 GitHub、Google):适合已有统一身份平台的企业。需在
ldap.toml或grafana.ini中配置连接参数和用户映射规则,支持组同步与自动权限分配。 -
Basic Auth(用户名密码):最基础方式,适合小团队测试。默认 admin/admin 可登录,首次登录后建议修改;密码策略可通过
[auth]区块设置最大有效期与非活跃时限(如login_maximum_inactive_lifetime_duration = 7d)。
无论选用哪种,都建议配合 Nginx 反向代理做额外防护:限制 IP 访问、添加 HTTPS、或用 Nginx 注入 Bearer Token 实现免密跳转(此时 Grafana 本身仍启用了认证,只是由网关代为处理)。
关键安全提醒
以下配置容易被忽略但直接影响安全性:
- 禁用默认 admin 账户或强制首次登录修改密码(通过
admin_password环境变量初始化后及时清除) - 关闭
allow_embedding = false(除非明确需要 iframe 嵌入,否则防止点击劫持) - 数据源配置中,避免明文存储敏感凭证;若后端服务(如 Prometheus)已启用 Basic Auth,务必在 Grafana 数据源的 Authentication 栏填写对应账号密码
- 定期轮换 API Key 和用户密码,启用审计日志(
[log]中开启query和access日志)


















