elastic search添加密码验证、并且使用postman访问带密码的es |
您所在的位置:网站首页 › password认证密码 › elastic search添加密码验证、并且使用postman访问带密码的es |
es集群开启密码验证
elastic search简称为es,为一个分布式的搜索引擎,默认的es部署是没有密码验证的,很容易会出现安全问题。 1 使用ES自带的XPACK开启密码校验在es7.0版本以后(之前的版本没怎么用过,不太清楚)安装包默认自带了xpack功能,所以只需要在es包下的config目录修改一下es的默认配置文件elasticsearch.yml即可, 在elasticsearch.yml中追加写入以下参数 xpack.security.enabled: true ## 加密方式 xpack.license.self_generated.type: basic xpack.security.transport.ssl.enabled: true然后重启es让配置文件生效,再到es包下bin目录执行以下命令 ./elasticsearch-setup-passwords interactive运行结果如下: 当es设置完成密码后,就不能再像之前那样随心所欲的访问了,否则会返回安全错误异常。 这时候我们在访问的时候就需要把用户名和密码的认证信息附加上去,如果你平时使用的是curl命令进行操作es, 那么只需要在curl后增加–user 用户名:密码 即可,示例如下 curl 172.1.11.x:9200 --user elastic:123456但是命令行的操作体验很不好,大部分人还是使用postman进行请求的,在postman中请求加密的es就比较麻烦一点,要在request head里新增Authorization参数,而该参数的值获取来源有以下三种(经过评论区的大神指点,找到了一种非常简单的设置用户名密码方式,详见第一种) 评论区大神指点的方法,就不需要去手动设置Authorization参数了,在postman中就有Authorization这一栏,只需要选择相应的认证方式后,在右侧输入用户名和密码就好了 在浏览器中请求es的首页,也就是地址加端口,这时候会让你输入用户名和密码,当输入后,会跳转到首页。 然后打开浏览器的调试功能,从该请求中获取到Authorization参数,如下 因为在es的配置文件中,选用的加密方式为basic,也就是该项xpack.license.self_generated.type: basic, 所以我们也可以对用户名密码进行手动加密,访问https://www.base64encode.org/地址,在输入框中输入elastic:123456,进行加密,并在头部加上“Basic ”字符串就是最终的Authorization的值了,该值与第一种方式获取的是一致的。 获取到Authorization以后,在postman进行设置,即可如常访问 如果开发环境或者自己本地,不想要加密,也不需要加密,同样也可以很简单的取消掉加密。 在elasticsearch.yml中设置不启用即可 xpack.security.enabled: false |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |