Pythonasticutils HTTP аутентификация или API-ключ?
Здравствуйте! В настоящее время я использую asticutils в django для поиска в индексированных документах, но в моем кластере нет метода аутентификации, поэтому любой может получить доступ к моему ES-серверу из Интернета, есть ли способ установить ключ o auth для эластичного метода, чтобы только серверы с ключом могут запрашивать ES сервер?
Что-то скорее всего поисковик или амазонка api's
1 ответ
Есть несколько способов защитить ваш кластер ES.
Самый простой способ - установить плагин, такой как asticsearch-http-basic, для защиты вашего кластера. Вы можете настроить его с помощью комбинированного имени пользователя и пароля BASIC, а затем просто настроить эластичные параметры для передачи этих учетных данных BASIC базовому клиенту ES, предоставленному библиотекой asticsearch -py.
При звонке get_es(...)
вам просто нужно добавить http_auth
параметр, который будет передан в Elasticsearch
конструктор, как это:
es_client = get_es(urls=['localhost:9200'], http_auth="username:password")
Другой способ - скрыть кластер ES за веб-сервером, таким как Apache или Nginx, но он более сложен, чем приведенное выше решение.
Вы также можете использовать Shield, просто знайте, что это коммерческий продукт.