0
你好我目前在Django中使用elasticutils来搜索索引文件,但我的集群没有任何身份验证方法,所以任何人都可以从互联网上访问我的ES服务器,有没有什么办法来设置一个密钥或auth方法与elasticutils in为了唯一的服务器与密钥可以查询到ES服务器?Python elasticutils http认证或API密钥?
东西可能searchly或亚马逊键API的
你好我目前在Django中使用elasticutils来搜索索引文件,但我的集群没有任何身份验证方法,所以任何人都可以从互联网上访问我的ES服务器,有没有什么办法来设置一个密钥或auth方法与elasticutils in为了唯一的服务器与密钥可以查询到ES服务器?Python elasticutils http认证或API密钥?
东西可能searchly或亚马逊键API的
有保护您的ES集群的几种方法。
最简单的方法是安装一个插件,如elasticsearch-http-basic以保护您的群集。您可以使用BASIC username/password组合对其进行配置,然后只需配置elasticutils即可将这些BASIC凭据传递给由elasticsearch-py库提供的底层ES客户端。
当调用get_es(...)
你只需要添加http_auth
参数将一起传递给Elasticsearch
构造是这样的:
es_client = get_es(urls=['localhost:9200'], http_auth="username:password")
另一种方法是躲在后面像Apache或Nginx的网络服务器的ES集群,但比上述解决方案涉及更多。
您也可以使用Shield,只是知道它是一种商业产品。
@EMILIOCRUZ你有什么运气吗? – Val
非常感谢@val,虽然我在es_server中安装了shield插件,但auth-method(es_client = get_es(urls = ['localhost:9200'],http_auth =“username:password”))建议我用盾牌正常工作。 https://www.elastic.co/guide/en/shield/current/enable-basic-auth.html –