You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Grafana图表iframe仅允许受信任域名访问

Grafana原生限制iframe嵌入权限解决方案

以下方案均无需额外搭建反向代理,直接修改Grafana服务配置即可生效:

1. 配置允许嵌入的源域名

修改Grafana配置文件(通常为conf/custom.ini)中[security]小节的参数:

  • 配置allowed_origins参数,填入你的应用域名,多个域名用空格分隔,支持通配符:
[security]
allowed_origins = https://your-app.com https://*.your-app.com

该参数会控制Grafana接受的跨域请求源,同时会自动生成对应的X-Frame-Options响应头,拦截非白名单域名的嵌入请求。

2. 配置内容安全策略(CSP)强化限制

如果需要更严格的iframe嵌入控制,可以启用Grafana的CSP配置,同样在[security]小节添加:

[security]
content_security_policy = true
content_security_policy_template = "frame-ancestors 'self' https://your-app.com; default-src 'self' 'unsafe-inline' 'unsafe-eval' data:; img-src 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';"

其中frame-ancestors字段指定的就是允许嵌入Grafana页面的站点域名,浏览器会强制遵守该规则,拦截所有非白名单域名的嵌入行为,优先级高于X-Frame-Options头。

3. 新增用户级鉴权控制

如果需要进一步限制只有你的应用登录用户才能访问嵌入的Grafana图表,可以配合Grafana的短期令牌机制:

  • 在Grafana中创建权限最小化的服务账号,仅开放对应仪表板的查看权限
  • 你的应用后端在用户登录后,调用Grafana接口生成有效期可控的短期访问令牌
  • 将令牌拼接至iframe的Grafana地址中,示例:https://grafana.your-domain.com/d/xxxx?orgId=1&auth_token=eyJrIjoiXXX
  • 令牌到期后自动失效,即使第三方站点窃取到iframe地址也无法正常访问内容

配置修改完成后重启Grafana服务即可生效,你可以通过浏览器开发者工具的「网络」面板查看Grafana响应头,确认配置是否正确应用。

内容的提问来源于stack exchange,提问作者josip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:09:03