| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- [role="xpack"]
- [[securing-aliases]]
- === Granting privileges for data streams and aliases
- {es} {security-features} allow you to secure operations executed against
- <<data-streams,data streams>> and <<aliases,aliases>>.
- [[data-stream-privileges]]
- ==== Data stream privileges
- // tag::data-stream-security[]
- Use <<privileges-list-indices,index privileges>> to control access to a data
- stream. Granting privileges on a data stream grants the same privileges on its
- backing indices.
- // end::data-stream-security[]
- For example, `my-data-stream` consists of two backing indices:
- `.ds-my-data-stream-2099.03.07-000001` and
- `.ds-my-data-stream-2099.03.08-000002`.
- A user is granted the `read` privilege to `my-data-stream`.
- [source,js]
- --------------------------------------------------
- {
- "names" : [ "my-data-stream" ],
- "privileges" : [ "read" ]
- }
- --------------------------------------------------
- // NOTCONSOLE
- Because the user is automatically granted the same privileges to the stream's
- backing indices, the user can retrieve a document directly from
- `.ds-my-data-stream-2099.03.08-000002`:
- ////
- [source,console]
- ----
- PUT my-index/_doc/2
- {
- "my-field": "foo"
- }
- ----
- ////
- [source,console]
- ----
- GET .ds-my-data-stream-2099.03.08-000002/_doc/2
- ----
- // TEST[continued]
- // TEST[s/.ds-my-data-stream-2099.03.08-000002/my-index/]
- Later `my-data-stream` <<manually-roll-over-a-data-stream,rolls over>>. This
- creates a new backing index: `.ds-my-data-stream-2099.03.09-000003`. Because the
- user still has the `read` privilege for `my-data-stream`, the user can retrieve
- documents directly from `.ds-my-data-stream-2099.03.09-000003`:
- [source,console]
- ----
- GET .ds-my-data-stream-2099.03.09-000003/_doc/2
- ----
- // TEST[continued]
- // TEST[s/.ds-my-data-stream-2099.03.09-000003/my-index/]
- [[index-alias-privileges]]
- ==== Alias privileges
- Use <<privileges-list-indices,index privileges>> to control access to an
- <<aliases,alias>>. Privileges on an index or data stream do not grant privileges
- on its aliases. For information about managing aliases, see <<aliases>>.
- IMPORTANT: Don't use <<filter-alias,filtered aliases>> in place of
- <<document-level-security,document level security>>. {es} doesn't always apply
- alias filters.
- For example, the `current_year` alias points only to the `2015` index. A user is
- granted the `read` privilege for the `2015` index.
- [source,js]
- ----
- {
- "names" : [ "2015" ],
- "privileges" : [ "read" ]
- }
- ----
- // NOTCONSOLE
- When the user attempts to retrieve a document from the `current_year` alias,
- {es} rejects the request.
- [source,console]
- ----
- GET current_year/_doc/1
- ----
- // TEST[s/^/PUT 2015\n{"aliases": {"current_year": {}}}\nPUT 2015\/_doc\/1\n{}\n/]
- To retrieve documents from `current_year`, the user must have the `read` index
- privilege for the alias.
- [source,js]
- ----
- {
- "names" : [ "current_year" ],
- "privileges" : [ "read" ]
- }
- ----
- // NOTCONSOLE
|