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é.
Réponses
Trop de publicités?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 .
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.
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.
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