我是 ELK 堆栈的新手,想在其中使用身份验证。为此,我将在 elasticsearch 中使用 Search guard 插件。 我已经在以下链接的帮助下安装了它:
https://github.com/floragunncom/search-guard-docs
然后我按照那里给出的所有步骤进行操作,但不幸的是在运行 sgadmin 时出现以下错误
An unexpected ElasticsearchSecurityException occured: Search Guard not
initialized (SG11) for indices:admin/exists
我尝试在各种链接的帮助下解决错误:
https://github.com/floragunncom/search-guard/issues/366
https://github.com/floragunncom/search-guard-docs/blob/master/sgadmin.md
https://groups.google.com/forum/#!msg/search-guard/kBwjU8JtTkk/5KShZiiwCQAJ
但是没有运气... 如果有人对解决错误有任何想法,请帮助我。 任何线索将不胜感激。
最佳答案
很可能您在 sgadmin 中使用的是节点证书,而不是管理员证书。或者您在 elasticsearch.yml 中将节点证书配置为管理员证书。
简而言之,sgadmin 需要一个单独的 TLS 证书,并且这个证书一定不能用作节点证书。请检查您的 elasticsearch.yml 中的以下部分:
searchguard.nodes_dn:
- 'CN=node.other.com,OU=SSL,O=Test,L=Test,C=DE'
- ...
和
searchguard.authcz.admin_dn:
- CN=admin,OU=SSL,O=Test,L=Test,C=DE
- ...
确保在 searchguard.authcz.admin_dn 中使用单独的证书。此证书不得列在 searchguard.nodes_dn 部分中。
执行 sgadmin 时,确保使用在 searchguard.authcz.admin_dn 中配置的证书。
关于elasticsearch - 索引 :admin/exists 的错误 Search Guard 未初始化 (SG11),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47594871/