在 Elasticsearch 中设置账号密码是确保集群安全性的重要步骤之一。
以下是详细的步骤说明,帮助您设置 Elasticsearch 账号密码:
如果您还没有安装 Elasticsearch,可以从官方网站下载并安装适合您系统的版本。安装完成后,使用命令行启动 Elasticsearch 集群。 修改 elasticsearch.yml 配置文件: 打开 Elasticsearch 配置文件 elasticsearch.yml
,该文件通常位于安装目录的 config
子目录下。找到以下两行配置,如果不存在,就添加它们:
xpack.security.enabled: true
保存配置文件后,重新启动 Elasticsearch,以使更改生效。
设置内置用户: Elasticsearch 7.0 及以后的版本引入了内置用户和角色。使用内置超级用户 elastic
来设置初始密码。在命令行中运行以下命令:
bin/elasticsearch-setup-passwords interactive
这将会引导您为内置用户设置密码,包括 elastic
、 kibana
、 logstash_system
等。根据提示,依次为每个用户设置密码。 验证设置: 使用设置的用户名和密码尝试访问 Elasticsearch 集群。例如,您可以使用 curl 来验证:
curl -u <用户名>:<密码> http://localhost:9200
如果您正在使用 Kibana,需要更新 Kibana 配置文件 kibana.yml
来使用设置的用户名和密码:
elasticsearch.username: "<用户名>"
elasticsearch.password: "<密码>"
除了初始内置用户,您可以创建自定义用户和角色,以控制集群中的访问权限。通过 Elasticsearch 的 API 可以创建、修改和删除用户和角色。
PUT /_security/user/<用户名>
{
"password" : "<密码>",
"roles" : [ "<角色名>" ]
}
PUT /_security/role/<角色名>
{
"indices": [
{
"names": ["*"],
"privileges": ["read"]
}
]
}
以上是设置 Elasticsearch 账号密码的详细步骤。请注意,安全性是一个持续的过程,您可能还需要考虑其他安全设置,如 TLS/SSL 加密、防火墙配置等。在实际应用中,请务必根据最新的 Elasticsearch 版本和安全最佳实践进行操作。