前言:Elasticsearch 在Elasticsearch7之后的版本内置了X-pack安全配置,若ES版本在7.0之前,需要手动引入X-pack插件
1、进入到 ${PWD}/elasticSerch/bin 目录下执行下方命令,若为集群部署,则进入master节点操作即可
./elasticsearch-certutil cert -out config/elastic-certificates.p12
该操作会在config目录下生成 elastic-certificates.p12 文件
2、进入config目录,然后chomd 777 修改该文件权限,接着编辑config 目录下的elasticsearch.yml文件
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: ${PWD}/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: ${PWD}/elastic-certificates.p12
注:
1.必须要配置绝对路径,否则有可能使配置不生效从而导致es起不来
2.若使用docker部署的,建议将elastic-certificates.p12 文件挂载出来
3.若使用集群部署,则需要将elastic-certificates.p12 文件复制到多个Node中的config目录下,并修改对应的elasticsearch.yml文件
3、当上面步骤完成后,需要重启ES使配置生效。
4、当ES正常重启完成之后,进入到 ${PWD}/elasticSerch/bin 目录下 执行
./elasticsearch-setup-passwords interactive
5、执行该命令之后要求你对多个默认的ES账号设置密码,当所有密码配置完成之后,ES开启登陆密码验证完成
6、接下来需要配置kibana的登录验证,只需要修改kibana的config/kibana.yml ,添加以下配置
elasticsearch.username: "es的账号"
elasticsearch.password: "es的密码"
并重启kibana,即可完成配置。
7、上面所配置的用户均为ES内置默认账号,若需要添加自定义用户,则进入到 ${PWD}/elasticSerch/bin 目录下执行下方命令,
#依次执行
./elasticsearch-users useradd {yourUserName} #创建用户
./elasticsearch-users roles -a {yourRole} #配置角色
./elasticsearch-users passwd {yourUserName} #设置密码
#一次执行
./elasticsearch-users useradd {yourUserName} -p {yourPassword} -r {yourRole}