Support builtin privileges in get privileges API (#42134)

Adds a new "/_security/privilege/_builtin" endpoint so that builtin
index and cluster privileges can be retrieved via the Rest API

Resolves: #29771
This commit is contained in:
Tim Vernum 2019-07-03 15:55:50 +10:00 committed by GitHub
parent bb130f554e
commit 539a1202b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 704 additions and 49 deletions

View file

@ -0,0 +1,27 @@
--
:api: get-builtin-privileges
:request: GetBuiltinPrivilegesRequest
:response: GetBuiltinPrivilegesResponse
--
[id="{upid}-{api}"]
=== Get Builtin Privileges API
include::../execution-no-req.asciidoc[]
[id="{upid}-{api}-response"]
==== Get Builtin Privileges Response
The returned +{response}+ contains the following properties
`clusterPrivileges`::
A `Set` of all _cluster_ privileges that are understood by this node.
`indexPrivileges`::
A `Set` of all _index_ privileges that are understood by this node.
["source","java",subs="attributes,callouts,macros"]
--------------------------------------------------
include-tagged::{doc-tests-file}[{api}-response]
--------------------------------------------------

View file

@ -418,6 +418,7 @@ The Java High Level REST Client supports the following Security APIs:
* <<java-rest-high-security-delete-role-mapping>>
* <<java-rest-high-security-create-token>>
* <<{upid}-invalidate-token>>
* <<{upid}-get-builtin-privileges>>
* <<{upid}-get-privileges>>
* <<{upid}-put-privileges>>
* <<{upid}-delete-privileges>>
@ -435,6 +436,7 @@ include::security/put-role.asciidoc[]
include::security/get-roles.asciidoc[]
include::security/delete-role.asciidoc[]
include::security/delete-privileges.asciidoc[]
include::security/get-builtin-privileges.asciidoc[]
include::security/get-privileges.asciidoc[]
include::security/clear-roles-cache.asciidoc[]
include::security/clear-realm-cache.asciidoc[]
@ -582,4 +584,4 @@ include::dataframe/put_data_frame.asciidoc[]
include::dataframe/delete_data_frame.asciidoc[]
include::dataframe/preview_data_frame.asciidoc[]
include::dataframe/start_data_frame.asciidoc[]
include::dataframe/stop_data_frame.asciidoc[]
include::dataframe/stop_data_frame.asciidoc[]