10 ответов:
плагин, упомянутый в этом ответе, больше не поддерживается активно.
в elasticsearch нет встроенного контроля доступа. Таким образом, вам нужно будет настроить обратный прокси (вот блоге как настроить сервер nginx), используйте одну из 3-й плагинов Elasticsearch в партии, такие как https://github.com/Asquera/elasticsearch-http-basic или использовать официальный плагин безопасности щит.
Elasticsearch теперь есть плагин безопасностиhttp://www.elasticsearch.org/blog/shield-know-security-coming-soon/
<shamelessPlug>Извините, но у меня есть серьезные сомнения по поводу всех этих плагинов и прокси, которые только пытаются захватить запросы с небрежным регулярным выражением на уровне HTTP.
будете ли вы regex все возможные синтаксис ES, которые могут выполнять запись? Как вы фильтруете по индексу? Как насчет псевдонимов индексов? Мульти-индекс запросов?
единственный чистый способ сделать контроль доступа после ElasticSearch имеет разбирал запросы. Это именно то, что щит делает после все!
Я написал лицензионный плагин MIT (readonly-rest-plugin), который делает именно это.
вы можете соответствовать запросу:
✔ name Имя хоста, IP и IP с маской сети
✔ Indices индексы (поддерживаются подстановочные знаки) и псевдонимы индексов разрешаются
✔️ базовой аутентификации http
Он также имеет поддержку первого класса для аутентификации Kibana :)
</shamelessPlug>
обновление: эта работа довольно хорошо и (для большинства функций) бесплатно и с открытым исходным кодом:https://github.com/floragunncom/search-guard
Примечание: плагин, упомянутый в этой статье, больше не поддерживается
может быть, это помогает:https://github.com/salyh/elasticsearch-security-plugin
этот плагин добавляет функциональность безопасности http / rest для Elasticsearch в виде отдельного модули. Вместо Netty для обработки запросов http/rest используется встроенный Tomcat 7.
В настоящее время для аутентификации и авторизации на основе пользователей Kerberos и NTLM поддерживаются через стороннюю библиотеку waffle (только на серверах windows). Для Unix сервера Kerberos поддерживается посредством 3-й партии библиотеки tomcatspnegoad (работает с любой реализации протокола Kerberos. Для авторизации поддерживается либо Active Directory, либо общий LDAP).
вы можете использовать этот плагин без Kerberos / NTLM, но тогда доступна только аутентификация на основе хоста.
Если вы хотите использовать обычную аутентификацию с Kibana3, вот мое решение:
https://github.com/fangli/kibana-authentication-proxy
поддержка не только проверку подлинности Эс backend, но также GoogleOAuth и проверку подлинности для клиента. Пожалуйста, дайте звезду, если это работает для вас, спасибо.
попробовать щит. Он имеет аутентификацию и авторизацию. А пока ему нужна лицензия. Не будет слишком долго, прежде чем люди создадут подобные плагины с открытым исходным кодом.
Я очень новичок в ElasticSearch, но я чувствую, что плагин X-Pack должен появиться здесь в качестве ответа: https://www.elastic.co/guide/en/x-pack/current/index.html
насколько я понимаю, X-Pack теперь является стандартом де-факто для обеспечения безопасности ElasticSearch (и многое другое), включая аутентификацию.
Что касается конкретного решения этой проблемы, я столкнулся со следующим, что является простой реализацией обратного прокси-подхода, как упоминалось в других ответах:
https://gist.github.com/jpluscplusm/9227777
как предостережение, кажется, что по крайней мере некоторые из Elasticsearch не считают nginx оптимальным решением, но я думаю, что это зависит от специфики ваших требований к аутентификации (RBAC, количество пользователей, количество индексов, частота изменений списка доступа). Для некоторых пользователей (включая меня) достаточно первого примера.
http://www.elasticsearch.org/blog/restricting-users-kibana-filtered-aliases/
Если вы обнаружите, что ваши требования специфики не отвечает nginx, что-то вроде этого может работать:https://github.com/lukas-vlcek/node.es
поскольку ElasticSearch-это своего рода служба базы данных, вы, вероятно, не захотите, чтобы она была открыта публично в любом случае.
Я не доверяю плагинам, чтобы сделать это для меня, поэтому я сделал с прокси-сервером nginx.
этот учебник очень и очень полезно:
единственный предпочтительный способ включить безопасность в Elasticsearch - через плагин X-Pack.
https://www.elastic.co/guide/en/x-pack/current/xpack-introduction.html
Это многофункциональный плагин и хорошо подойдет для целей безопасности, так как вы также можете использовать мониторинг и настраивать оповещения и уведомления в соответствии с вашими потребностями.
Как это уже высоко признано, я уверен, что Elasticsearch будет продолжать с этим для авторизоваться.
Comments