文章目录
配置ElasticSearch
安全配置
有些设置是敏感的,仅依靠文件系统权限来保护它们的值是不够的。对于这个用例,Elasticsearch提供了一个密钥库和elasticsearch-keystore
tool来管理密钥库中的设置。
只有一些设置被设计为从密钥库读取,但是,密钥库不会阻止不支持的设置。将不支持的设置添加到密钥库会导致Elasticsearch
无法启动。要查看密钥库中是否支持设置,请在设置引用中查找“安全”限定符。
所有对 keystore
的修改只有在重启 Elasticsearch
后才会生效。
这些设置,就像 elasticsearch.yml
配置文件中的常规设置一样,需要在集群中的每个节点上指定。目前,所有安全设置都是特定于节点的设置,在每个节点上必须具有相同的值。
就像 elasticsearch.yml
中的设置值一样,对密钥库内容的更改不会自动应用于正在运行的 Elasticsearch
节点。重新读取设置需要重新启动节点。但是,某些安全设置被标记为可重新加载。此类设置可以重新读取并应用到正在运行的节点上。
所有安全设置的值,无论是否可重新加载,在所有集群节点上都必须相同。进行所需的安全设置更改后,使用 bin/elasticsearch-keystore add
命令
curl -X POST "localhost:9200/_nodes/reload_secure_settings?pretty" -H 'Content-Type: application/json' -d'
{
"secure_settings_password": "keystore-password"
}
'
这个API
在每个集群节点上解密并重新读取整个密钥库,但只应用可重新加载的安全设置。对其他设置的更改要等到下次重新启动时才生效。一旦调用返回,重载就完成了,这意味着依赖于这些设置的所有内部数据结构都已更改。
更改多个可重新加载的安全设置时,请在每个集群节点上修改所有设置,然后发出 reload_secure_settings
调用,而不是在每次修改后重新加载。
有可重新加载的安全设置: