Безопасно ли получить доступ к Elasticseach с клиента, не проходя через сервер API? - PullRequest
0 голосов
/ 11 января 2019

Например, предположим, вы внедрили следующий код Javascript в Vue.js или React.js.

var elasticsearch = require ('elasticsearch');
var esclient = new elasticsearch.Client ({
   host: 'Elasticsearch host name of Elascticsearch Cloud's(URL?')
   });
   esclient.search ({
         index: 'your index',
           body: {
             query: {
              match: {message: 'search keyword'}
   },
   aggs: {
       your_states: {
          terms: {
            field: 'your field',
            size: 10
           }
         }
       }
    }
  }
 ).then (function (response) {
       var hits = response.hits.hits;
 }
);

При нацеливании на поисковую систему такого приложения, как stackoverflow, если только GET от общественности в порядке, используя настройку ROLE облака Elasticseach, Хотя я не готовил сервер API, я думал, что то же самое можно реализовать с помощью приведенного выше кода на стороне клиента, Это проблема безопасности? (Например, опасно ли падение имени хоста на стороне клиента)

Если проблем нет, реакция поисковой системы будет быстрее, а стоимость внедрения будет снижена, Я задавался вопросом, почему многие люди не делают этого. (Потому что пример кода, подобного этому, не может быть замечен в сети)

Спасибо.

1 Ответ

0 голосов
/ 11 января 2019

Это НЕ хорошая идея.

Если какой-либо клиент, имеющий немного знаний в области программирования, обнаружит наш IP-адрес ElasticSearch, вы облажались, он может удалить все данные, даже не заметив вас.

Я не понимаю, что такое XPack Security, но если вы не используете его, вы абсолютно обязаны скрывать ES за API.

Тогда вам также необходимо защитить свой домен ES, чтобы разрешить доступ только с сервера API и заблокировать остальной мир.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...