加载中

自管理集群中的内置用户

自行管理

Elastic Stack 安全功能提供了内置用户凭据,以帮助您快速启动和运行。这些用户具有固定的权限集,在设置了密码之前无法进行身份验证。elastic 用户可用于 设置所有内置用户的密码

在编排式部署(ECH、ECE 和 ECK)中,elastic 用户由平台管理,而其他默认用户则无法被最终用户访问。要了解如何在 Elastic Cloud Hosted、Elastic Cloud Enterprise 或 Elastic Cloud on Kubernetes 环境中重置 elastic 用户,请参阅 编排器管理的用户名

创建权限最低的用户

内置用户有特定的用途,并非用于一般用途。特别是,除非绝对需要完全访问集群,否则请不要使用 elastic 超级用户。在自管理部署中,使用 elastic 用户创建对其活动具有最低必要角色或权限的用户。

注意

在 Elastic Cloud 上,会启用 运算符权限。这些权限会限制某些基础架构功能,即使某个角色通常允许用户完成管理任务。

以下内置用户可用

elastic

内置的 超级用户

任何可以登录为 elastic 用户的人都可以直接读取受限制的索引(例如 .security)。该用户还可以管理安全并创建具有无限权限的角色。

kibana_system
Kibana 用于连接和与 Elasticsearch 通信的用户。
logstash_system
Logstash 在 Elasticsearch 中存储监控信息时使用的用户。
beats_system
Beats 在 Elasticsearch 中存储监控信息时使用的用户。
apm_system
APM 服务器在 Elasticsearch 中存储监控信息时使用的用户。
remote_monitoring_user
Metricbeat 在收集和存储 Elasticsearch 监控信息时使用的用户。它具有 remote_monitoring_agentremote_monitoring_collector 内置角色。

这些内置用户存储在 Elasticsearch 管理的特殊 .security 索引中。如果内置用户被禁用或密码更改,更改将自动反映在集群的每个节点上。但是,如果您的 .security 索引被删除或从快照恢复,则您应用的任何更改都将丢失。

尽管它们共享相同的 API,但内置用户与由 原生域管理的用户的关系是独立的。禁用原生域不会对内置用户产生任何影响。可以使用 禁用用户 API 单独禁用内置用户。

自行管理

提示

Elastic Cloud Hosted、Elastic Cloud Enterprise 和 Elastic Cloud on Kubernetes 的 elastic 用户管理方式不同。 了解更多

当您安装 Elasticsearch 时,如果 elastic 用户还没有密码,它将使用默认的引导密码。引导密码是一个临时的密码,可让您运行用于设置所有内置用户密码的工具。

默认情况下,引导密码是从随机化的 keystore.seed 设置派生而来的,该设置在安装过程中会添加到 keystore。您无需知道或更改此引导密码。但是,如果您在 keystore 中定义了 bootstrap.password 设置,则会使用该值。有关与 keystore 交互的更多信息,请参阅 安全设置

注意

设置内置用户密码(特别是 elastic 用户)后,引导密码将不再使用。

自行管理

您必须设置所有内置用户的密码。您可以通过多种方法设置或重置密码。

  • 使用 elasticsearch-setup-passwords
  • 使用 Kibana 用户管理
  • 使用更改密码 API

如果您想在初始设置后重置内置用户密码,请参阅 在自管理集群中设置原生用户和内置用户的密码

提示

Elastic Cloud Hosted、Elastic Cloud Enterprise 和 Elastic Cloud on Kubernetes 的 elastic 用户管理方式不同。 了解更多

elasticsearch-setup-passwords 工具是首次设置内置用户密码的最简单方法。它使用 elastic 用户的引导密码来运行用户管理 API 请求。例如,您可以以“交互式”模式运行该命令,该模式会提示您为 elastickibana_systemlogstash_systembeats_systemapm_systemremote_monitoring_user 用户输入新密码。

bin/elasticsearch-setup-passwords interactive

有关命令选项的更多信息,请参阅 elasticsearch-setup-passwords

重要提示

在为 elastic 用户设置密码后,引导密码不再有效;您无法第二次运行 elasticsearch-setup-passwords 命令。

您可以通过 Kibana 中的 **Management > Users** 页面或 更改密码 API 设置内置用户的初始密码。

要使用这些方法,您必须提供 elastic 用户及其引导密码来登录 Kibana 或运行 API。此要求意味着您无法使用从 keystore.seed 设置派生的默认引导密码。相反,您必须在启动 Elasticsearch 之前在 keystore 中显式设置 bootstrap.password 设置。例如,以下命令会提示您输入新的引导密码。

bin/elasticsearch-keystore add "bootstrap.password"

然后,您可以启动 Elasticsearch 和 Kibana,并使用 elastic 用户和引导密码登录 Kibana 并更改密码。

或者,您可以为每个内置用户提交更改密码 API 请求。这些方法更适合在初始设置完成后更改密码,因为此时不再需要引导密码。

在设置了 kibana_system 用户密码后,您需要通过在 kibana.yml 配置文件中设置 elasticsearch.password 来更新 Kibana 服务器的新密码。

elasticsearch.password: kibanapassword

请参阅 配置 Kibana 中的安全

logstash_system 用户在 Logstash 中启用监控时在 Logstash 内部使用。

要在 Logstash 中启用此功能,您需要通过在 logstash.yml 配置文件中设置 xpack.monitoring.elasticsearch.password 来更新 Logstash 配置,以引用新密码。

xpack.monitoring.elasticsearch.password: logstashpassword

如果您从旧版本的 Elasticsearch 升级,出于安全原因,logstash_system 用户可能已默认设置为禁用。更改密码后,您可以通过以下 API 调用启用该用户。

 PUT _security/user/logstash_system/_enable 

请参阅 为 Logstash 监控配置凭据

beats_system 用户在 Beats 中启用监控时在 Beats 内部使用。

要在 Beats 中启用此功能,您需要更新每个 Beat 的配置以引用正确的用户名和密码。例如:

xpack.monitoring.elasticsearch.username: beats_system
xpack.monitoring.elasticsearch.password: beatspassword

例如,请参阅 监控 Metricbeat

remote_monitoring_user 在 Metricbeat 收集和存储 Elastic Stack 的监控数据时使用。请参阅 生产环境中的监控

如果您从旧版本的 Elasticsearch 升级,则可能尚未为 beats_systemremote_monitoring_user 用户设置密码。如果发生这种情况,您应该使用 Kibana 中的 **Management > Users** 页面或 更改密码 API 为这些用户设置密码。

apm_system 用户在 APM 中启用监控时在 APM 内部使用。

要在 APM 中启用此功能,您需要更新 apm-server.yml 配置文件以引用正确的用户名和密码。例如:

xpack.monitoring.elasticsearch.username: apm_system
xpack.monitoring.elasticsearch.password: apmserverpassword

如果您从旧版本的 Elasticsearch 升级,则可能尚未为 apm_system 用户设置密码。如果发生这种情况,您应该使用 Kibana 中的 **Management > Users** 页面或 更改密码 API 为这些用户设置密码。

重要提示

此设置已被弃用。elastic 用户不再具有默认密码。必须先设置密码才能使用该用户。请参阅 Elastic 引导密码

© . This site is unofficial and not affiliated with Elasticsearch BV.