В этой статье (а также в книгах и других источниках информации о ES) утверждается, что ES стоит за прокси-сервисом:
Очень распространенная ошибка, которую явидите, люди говорят: «Привет, Elasticsearch - это REST over HTTP, давайте просто получим к нему доступ напрямую из наших умных клиентов HTML».Ну, вы действительно не хотите этого делать.
Есть одностраничное приложение, которое должно запрашивать Elastic и получать JSON для отображения?Пропустите его через программный фасад, который может выполнять фильтрацию запросов, аудит-запись и, самое главное, защищать ваши данные паролем.
Без этого (а) вы наверняка привязываетесь к общедоступному IP-адресу и не должны't, (b) вы рискуете нежелательными изменениями ваших данных, (c) и худшим - вы не можете контролировать, кто получает доступ к тому, что и все ваши данные видимы для всеобщего обозрения.То, что происходит сейчас с этими кластерами Elasticsearch.
Кроме того, не раскрывайте документ и структуру индекса и не соединяйте своего тонкого клиента с системой хранения данных, обслуживающей его данные.Ваш javascript на стороне клиента действительно не должен говорить на Elastic DSL.
Ваши клиенты должны взаимодействовать с вашим программным обеспечением на стороне сервера, которое, в свою очередь, преобразует все запросы на стороне клиента в Elasticsearch DSL, выполняет запрос, а затемвыборочно трансформируйте ответ Elasticsearch обратно в то, чего ожидают ваши клиенты.И, очевидно, ваше серверное приложение может затем проверять логин пользователя, когда это необходимо для аутентификации и авторизации его действий с данными, задолго до того, как будет получен какой-либо доступ к Elasticsearch.Выполнение этого любым другим способом просто подвергает вас ненужному риску, а ваши данные - жадным хакерам.
Я полностью согласен со всеми сказанными здесь вещами, когда запускаю свою собственную ES в частном облаке.Но что вы обычно делаете, когда запускаете его на AWS?Я совершенно новичок во всем мире, где нет серверов, и недавно я наткнулся на видеоролики Учебника Google Firebase, в которых люди утверждали, что могут делать запросы от клиента непосредственно к БД.Это часто встречается и в AWS?