腾讯云 Elasticsearch 实战篇 ES6.8权限使用配置
前言|
在前面的章节中我们讲了开源架构ELK、腾讯云Elasticsearch产品系列。我们也知道了,在构建腾讯云ES集群的时候,我们选择的6.8.2白金版具备充分的安全的机制来保证数据和访问的安全。那么,它到底是如何实现的呢?我们今天就来简单聊聊这个问题:
一、在ElasticSearch6.8及以上版本开启安全认证功能
ElasticSearch的商业插件X-pack 在ES6.x版本以前一直都是收费,不对外免费开放的。在ES6以后陆续放开了一些功能,比如前面讲到的Monitor集群监控功能。在ES6.8及以后版本ES又将部分安全性功能免费开放了,包含安全认证功能,之后版本又开放一些基础认证功能,对于普通用户来说是够用的。这里要提一下的是kibana的登录和权限是与ES紧密相关的,其实真正起作用的是Elasticsearch,因为kibana只是一个视图页面,真正工作的是Elasticsearch。现在我们就6.8版本的【基于角色的访问控制】进行操作、验证。步骤如下:
第一步:下载、安装ES、Kibana 6.8.2 版本(此处省略,可参考本博客前面的教程)
第二步:修改ES配置文件 elasticsearch.yml 添加“ xpack.security.enabled: true”到配置文件,保存并退出
Xpack安全机制
基础版本的安全性功能是默认关闭的。
然后启动ES,注意需要用普通用户启动ES,注意一定要先启动ES,才能进行后续安全设置
启动ES
第三步:/bin/elasticsearch-setup-passwords interactive 启用ES默认的内置用户
安全设置用户密码
显示下面的图示:输入“y”
下面的这些用户都是ES默认的用户,需要设置密码,一定要记住,可以暂时设置相同的。后面可以改
ES默认用户
第四步:设置kibana登录的用户名、密码。在kibana.yml配置文件里进行修改
注意,这个用户名和密码一定跟ES刚刚设定的内置账号密码一样。否则,Kibana启动报错!!
添加用户名和密码
第五步:启动kibana
启动kibana就可以使用用户名与密码进行访问。如下截图
kibana启动
Kibana界面
登录Kibana看看,就出现了安全访问的登录框。输入在Kibana设定的内置用户登录即可.用户必须使用有效的用户ID和密码登录Kibana。
安全登录界面
二、如何在Kibana配置文件中屏蔽密码、用户字眼??
前面我们知道,登录ES的安全账号密码都配置在Kibana的配置文件里,但是这样,始终不安全,那么能不能屏蔽掉这些关键字眼呢??再来解决这个问题:
如果你不想将用户ID和密码放在kibana.yml文件中明文配置,可以将它们存储在密钥库中。运行以下命令以创建Kibana密钥库并添加配置:
首先 先创建秘钥库: ./kibana-keystore create
其次:添加登录用户名: ./kibana-keystore add elasticsearch.username
输入要添加的用户名(密文)
再次:添加登录用户名的密码: ./kibana-keystore add elasticsearch.password
输入用户名密码(密文)
最后,验证一下:使用刚刚新建账号密码、同时清除Kibana配置文件中原有的yml文件的用户、密码内容。重启Kibana
Kibana登录界面
使用Curl验证一下“
Curl指令
用其他用户是不行的:
验证其它用户
考虑一下:为什么这样?因为尽管是默认用户,但是没有配置它在服务中使用,所以,它无效!!
三、总结:
本节从实际角度去部署了一下ES、Kibana的安全访问功能。是一个非常实际可用的功能,建议大家多试试!
原文地址:https://blog.csdn.net/jxiang213/article/details/143939383
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!