大规模日志分析平台-ELK之Kibana访问权限控制
Posted 无声黑白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大规模日志分析平台-ELK之Kibana访问权限控制相关的知识,希望对你有一定的参考价值。
ELK平台搭建完成后,由于Kibana的服务也是暴露在外网,且默认是没有访问限制的(外部所有人都可以访问到),这明显不是我们想要的,所以我们需要利用nginx接管所有Kibana请求,通过Nginx配置将Kibana的访问加上权限控制,简单常见的方式可以使用如下两种方式:
方案一、
使用Nginx的用户认证模块(ngx_http_auth_basic_module模块,Nginxg一般已经默认安装),用户访问时会直接弹出登录提示,要求输入用户名及密码后登录。
此方案需要依赖htpasswd命令生成密码文件。
方案二、
利用Nginx的IP访问控制,限定允许和禁止访问的IP,非允许的IP访问后网页会显示403 Forbidden信息。
Nginx配置清单:
##如果是大规模集群环境,此处配置多台Kibana服务器即可
upstream kibana_server {
server 192.168.8.202:5601;
server 192.168.8.203:5601;
}
server {
listen 80;
server_name 218.61.2.109;
charset utf8;
location / {
proxy_pass http://kibana_server$request_uri;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
##方案一、用户认证方式,依赖apache-utils中的生成密码工具
##auth_basic "secret";
##auth_basic_user_file /usr/local/nginx/passwd.db;
##方案二、只有公司的外网IP,局域网IP可以访问
allow 5*.**.**.**0;
allow 192.168.8.0/24;
deny all;
}
}
当然,还有很多其它方式来实现更细粒度的权限控制(比如根据用户控制可展示的Dashboard等),例如使用一些插件或直接修改Kibana源代码来实现。
以上是关于大规模日志分析平台-ELK之Kibana访问权限控制的主要内容,如果未能解决你的问题,请参考以下文章
ELK搭建实时日志分析平台之二Logstash和Kibana搭建
使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践