elasticsearch开启权限认证

开启前提:elasticsearch启用集群

elasticsearch生成ssl证书

1
2
3
4
5
6
1.进入容器(此容器代表 es主节点,也可以代表第一个节点)
docker exec -it {容器名称|容器id} /bin/bash
2.生成证书 ,直接全部确定,不建议输入
./bin/elasticsearch-certutil cert
3.将证书移动到宿主机,以供其他外部链接使用
docker cp {容器名称|容器id}:/config/elastic-certificates.p12 /{path}/elastic-certificates.p12

在elasticsearch.yml配置对应配置

1
2
3
4
5
6
7
xpack.security.enabled=true
xpack.security.transport.ssl.enabled=true
xpack.license.self_generated.type=basic
xpack.security.transport.ssl.verification_mode=certificate
# elastic-certificates.p12 代表路径位于 config/elastic-certificates.p12
xpack.security.transport.ssl.keystore.path=elastic-certificates.p12
xpack.security.transport.ssl.truststore.path=elastic-certificates.p12

在docker-compose.yml配置部分 标签位于 environment:

1
2
3
4
5
6
7
- xpack.security.enabled=true
- xpack.security.transport.ssl.enabled=true
- xpack.license.self_generated.type=basic
- xpack.security.transport.ssl.verification_mode=certificate
# elastic-certificates.p12 代表路径位于 config/elastic-certificates.p12
- xpack.security.transport.ssl.keystore.path=elastic-certificates.p12
- xpack.security.transport.ssl.truststore.path=elastic-certificates.p12

然后重启全部es容器

1
2
多个容器执行多次
docker restart {容器名称|容器id}

配置elasticsearch密码

1
2
3
4
5
6
7
1.进入容器(此容器代表 es主节点,也可以代表第一个节点)
docker exec -it {容器名称|容器id} /bin/bash
2.执行重置密码
./bin/elasticsearch-setup-passwords interactive
3.会分别让输入elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user等密码,密码需要记住。
4.输入es访问的地址: ip:port, 会出现让输入账号密码的输入框,输入正确则会有正确输出(建议输入elastic账号与对应密码)
5.建议再次重启容器

配置kibana部分

配置kibana.yml部分

1
2
3
# 此处输入 kibana的账号 与密码
# elasticsearch.username: 'kibana'
# elasticsearch.password: 'kibana'