我一直在阅读documentation Elastic provides这个小东西,但它只是关于如何操作它,而我并不真正理解它的基本原理。
1.使用密码初始化密钥库:bin/elasticsearch-keystore passwd
1.您向其添加一个键值bin/elasticsearch-keystore add mySecret
(提示输入secret)
1.您引用elasticsearch.yml中的键,即${mySecret}
1.启动Elasticsearch,值会神奇地从密钥库中提取并替换。
我的怀疑是:Elasticsearch如何获得密码来解密密钥库并使用配置文件中的值?或者密钥库的密码存储在某个地方吗?
如果是,在哪里?在这种情况下,我根本看不到使用密钥库的好处?
2条答案
按热度按时间dy1byipe1#
@ ssarduzio把你的密码放在ansible的yml文件中,用ansible-vault保护yml文件,这样你就只需要记住和键入所有密钥库的保险库密码和敏感密码,还有一些技巧取决于你的设置,你可以进一步自动化,并自动提供保险库密码
z31licg02#
目前我使用的是elasticsearch v7.10,它的systemd服务运行
/usr/share/elasticsearch/bin/systemd-entrypoint
作为它的ExecStart
,通过查看它,您可以看到它试图从环境变量ES_KEYSTORE_PASSPHRASE_FILE
指定的文件中读取keystore密码。您可以创建一个包含密码的文件,在服务文件中添加
Environment
指令,并将ES_KEYSTORE_PASSPHRASE_FILE
指定为文件的路径。在
[service]
节中添加以下行:重新加载systemctl并重新启动服务