Skip to content

Commit 7308486

Browse files
committed
* 'master' of https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin: Fixes sscarduzio#61 Update README.md Update README.md # Conflicts: # README.md
2 parents b31cb9b + 3db740c commit 7308486

File tree

1 file changed

+13
-23
lines changed

1 file changed

+13
-23
lines changed

README.md

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ readonlyrest:
3737
actions: [cluster:*, indices:data/read/*]
3838
indices: ["<no-index>", "product_catalogue-*"] # index aliases are taken in account!
3939
```
40+
The `<no-index>` is for matching those generic requests that don't actually involve an index (e.g. get cluster state). More about this in the [wiki](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/wiki/Supported-Rules#a-note-on-no-index).
4041

4142
**USE CASE 2: Multiuser Kibana + Authenticated Logstash (various permission levels)**
4243
```yml
@@ -74,12 +75,14 @@ elasticsearch.password: "passwd3"
7475
```
7576
The users connecting from their browsers will be asked to login separately anyways.
7677
78+
**Now activate authenticatoin in Logstash**: [(follow the docs, it's very similar to Kibana!)](https://www.elastic.co/guide/en/shield/current/logstash.html#ls-http-auth-basic)
79+
7780
##### 4. restart elastic search
7881
7982
**For other use cases and finer access control** have a look at [the full list of supported rules](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/wiki/Supported-Rules)
8083
8184
82-
### News
85+
### Changelog
8386
> 2016-04-26 :new: v1.9.3: Tighter Kibana access rule + Indices rule supports <no-index> (for cluster commands, etc) useful for restricting Kibana rules to certain indices only (see example 2)
8487
8588
> 2016-04-26 :new: v1.9.2: bugfix release
@@ -104,13 +107,7 @@ The users connecting from their browsers will be asked to login separately anywa
104107

105108
* v1.9.3 for Elasticsearch 2.3.2 [elasticsearch-readonlyrest-v1.9.3_es-v2.3.2.zip](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/blob/master/download/elasticsearch-readonlyrest-v1.9.3_es-v2.3.2.zip?raw=true)
106109

107-
* v1.9.1 for Elasticsearch 2.3.1 [elasticsearch-readonlyrest-v1.9.1_es-v2.3.1.zip](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/blob/master/download/elasticsearch-readonlyrest-v1.9.1_es-v2.3.1.zip?raw=true)
108-
109-
* v1.9.1 for Elasticsearch 2.3.0 [elasticsearch-readonlyrest-v1.9.1_es-v2.3.0.zip](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/blob/master/download/elasticsearch-readonlyrest-v1.9.1_es-v2.3.0.zip?raw=true)
110-
111-
* v1.9.1 for Elasticsearch 2.2.* is not recommended because of a [bug in ES](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/issues/35)
112-
113-
Plugin releases for **earlier versions of Elasticsearch** (may not include all the features) are available in the [download](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/blob/master/download) folder.
110+
Releases for **earlier versions of Elasticsearch** (may not include all the features) are available in the [download](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/blob/master/download) folder.
114111

115112
**If you need a build for a specific ES version, just open an issue!**
116113

@@ -119,18 +116,18 @@ Plugin releases for **earlier versions of Elasticsearch** (may not include all t
119116
#### Lightweight security :rocket:
120117
Other security plugins are replacing the high performance, Netty based, embedded REST API of Elasticsearch with Tomcat, Jetty or other cumbersome XML based JEE madness.
121118

122-
This plugin instead is just a lightweight HTTP request filtering layer.
119+
This plugin instead is just a lightweight filtering layer.
123120

124121
#### Less moving parts
125-
Some suggest to spin up a new HTTP proxy (Varnish, NGNix, HAProxy) between ES and clients to prevent malicious access. This is a bad idea for two reasons:
126-
- You're introducing more moving parts, your architecure gains complexity.
127-
- Reasoning about security at HTTP level is risky and less granular controlling access at the internal ES protocol level.
122+
Some suggest to spin up a new HTTP proxy (Varnish, NGNix, HAProxy) between ES and clients to prevent malicious access. This is a **bad idea** for two reasons:
123+
- You're introducing more complexity in your architecture.
124+
- Reasoning about security at HTTP level is risky, flaky and less granular than controlling access at the internal ElasticSearch protocol level.
128125

129126
> The only clean way to do the access control is AFTER ElasticSearch has parsed the queries.
130127

131-
Just set a few rules with this plugin and confidently open for the external world.
128+
Just set a few rules with this plugin and confidently open it up to the external world.
132129

133-
#### A Simpler, flexible access control list (ACL)
130+
#### An easy, flexible access control list
134131
Build your ACL from simple building blocks (rules) i.e.:
135132

136133
##### IP level Rules
@@ -142,21 +139,14 @@ Build your ACL from simple building blocks (rules) i.e.:
142139
* ```accept_x-forwarded-for_header``` interpret the ```X-Forwarded-For``` header as origin host (useful for AWS ELB and other reverse proxies)
143140
* ```auth_key``` HTTP Basic auth.
144141

145-
##### ElasticSearch level rules
142+
##### ElasticSearch internal protocol level rules
146143
* ```indices``` indices (aliases and wildcards work)
147144
* ```actions``` list of ES [actions](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/wiki/Supported-Rules#actions-and-apis) (e.g. "cluster:*" , "indices:data/write/*", "indices:data/read*")
148145

149146
##### ElasticSearh level macro-rules
150147
* ```kibana_access``` captures the read-only, read-only + new visualizations/dashboards, read-write use cases of Kibana.
151148

152-
153-
See the (full list of supported rules)[Supported-Rules] for more info on how to use them.
154-
155-
156-
#### Custom response body
157-
Optionally provide a string to be returned as the body of 403 (FORBIDDEN) HTTP response. If not provided, the descriptive "name" field of the matched block will be shown (good for debug!).
158-
159-
## Extra
149+
## All the available rules in detail
160150
* [List of ACL block rules supported](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/wiki/Supported-Rules)
161151
* [List of Actions and their meaning](https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin/wiki/Supported-Rules#actions-and-apis)
162152

0 commit comments

Comments
 (0)