ES 集群权限分发
Elastic Search集群权限分发
部署环境及版本
Centos7
ElasticSearch7.10.2
kibana-7.10.2-linux-x86_64
1、集群权限配置
1-1、 停用集群,进入es安装目录
1-2、 打开es配置文件,开启x-pack验证,添加证书文件
以下操作需在所有节点执行
样例配置
1-3、集群权限配置
1-4、 将config下的这三个文件分发给其余节点的config目录下
1-5、 启动es。然后去登陆es的时候就需要密码,Localhost:9200验证
1-6、接下设置内置用户的密码,执行以下命令根据图示操作
做完如上的操作就完成了一些特定账号的密码设置:比如elastic超级管理员的密码,这样就可以对权限进行管理了,到这里为止,就可以去通过elastic用户去登陆es集群了,elastic用户作为超级用户,在开发的过程中不建议使用,所以需要自己管理和配置角色和用户
2、Kibana配置文件
2-1、进入kibana主目录
添加以下配置:
样例配置
3、用户和角色管理
3-1、Security privileges(权限管理)
主要是先把权限赋给角色,该角色就拥有了赋有的权限了,然后指定用户为该角色,这样该用户也就有了该角色的权限。大概可以理解为,权限和用户之间的桥梁就是角色,把不同的权限赋给角色,然后把用户对应什么样子的角色就有该角色的权限。权限这里分为集群的权限和索引的权限,集群权限有所有的权限,有快照的权限,管理权限,监控权限等。索引权限有创建,删除,读,写等权限。
3-2、role(角色)介绍操作
elasticsearch7内置了很多角色,但是很多内置角色都不是我们想要的,每个公司的需求都是不一样,如果集群很小,则可以简单控制权限就可以,如果集群大,用户多,则需要比较细粒度的控制权限,所以我们要根据自己的需求定义自己的所要的角色。角色的配置有两种方式,一种是界面的操作(kibana方式),这样就傻瓜式的操作,很简单。还有就是通过API的方式控制权限,这样的话需要花点时间熟悉下,操作相对来说复杂点,但是不需要额外的kibana。
1、登录kibana IP Localhost:5601
2、 进入家目录
3、点击左下角
Display a different page on log in
4、Security下三个选项,分别是用户、角色、APIKEY
安全界面
USER详情页
ROLES详情页
3-3、接下来就可以新建rolele
到这里为止通过kibana方式配置role的步骤就完了
3-4、API配置语法
3-5、user(用户)介绍和操作
elasticsearch7内置了很多用户,前面那步设置密码就是给里面的内置用户配置密码,在日常es开发中,内置用户基本不使用,所以主要自定义用户,自定义用户也同样有两种方式,同样是kibana和API方式,这两种方式也很简单
方式一(kibana方式)
1、登录kibana,点击users,然后点击新建
2、配置用户的基本信息和指定配置的角色
方式二(API方式)
配置用户的基本信息和指定配置的角色
1 |
|
到这里,role和user的基本创建就介绍完了
4、总结:
1、以上为集群权限配置、role和user的基本用法,具体如何根据需求控制权限这些都是根据实际情况确定的,因为用户配置有很多,也支持ldap,这里只是用了最简单的方式,若想超级细粒度或者ldap方式或者其他方式对权限进行控制,最好去研究下官网,本文说的很简单,只是对基本的权限的控制。具体设计都是基于现有的业务场景或者用户的数量,或者是集群的规模确定权限是否细粒度。
5、此教程所参考的官方文档
1、集群保护相关
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/secure-cluster.html
2、创建集群认证机构,颁发证书
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/configuring-tls.html
3、设置内置密码
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/setup-passwords.html
4、权限管理
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/security-privileges.html
5、内置角色
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/built-in-roles.html
6、API方式配置权限
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/security-api-put-role.html
7、用户介绍
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/built-in-users.html
8、API创建用户
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/security-api-put-user.html
9、API更多用法
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/security-api.html