0

Здравствуйте, я использую в django эластикулы для поиска индексированных документов, но у моего кластера нет никакого метода проверки подлинности, поэтому любой может получить доступ к моему ES-серверу из Интернета, есть ли способ установить ключ o auth-метод с использованием эластичных заказ на единственные серверы с ключом может запросить сервер ES?Python flexibleutils http-аутентификация или ключ api?

Что-то, вероятно, searchly или ключи амазонки API,

ответ

0

Есть несколько способов защиты кластера ES.

Самый простой способ - установить плагин, такой как elasticsearch-http-basic, чтобы защитить ваш кластер. Вы можете настроить его с помощью комбо BASIC username/password, а затем просто нужно настроить elasticutils, чтобы передать эти учетные данные BASIC вместе с базовым ES-клиентом, предоставленным библиотекой elasticsearch-py.

При вызове get_es(...) вам просто нужно добавить http_auth параметр, который будет передан вместе с Elasticsearch конструктору, как это:

es_client = get_es(urls=['localhost:9200'], http_auth="username:password") 

Другой способ скрыть свой ES кластер за веб-сервер, как Apache или Nginx , но это более активное участие, чем вышеупомянутое решение.

Вы также можете использовать Shield, просто знаете, что это коммерческий продукт.

+0

@EMILIOCRUZ, вам повезло с этим? – Val

+0

Большое спасибо @val, да, он работает отлично, хотя я установил плагин для экрана в моем es_server, 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 –