您好,登录后才能下订单哦!
# Elasticsearch 7.x如何设置用户名密码开启x-pack验证
## 前言
在Elasticsearch的生产环境中,安全认证是必不可少的环节。Elasticsearch从6.8版本开始将X-Pack的基础安全功能(包括认证授权)集成到开源版本中,7.x版本延续了这一特性。本文将详细介绍如何在Elasticsearch 7.x中配置用户名密码认证,启用X-Pack的安全功能。
## 环境准备
1. 已安装Elasticsearch 7.x(单节点或集群)
2. 操作系统:Linux/Windows/Mac均可(本文以Linux为例)
3. 确保elasticsearch服务已停止(修改配置前需要停止服务)
## 配置步骤
### 1. 修改elasticsearch.yml配置
编辑`config/elasticsearch.yml`文件,添加以下配置:
```yaml
# 启用X-Pack安全功能
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
# 如果是集群需要额外配置
# discovery.type: single-node # 单节点模式
# cluster.initial_master_nodes: ["node-1"] # 集群初始化节点
执行以下命令生成TLS证书:
./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
然后在elasticsearch.yml中添加:
xpack.security.transport.ssl.keystore.type: PKCS12
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
./bin/elasticsearch -d # 后台启动
Elasticsearch提供以下内置用户: - elastic:超级用户 - kibana_system:Kibana系统用户 - logstash_system:Logstash系统用户 - beats_system:Beats系统用户 - apm_system:APM系统用户 - remote_monitoring_user:远程监控用户
执行密码设置命令:
./bin/elasticsearch-setup-passwords interactive
系统会提示为每个内置用户设置密码,建议使用强密码并妥善保存。
使用curl测试(注意替换密码):
curl -u elastic:yourpassword -XGET 'http://localhost:9200/_security/_authenticate'
成功会返回用户信息:
{
"username": "elastic",
"roles": ["superuser"],
"full_name": null,
"email": null,
"metadata": {},
"enabled": true
}
可以通过以下步骤重置: 1. 停止Elasticsearch 2. 临时关闭安全认证 3. 启动后使用API重置密码 4. 重新启用安全认证
使用Kibana的Security功能或Elasticsearch API:
curl -u elastic -X POST "localhost:9200/_security/user/john_doe?pretty" -H 'Content-Type: application/json' -d'
{
"password" : "userpassword",
"roles" : [ "read_only", "custom_role" ],
"full_name" : "John Doe",
"email" : "john@example.com"
}
'
启用安全认证后,性能影响主要来自: - TLS加密/解密开销(约5-10%性能下降) - 认证授权检查(约2-5%性能下降) 建议在生产环境务必启用,开发环境可酌情关闭
密码策略:
权限控制:
日志监控:
通过本文的步骤,您已成功为Elasticsearch 7.x启用了X-Pack安全认证。安全配置是Elasticsearch生产部署的基础要求,建议结合网络防火墙、TLS加密等多层防护措施构建完整的安全体系。随着业务发展,可进一步探索角色映射、文档级安全等高级特性。
注意:本文适用于Elasticsearch 7.0-7.17版本,更高版本可能有配置差异,请参考官方文档。 “`
这篇文章共计约850字,采用Markdown格式编写,包含配置步骤、常见问题解决和最佳实践等内容,适合作为技术文档使用。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。