我检查了elasticsearch:7的文档。但是仍然没有找到强制pythonES
包使用我的kerberos令牌的方法。
我可以通过浏览器到达ES
,curl
(curl --negotiate -u
)和requests
与requests_kerberos
(与相互OPTIONAL
配置),但与python elasticsearch包调用一个简单的es.cat.health()
我得到401
AuthenticationException
…
我的问题是:
- 我哪里错了,我错过了什么?
- 是否有可能强制ES python库使用kerberos,或者它在底层工作?
Thanks in advance.
似乎我们已经找到了解决方案,但基本上不是从文档。
我在文档中读到Elasticsearch
对象可以接收http_auth
输入,但不幸的是,我没有找到它到底在等待什么。
因此,您可以强制Elasticsearch
使用requests_kerberos
库中的HTTPKerberosAuth
类,就像您可以对一个简单的get请求使用它一样>
es = Elasticsearch(<host>, http_auth=HTTPKerberosAuth(mutual_authentication=OPTIONAL))
它运行良好,但欢迎任何其他建议,知识分享或评论。