Elasticsearch 在默认情况下并没有设置用户权限认证机制。但从5.x版本开始,Elastic Stack 引入了 X-Pack 插件,随后在7.x版本中,Elasticsearch 和Kibana 的基本安全特性被默认启用在了基本版中,这一特性包括了密码保护。
当你首次安装 Elasticsearch 时,你需要初始化内置用户的密码。Elasticsearch拥有几个内置用户,例如 elastic、kibana 和 logstash_system 等。其中,elastic 用户是超级用户,可以用来登录 Kibana 和操作 Elasticsearch 集群。
在启用了基本安全特性的 Elasticsearch 版本中,没有默认密码。相反,你需要在设置过程中使用 elasticsearch-setup-passwords 命令来为内置用户设置密码。例如,通过以下命令可以为所有内置用户设置密码:
bashbin/elasticsearch-setup-passwords auto
该命令会为每个内置用户生成随机密码,并在命令行中显示。另外,也可以使用交互式命令 interactive 来为每个用户设置你想要的密码。
如果是Elasticsearch集群的Docker容器实例,也可以通过设置环境变量 ELASTIC_PASSWORD 来指定 elastic 用户的密码。
请注意,出于安全原因,应该避免使用默认密码或弱密码,并且在部署的时候应该为所有的内置用户设置强密码。此外,对于生产环境,最好遵循最小权限原则配置用户角色,以降低安全风险。