原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/secure-settings.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/secure-settings.html

安全设置 edit

有些设置是敏感的,依靠文件系统权限来保护它们的值是不够的。 针对这个问题,Elasticsearch 提供了一个 秘钥库(keystore) 和elasticsearch-keystore工具来管理秘钥库中的设置。

只有一些设置被设计为可以从密钥库中读取。 但是,密钥库没有阻止不支持的设置的验证。 向密钥库中添加不支持的设置会导致 Elasticsearch 无法启动。 要查看密钥库中是否支持某个设置,请在设置引用中查找“Secure”限定符。

对密钥库的所有修改只有在重新启动 Elasticsearch 后才会生效。

这些设置,就像elasticsearch.yml配置文件中的常规设置一样,需要在集群中的每个节点上指定。 目前,所有安全设置都是特定于节点的设置,必须在每个节点上具有相同的值。

可重新加载的安全设置 (Reloadable secure settings) edit

就像elasticsearch.yml中的设置值一样,对密钥库内容的更改不会自动应用于正在运行的 elasticsearch 节点。 重新读取设置需要重新启动节点。 但是,某些安全设置被标记为可重新加载(reloadable)。 这些设置可以重新读取并被应用到正在运行中的节点

所有安全设置的值,无论是否可重新加载,在集群的所有节点上都必须相同。 进行所需的安全设置更改后,使用bin/elasticsearch-keystore add命令,调用:

POST _nodes/reload_secure_settings
{
  "secure_settings_password": "s3cr3t" 
}

Elasticsearch 密钥库的加密密码。

此 API 在每个集群节点上解密并重新读取整个密钥库,但仅应用可重新加载的安全设置。 对其他设置的更改要到下次重新启动时才会生效。 一旦调用返回,重载就完成了,这意味着依赖于这些设置的所有内部数据结构都已更改。 一切都应该看起来好像安全设置从一开始就有新的值。

更改多个可重新加载 的安全设置时,请在集群的每个节点上修改所有设置,然后执行reload_secure_settings调用,而不是在每次修改后重新加载配置。

There are reloadable secure settings for: