我用X-Pack和Kibana 8.2.2在本地安装了Elasticsearch,并使它运行起来。我还用Spring和Java创建了一个新项目,它将与Elasticsearch连接。当第一次运行Elasticsearch时,它将为http和传输层创建一个证书。
我想使用Spring中的证书登录到Elasticsearch。因此我添加了elasticsearch-rest-client。我的问题是,我需要从Elasticsearch获得哪个证书才能连接到它并创建例如角色Map?这样我才有超级用户权限?
1条答案
按热度按时间brccelvz1#
引用documentation:
如果将Elasticsearch配置为要求客户机TLS验证(例如配置了PKI领域),则客户机需要在TLS握手期间提供客户机证书才能进行验证。以下是使用存储在PKCS#12密钥库中的证书和私钥设置客户机进行TLS验证的示例。
如果密钥库中没有客户机证书和密钥,而是以PEM编码文件的形式提供,则不能直接使用它们来构建SSLContext。必须依靠外部库将PEM密钥解析为PrivateKey示例。或者,可以使用外部工具从PEM文件构建密钥库,如下例所示:
openssl pkcs12 -export -in client.crt -inkey private_key.pem -name "client" -out client.p12
如何设置PKI用户认证有一个多页的文档,你最好使用一个特定的Elasticsearch版本。当前版本可以在https://www.elastic.co/guide/en/elasticsearch/reference/current/pki-realm.html上找到,但请将URL中的
current
替换为任何你想使用的次要版本(如8.6
)。PS:PKI认证是白金licensed feature。但是你当然可以用30天的免费试用来设置它,看看它是如何工作的。