elasticsearch/docs/reference/rest-api/security/get-roles.asciidoc
James Rodewig 255c9a7f95
[DOCS] Move x-pack docs to docs/reference dir (#99209)
**Problem:**
For historical reasons, source files for the Elasticsearch Guide's security, watcher, and Logstash API docs are housed in the `x-pack/docs` directory. This can confuse new contributors who expect Elasticsearch Guide docs to be located in `docs/reference`. 

**Solution:**
- Move the security, watcher, and Logstash API doc source files to the `docs/reference` directory
- Update doc snippet tests to use security

Rel: https://github.com/elastic/platform-docs-team/issues/208
2023-09-12 14:53:41 -04:00

93 lines
2.3 KiB
Text

[role="xpack"]
[[security-api-get-role]]
=== Get roles API
++++
<titleabbrev>Get roles</titleabbrev>
++++
Retrieves roles in the native realm.
[[security-api-get-role-request]]
==== {api-request-title}
`GET /_security/role` +
`GET /_security/role/<name>` +
[[security-api-get-role-prereqs]]
==== {api-prereq-title}
* To use this API, you must have at least the `read_security` cluster privilege.
[[security-api-get-role-desc]]
==== {api-description-title}
The role management APIs are generally the preferred way to manage roles, rather than using
<<roles-management-file,file-based role management>>. The get roles
API cannot retrieve roles that are defined in roles files.
[[security-api-get-role-path-params]]
==== {api-path-parms-title}
`name`::
(Optional, string) The name of the role. You can specify multiple roles as a
comma-separated list. If you do not specify this parameter, the API
returns information about all roles.
[[security-api-get-role-response-body]]
==== {api-response-body-title}
A successful call returns an array of roles with the JSON representation of the
role.
[[security-api-get-role-response-codes]]
==== {api-response-codes-title}
If the role is not defined in the native realm, the request returns 404.
[[security-api-get-role-example]]
==== {api-examples-title}
The following example retrieves information about the `my_admin_role` role in
the native realm:
[source,console]
--------------------------------------------------
GET /_security/role/my_admin_role
--------------------------------------------------
// TEST[setup:admin_role]
[source,console-result]
--------------------------------------------------
{
"my_admin_role": {
"cluster" : [ "all" ],
"indices" : [
{
"names" : [ "index1", "index2" ],
"privileges" : [ "all" ],
"allow_restricted_indices" : false,
"field_security" : {
"grant" : [ "title", "body" ]}
}
],
"applications" : [ ],
"run_as" : [ "other_user" ],
"metadata" : {
"version" : 1
},
"transient_metadata": {
"enabled": true
}
}
}
--------------------------------------------------
To retrieve all roles, omit the role name:
[source,console]
--------------------------------------------------
GET /_security/role
--------------------------------------------------
// TEST[continued]