grafana有好多种权限认证的方式,我有一个需求就是在内网环境下可以有一个只读的帐户,不需要登录就可以访问查看数据报表。
看了下配置文件中支持的【auth.XXX】,发现了[auth.proxy]能满足我的需求,配置如下。
先用admin帐户将所有的报表配置完全,再添加一个只读帐户,如reader001,给于viewer权限。修改grafana.ini,打开并修改以下几行。
#################################### Auth Proxy ########################## [auth.proxy] enabled = true header_name = X-WEBAUTH-USER header_property = username auto_sign_up = true ldap_sync_ttl = 60 ;whitelist = 192.168.1.1, 192.168.2.1
然后 修改自己的反向代理,我这里以haproxy为例,其他同理。
backend chart mode http balance roundrobin option prefer-last-server timeout connect 30s timeout server 30s server srv1 127.0.0.1:8080 check inter 5000 http-request set-header X-WEBAUTH-USER reader001
向后转发的时候添加相应的HEADER头,由于反代上限制过内肉访问了,所有没的修改grafana.ini中的whitelist,其他需求自己修改。
再次经过反代访问grafana,发现已经自动登录reader001了。
而且!!!还可以退出这个帐户登录admin帐户修改报表,相当方便了。