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, просто знайте, что это коммерческий продукт.

Другие вопросы по тегам