Elasticsearch、Elasticsearch-head、Kibana 安全设置账号密码验证登陆

Elasticsearch、Elasticsearch-head、Kibana 安全设置账号密码验证登陆


我的小站GithubCSDN



X-PackElastic Stack 的一个扩展,提供安全性、警报、监视、报告、机器学习等功能。 安装 Elasticsearch 7.x 时,会默认安装X-Pack,无需单独安装,且基础级安全永久免费。



操作步骤:


  1. 在 elasticsearch 的 config 目录下的 elasticsearch.yml 的底部添加下面配置
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

xpack.security.enabled: true
xpack.security.audit.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true

在这里插入图片描述



  1. 使用 非root 用户 启动 elasticsearch 服务

  1. 新开一个窗口 用 root 用户 在elasticsearch 根目录下运行以下命令
bin/elasticsearch-setup-passwords interactive

输入 y 确认配置密码,然后按要求分别输入密码

在这里插入图片描述


或者可以使用以下方式生成随机密码:

bin/elasticsearch-setup-passwords auto



  1. 在 kibana 的 config 目录下的 kibana.yml 的底部添加下面配置,账号为 elastic ,密码为上面第3步为 elastic 设置的密码
# 配置登陆账号密码
elasticsearch.username: "elastic"
elasticsearch.password: "your_password"



如果不希望账号密码出现在配置文件中,可以使用以下方式存储在密钥库中


在kibana安装目录下,使用 非root用户 运行以下命令以创建 Kibana 密钥库并添加安全设置

bin/kibana-keystore create
bin/kibana-keystore add elasticsearch.username
bin/kibana-keystore add elasticsearch.password

如果想要删除,可以使用 remove 参数

bin/kibana-keystore remove elasticsearch.username
bin/kibana-keystore remove elasticsearch.password

  1. 重启 elasticsearch、elasticsearch-head、kibana

  1. elasticsearch、kibana的访问方式照常,elasticsearch-head 的访问网址为
http://<服务器IP地址>:9100/?auth_user=elastic&auth_password=<PASSWORD>

其中,账号密码为 第3步 设置的 elastic 和 它对应的密码



SpringBoot 中 Elasticsearch 配置类 注册 RestHighLevelClient Bean 的方式

    private String host = 127.0.0.0;//修改为 elasticsearch 服务器地址

    private Integer port = 9200;

    private String scheme = "http";

    private String userName = "elastic";

    private String password = "your_password"; // 修改为你设置的密码
    
    @Bean
    public RestHighLevelClient restHighLevelClient(){
        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY,
                new UsernamePasswordCredentials(userName, password));
        return new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost(host,port,scheme)
                ).setHttpClientConfigCallback(httpClientBuilder -> {
                    httpClientBuilder.disableAuthCaching();
                    return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                })
        );
    }



  1. 可以在 Stack Management 中 管理用户 和 角色


    入口:主页 → 管理 Elastic Stack → 安全性设置

在这里插入图片描述

或者直接访问地址:

  • 用户管理
http://<服务器IP>:5601/app/kibana#/management/security/users

在这里插入图片描述

  • 角色管理
http://<服务器IP>:5601/app/kibana#/management/security/roles

在这里插入图片描述



更多详情请参考 官方文档



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值