Grafana 鉴权 使用 Nginx 和 Grafana API Key 实现无感登录

1. 生成 Grafana API Key

首先,需要在 Grafana 中生成一个 API Key。

Grafana 鉴权 使用 Nginx 和 Grafana API Key 实现无感登录

在这里我们可以配置API的名称、权限,以及过期时间

image-20240829203639705

PS:生成的API密钥只会显示一次,请妥善管理

2. 配置 Nginx

接下来,需要使用Nginx配置反向代理,添加grafana 的api密钥到请求头部

location / {
       proxy_pass http://10.0.81.1:3000;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       # 添加 api key 到请求头
       proxy_set_header Authorization "Bearer abcdefg123456";  # 替换为你的API Key
  }
}

保存配置文件后,测试 Nginx 配置是否正确并重启

nginx -t
sudo systemctl restart nginx

3. 安全性注意事项

虽然这种方法简化了登录过程,但也存在安全风险。在使用 API Key 时,建议使用nginx的 allow 或者deny来限制访问来源IP,如果要暴露在公共网络中建议定期轮转API KEY 防止长期使用导致安全问题。

限制来源:

location / {
   allow x.x.x.x/x;  # 允许特定子网访问
   deny all;  # 禁止其他所有IP
}

具体效果可通过访问本站的grafana监控页面查看:https://status.geeklinux.cn/

原创文章,作者:geeklinux.cn,如若转载,请注明出处:https://www.geeklinux.cn/stat/grafana/1555.html

(0)
geeklinux.cn的头像geeklinux.cn
上一篇 2024 年 8 月 26 日 下午11:51
下一篇 2024 年 9 月 1 日 上午10:56

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注