-
介绍
-
X-Pack是一个弹性堆栈扩展,提供安全性、警报、监视、报告、机器学习和许多其他功能。默认情况下,当您安装Elasticsearch时,将安装X-Pack。
-
如果你想尝试所有的X-Pack功能,你可以开始30天的试用。在试用期结束时,您可以购买订阅,以继续使用X-Pack组件的全部功能。有关更多信息,请参见https://www.elastic.co/subscriptions。
- 从6.3版本开始,项目里自带了X-Pack,不废话开始
- http://www.lupaworld.com/article-266921-1.html
- 启用trial license(30天试用)
- 之前查看es日志
-
curl -H "Content-Type:application/json" -XPOST http://192.168.184.136:9200/_xpack/license/start_trial?acknowledge=true
- 之后查看es日志,可以看到elasticsearch控制台显示license 已变为trial
- 在ES的bin目录下执行
-
./elasticsearch-setup-passwords interactive
- elasticsearch-setup-passwords命令用法
- 此命令仅用于Elasticsearch安全特性的初始配置期间。它使用弹性引导密码运行用户管理API请求。为elastic用户设置密码后,引导程序密码将不再活动,您不能在次使用此命令
- 第一次执行./elasticsearch-setup-passwords interactive报错
- 在elasticsearch.yml配置
-
xpack.security.enabled: true #默认为false
- 再次执行:
-
./elasticsearch-setup-passwords interactive
-
启动预留用户elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user的密码设置,在此过程中,系统会提示您输入密码。
-
密码都为123456
-
如果执行过一次就不能再执行了,你可以从Kibana中的管理>用户UI或使用安全用户API更新密码。
-
设置角色和用户来控制对Elasticsearch的访问。例如,要授予John Doe对所有匹配pattern events*的索引的完全访问权,并使他能够在Kibana中为这些索引创建可视化和仪表板,您可以创建events_admin角色并将该角色分配给一个新的johndoe用户。
-
curl -XPOST -u elastic 'localhost:9200/_xpack/security/role/events_admin' -H "Content-Type: application/json" -d '{ "indices" : [ { "names" : [ "events*" ], "privileges" : [ "all" ] }, { "names" : [ ".kibana*" ], "privileges" : [ "manage", "read", "index" ] } ] }' curl -XPOST -u elastic 'localhost:9200/_xpack/security/user/johndoe' -H "Content-Type: application/json" -d '{ "password" : "userpassword", "full_name" : "John Doe", "email" : "john.doe@anony.mous", "roles" : [ "events_admin" ] }'
-
详情查看:X-Pack APIs,用kibana去操作就行了
-
bin/elasticsearch-users ([useradd <username>] [-p <password>] [-r <roles>]) | ([list] <username>) | ([passwd <username>] [-p <password>]) | ([roles <username>] [-a <roles>] [-r <roles>]) | ([userdel <username>])
-
添加用户
-
bin/elasticsearch-users useradd jacknich -p theshining -r network,monitoring
-
提示这里面没有这些roles,官方文档给的例子,没有就找个有的换上就行了。。。
-
用户列表
-
bin/elasticsearch-users list
-
修改密码方式
-
方式一、不用这种了。。。用kibana的Restful就可以搞定,更便捷。。。
-
# 例如修改 elastic 的密码 curl -u elastic -H "Content-Type:application/json" -XPOST 'http://192.168.184.136:9200/_xpack/security/user/elastic/_password' -d' { "password" : "new_password" }'
-
方式二、官网的例子名字写错了。。。。。。。。
-
bin/elasticsearch-users passwd jacknich
-
方式二、
-
浏览器访问
192.168.184.136:5601
在kibana
设置里进行用户管理,有一点我在命令行里添加的用户,在kibana显示不出来!!!!!!! -
-
下面的示例从jacknich用户中删除网络和监视角色,并添加用户角色
-
bin/elasticsearch-users roles jacknich -r network,monitoring -a user
-
删除用户
-
bin/elasticsearch-users userdel jacknich
-
要想head插件访问需要带上用户名和密码
-
并且在elasticsearch.yml配置
-
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
-
http://192.168.184.136:9100/?auth_user=elastic&auth_password=123456
-
在kibana中配置
-
修改kibana.yml配置文件
-
# If your Elasticsearch is protected with basic authentication, these settings provide # the username and password that the Kibana server uses to perform maintenance on the Kibana # index at startup. Your Kibana users still need to authenticate with Elasticsearch, which # is proxied through the Kibana server. elasticsearch.username: "kibana" elasticsearch.password: "123456"
-
输入账号密码就行了
参考: