当前位置:   article > 正文

实战 es6_腾讯云 Elasticsearch 实战篇(二十二) ES6.8权限使用配置

es6以前xpack

前言|

在前面的章节中我们讲了开源架构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”到配置文件,保存并退出

c0145338e62928d9a6b0a77bbbca6ce8.png

Xpack安全机制

基础版本的安全性功能是默认关闭的。

然后启动ES,注意需要用普通用户启动ES,注意一定要先启动ES,才能进行后续安全设置

c9977c7b6f7bb36b52fc43d21a1890b8.png

启动ES

第三步:/bin/elasticsearch-setup-passwords interactive 启用ES默认的内置用户

8981a4b68248325b0b7b2f97c6951afc.png

安全设置用户密码

显示下面的图示:输入“y”

1c0f5a550b2585b45fc0d4575de09a39.png

下面的这些用户都是ES默认的用户,需要设置密码,一定要记住,可以暂时设置相同的。后面可以改

440098003415122731efc8baa4e609b0.png

ES默认用户

第四步:设置kibana登录的用户名、密码。在kibana.yml配置文件里进行修改

注意,这个用户名和密码一定跟ES刚刚设定的内置账号密码一样。否则,Kibana启动报错!!

5e1715b8b183fdb3a59d1dc18939e4ce.png

添加用户名和密码

第五步:启动kibana

启动kibana就可以使用用户名与密码进行访问。如下截图

5a9010e1f9944d6c9635d053f2aa78fd.png

kibana启动

941b6c363fba3363bd8062deb896aad6.png

Kibana界面

登录Kibana看看,就出现了安全访问的登录框。输入在Kibana设定的内置用户登录即可.用户必须使用有效的用户ID和密码登录Kibana。

8863a68d87ffbdfd7d2812f960745ee7.png

安全登录界面

二、如何在Kibana配置文件中屏蔽密码、用户字眼??

前面我们知道,登录ES的安全账号密码都配置在Kibana的配置文件里,但是这样,始终不安全,那么能不能屏蔽掉这些关键字眼呢??再来解决这个问题:

如果你不想将用户ID和密码放在kibana.yml文件中明文配置,可以将它们存储在密钥库中。运行以下命令以创建Kibana密钥库并添加配置:

首先 先创建秘钥库: ./kibana-keystore create

ac04793b4cfede4bee94f5ed27985a20.png

其次:添加登录用户名: ./kibana-keystore add elasticsearch.username

20cf66940c48848eaa783084cc511e59.png

输入要添加的用户名(密文)

再次:添加登录用户名的密码: ./kibana-keystore add elasticsearch.password

bb0c1c5588afdcd8f3899fa33a749a0e.png

输入用户名密码(密文)

最后,验证一下:使用刚刚新建账号密码、同时清除Kibana配置文件中原有的yml文件的用户、密码内容。重启Kibana

2d16cf823ad4b9603272a47019bde6ee.png

Kibana登录界面

使用Curl验证一下“

85ae6e134e24f6136423f6448c6d775a.png

Curl指令

用其他用户是不行的:

878bbccc0ff8e68f2cb1c67ce1637347.png

验证其它用户

考虑一下:为什么这样?因为尽管是默认用户,但是没有配置它在服务中使用,所以,它无效!!

三、总结:

本节从实际角度去部署了一下ES、Kibana的安全访问功能。是一个非常实际可用的功能,建议大家多试试!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/199848
推荐阅读
相关标签
  

闽ICP备14008679号