实战 es6_腾讯云 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”到配置文件,保存并退出

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的安全访问功能。是一个非常实际可用的功能,建议大家多试试!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多标签用户画像分析跑得快的关键在哪里?

用户画像分析需要使用众多标签来描述用户属性,通常有两类标签。一类用户标签的值可能有多个,比如用户学历是中学、大学、研究生、博士等,年龄段是children、juvenile、youth、middle age、old age,这类标签称为枚举标签。另一类用…

软通动力华为java机考题库_华为机考笔试刷题-java-1

题库来源计算字符个数写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。public static void main(String[] args) {Scanner sc new Scanner(System.in);while (sc.hasNextLi…

基于Java+Springboot+Vue+elememt社区疫情返乡管控系统设计实现

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取联系🍅精彩专栏推荐订阅收藏👇&…

策略 python_Python版商品期货多品种均线策略

完全移植自「CTP商品期货多品种均线策略」,由于Python版本商品期货策略还没有一个多品种的策略,所以就移植了JavaScript版本的「CTP商品期货多品种均线策略」。提供一些Python商品期货多品种策略的设计思路、例子。不论JavaScript版本还是Python版本&…

mc用云服务器搭建_最全的云服务器架设我的世界私服教程,不看后悔哦!

我们将通过一个一步步的讲述通过新睿云的云服务器来向你展示如何搭建一个“我的世界(Minecraft)”服务器端。这是一个可以多人在线的游戏,能让您体会到极致的游戏乐趣。我们的建议是不要使用个人电脑,即使从技术角度来说你能做到,但个人电脑不…

基于Java+SpringBoot+vue等疫情期间在线网课管理系统详细设计实现

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取联系🍅精彩专栏推荐订阅收藏👇&…

智能家居中语音识别算法研究_语音识别研究获进展

中国科学院自动化研究所智能交互团队在环境鲁棒性、轻量级建模、自适应能力以及端到端处理等几个方面进行持续攻关,在语音识别方面获新进展,相关成果将在全球语音学术会议INTERSPEECH2019发表。现有端到端语音识别系统难以有效利用外部文本语料中的语言学…

自动驾驶技术越来越火,浅谈一些对百度Apollo开放平台8.0的看法和认知

最近几年来,包括我在内的很多开发者们,都投身进入了智能汽车领域,其实不论是初学者还是大佬,接触智能汽车开发行业后都需要学习很多知识和既能。 我在最近一段时间接触到了百度的Apollo开放平台,上手的感觉很好用&…

mysql模糊查询 or_mysql的模糊查询

mysql模糊查询like/REGEXP(1)like / not likeMySql的like语句中的通配符:百分号、下划线和escape%:表示任意个或多个字符。可匹配任意类型和长度的字符。Sql代码select * from user where username like %huxiao;select * from user where us…

命令行输入mysql不行_MySQL命令行无法插入中文数据

下面的方法是针对window系统的注意:1 下面的my.ini文件在有些版本的Mysql中的安装目录找不到,比如我用的版本5.5.60-log就找不到,想要找到这个文件,需要设置显示window系统隐藏文件(不懂的自行百度,因系统的版本不同而…

mysql查看现在使用的引擎_mysql查看当前库使用的引擎及简单操作

随手写下一些操作mysql现在已提供什么存储引擎:mysql> show engines;mysql当前默认的存储引擎:mysql> show variables like %storage_engine%;某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):mysql> show create table 表名;如何查看My…

mysql 获取天数_MySQL获取某月份的天数

1、last_day(curdate());获取当月最后一天。2、DAYOFMONTH(last_day(curdate())); 返回date对应的该月日期。当然这就是当月的天数。这就出来当月天数了,相当简单。最初的时候去网上找的下面的内容。虽然逻辑上没错,但是思路有点问题,mysql那…

mysql 表损坏_MYSQL数据表损坏的原因分析和修复方法小结(推荐)

1.表损坏的原因分析以下原因是导致mysql 表毁坏的常见原因:1、 服务器突然断电导致数据文件损坏。2、 强制关机,没有先关闭mysql 服务。3、 mysqld 进程在写表时被杀掉。4、 使用myisamchk 的同时,mysqld 也在操作表。5、 磁盘故障。6、 服务…

mysql的存储过程和索引区别_mysql查看索引与存储过程

mysql查看索引与存储过程创建索引:CREATE INDEX可对表增加普通索引或UNIQUE唯一索引。CREATE INDEX index_name ON table_name (column_list)CREATE UNIQUE INDEX index_name ON table_name (column_list)ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY主键。ALTER TAB…

mysql悲观锁关键字_MySQL悲观锁 select for update实现秒杀案例(jfinal框架)

MySQL悲观锁 select for update实现秒杀案例(jfinal框架)发布时间:2018-08-17作者:laosun阅读(4287)为了方便测试,博主使用最新的jfinal框架,里边的东西就修改了一下a_little_config.txt,配置数据库链接的,…

pl sql 连接mysql_PL/SQL 连接mysql步骤

下面就将PL/SQL的配置说明一下。一、安装Oracle客户端,让后配置 安装目录下面的C:\ORACLE\instantclient_11_2\NETWORK\ADMIN 的 tnsnames.ora文件,如下:修改成自己的配置名 (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST 服务器IP)(PORT…

mysql 创建表时提示错误代码_MySQL创建表时遇到的错误

学习MySQL第一个程序就遇到了bug。创建表时需注意的事项加以总结: 1、先创建数据库: create database 数据库名;然后连接要用的数据库 use 数据库名;下面就可以执行建表语句 了。2、错误提示:ERROR 1064 (4…

根据工序画出aoe网_这些金刚网纱窗竟然含“毒”!选错就得病

窗户进行装修我们通常会安装纱窗,这样可以阻止一些蚊虫或者灰尘进入家里。金刚网纱窗是业主们常常挑选的一种纱窗。不过最近听别人说金刚网纱窗是含毒的,这不禁让安装这种纱窗的业主感到吃惊,而这消息是真是假呢我们看看专家的说法&#xff0…

7 centos 时钟跟物理机同步_centos7上使用chrony自动同步时间

在linux中,有些服务必须依靠准确的时间,才能够在运行的时候不出差错,例如DNS,LVS,HTTPS等,都需要后台的服务器之间保持时间的同步。而Centos系统中自带的有安装对应的同步时间的服务。centos7中默认安装的是…

mysql key_mysql 索引 key 的用法

mysql 索引 key 的用法mysql> desc aa;-------------------------------------------| Field | Type | Null | Key | Default | Extra |-------------------------------------------| id | int(11) | YES | | NULL | |-------------------------------…