mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-25 07:37:19 -04:00
HLRC: Create/Update role mapping API (#34171)
We added support for role mapper expression DSL in #33745, that allows us to build the role mapper expression used in the role mapping (as rules for determining user roles based on what the boolean expression resolves to). This change now adds support for create/update role mapping API to the high-level rest client.
This commit is contained in:
parent
55dee53046
commit
a4c302067e
12 changed files with 569 additions and 4 deletions
53
docs/java-rest/high-level/security/put-role-mapping.asciidoc
Normal file
53
docs/java-rest/high-level/security/put-role-mapping.asciidoc
Normal file
|
@ -0,0 +1,53 @@
|
|||
[[java-rest-high-security-put-role-mapping]]
|
||||
=== Put Role Mapping API
|
||||
|
||||
[[java-rest-high-security-put-role-mapping-execution]]
|
||||
==== Execution
|
||||
|
||||
Creating and updating a role mapping can be performed using the `security().putRoleMapping()`
|
||||
method:
|
||||
|
||||
["source","java",subs="attributes,callouts,macros"]
|
||||
--------------------------------------------------
|
||||
include-tagged::{doc-tests}/SecurityDocumentationIT.java[put-role-mapping-execute]
|
||||
--------------------------------------------------
|
||||
|
||||
[[java-rest-high-security-put-role-mapping-response]]
|
||||
==== Response
|
||||
|
||||
The returned `PutRoleMappingResponse` contains a single field, `created`. This field
|
||||
serves as an indication if a role mapping was created or if an existing entry was updated.
|
||||
|
||||
["source","java",subs="attributes,callouts,macros"]
|
||||
--------------------------------------------------
|
||||
include-tagged::{doc-tests}/SecurityDocumentationIT.java[put-role-mapping-response]
|
||||
--------------------------------------------------
|
||||
<1> `created` is a boolean indicating whether the role mapping was created or updated
|
||||
|
||||
[[java-rest-high-security-put-role-mapping-async]]
|
||||
==== Asynchronous Execution
|
||||
|
||||
This request can be executed asynchronously using the `security().putRoleMappingAsync()`
|
||||
method:
|
||||
|
||||
["source","java",subs="attributes,callouts,macros"]
|
||||
--------------------------------------------------
|
||||
include-tagged::{doc-tests}/SecurityDocumentationIT.java[put-role-mapping-execute-async]
|
||||
--------------------------------------------------
|
||||
<1> The `PutRoleMappingResponse` to execute and the `ActionListener` to use when
|
||||
the execution completes
|
||||
|
||||
The asynchronous method does not block and returns immediately. Once the request
|
||||
has completed the `ActionListener` is called back using the `onResponse` method
|
||||
if the execution successfully completed or using the `onFailure` method if
|
||||
it failed.
|
||||
|
||||
A typical listener for a `PutRoleMappingResponse` looks like:
|
||||
|
||||
["source","java",subs="attributes,callouts,macros"]
|
||||
--------------------------------------------------
|
||||
include-tagged::{doc-tests}/SecurityDocumentationIT.java[put-role-mapping-execute-listener]
|
||||
--------------------------------------------------
|
||||
<1> Called when the execution is successfully completed. The response is
|
||||
provided as an argument
|
||||
<2> Called in case of failure. The raised exception is provided as an argument
|
|
@ -306,12 +306,14 @@ The Java High Level REST Client supports the following Security APIs:
|
|||
* <<java-rest-high-security-disable-user>>
|
||||
* <<java-rest-high-security-change-password>>
|
||||
* <<java-rest-high-security-get-certificates>>
|
||||
* <<java-rest-high-security-put-role-mapping>>
|
||||
|
||||
include::security/put-user.asciidoc[]
|
||||
include::security/enable-user.asciidoc[]
|
||||
include::security/disable-user.asciidoc[]
|
||||
include::security/change-password.asciidoc[]
|
||||
include::security/get-certificates.asciidoc[]
|
||||
include::security/put-role-mapping.asciidoc[]
|
||||
|
||||
== Watcher APIs
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue