78 votes

Authentification dans Elasticsearch

Comment définir un accès sécurisé dans Elasticsearch ? J'ai le plugin elasticsearch-head mais votre accès ne nécessite aucune sécurité.

64voto

imotov Points 15513

Il n'y a pas de contrôle d'accès intégré dans elasticsearch. Vous devez donc configurer un proxy inverse ou utiliser l'un des plugins elasticsearch tiers tels que https://github.com/Asquera/elasticsearch-http-basic ou https://github.com/sonian/elasticsearch-jetty .

6voto

salyh Points 543

Peut-être que cela vous aidera : https://github.com/salyh/elasticsearch-security-plugin

Ce plugin ajoute la fonctionnalité de sécurité http/rest à Elasticsearch sous forme de modules séparés. Au lieu de Netty, un Tomcat 7 intégré est utilisé pour traiter les demandes http/rest.

Actuellement, pour l'authentification et l'autorisation basées sur l'utilisateur, Kerberos et NTLM sont pris en charge par la bibliothèque tierce waffle (uniquement sur les serveurs Windows). Pour les serveurs UNIX, Kerberos est pris en charge par la bibliothèque tierce tomcatspnegoad (fonctionne avec toute implémentation de Kerberos). Pour l'autorisation, Active Directory et LDAP générique sont supportés).

Vous pouvez également utiliser ce plugin sans Kerberos/NTLM mais dans ce cas, seule l'authentification basée sur l'hôte est disponible.

3voto

Felix Points 351

Si vous voulez utiliser l'authentification de base avec Kibana3, voici ma solution :

https://github.com/fangli/kibana-authentication-proxy

Supporte non seulement basicAuth ES backend, mais aussi GoogleOAuth et BasicAuth pour le client. Merci de donner une étoile si cela fonctionne pour vous, merci.

2voto

wjimenez5271 Points 116

En ce qui concerne une solution spécifique à ce problème, je suis tombé sur ce qui suit qui est une mise en œuvre simple d'une approche de proxy inverse comme mentionné dans d'autres réponses :

https://gist.github.com/jpluscplusm/9227777

À titre de mise en garde, il semble qu'au moins certains chez Elasticsearch proprement dit ne considèrent pas nginx comme la solution optimale, mais je pense que cela dépend des spécificités de vos exigences en matière d'authentification (RBAC, nombre d'utilisateurs, nombre d'index, fréquence des modifications des listes d'accès). Pour certains utilisateurs (dont moi-même), le premier exemple est suffisant.

http://www.elasticsearch.org/blog/restricting-users-kibana-filtered-aliases/

Si vous trouvez que vos exigences spécifiques ne sont pas satisfaites par nginx, quelque chose comme ceci pourrait fonctionner : https://github.com/lukas-vlcek/node.es

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X