You need Nginx as a reverse proxy ACL manager for your Elasticsearch cluster if:
- You are using AWS Elasticsearch. You would have
noticed by now that as of this writing their Kibana UI does not come with X-Pack plugins for
Role based access controls. This means that
all the users in your org can:
- Create/read/update/delete searches, visualizations, dashboards.
- Mess around with the admin controls.
- Conversely if you run your own Elasticsearch cluster and you want to try out simple multi-level ACL (read-only, normal and admin user) without paying for the X-Pack feature, then you will need to put something in between your users and Kibana UI to allow/block operations.
This is the setup. Follow the README and profit. Check nginx/config/kibana.conf for details on how I implemented the ACLs. Basically it was a cycle of going through the calls made by Kibana UI and blocking/allowing the right calls for the right users. Simple and effective.