OpenSearch/docs/en/security/authorization/run-as-privilege.asciidoc
Tim Vernum e69c5d4d48 Add secure_bind_password to LDAP realm (elastic/x-pack-elasticsearch#4192)
Adds a SecureSetting option for the "bind_password" in LDAP/AD realms
and deprecates the non-secure version.

LDAP bind passwords should now be configured with the setting
`xpack.security.authc.realms.REALM_NAME.secure_bind_password`
in the elasticsearch keystore.

Original commit: elastic/x-pack-elasticsearch@1a0cebd77e
2018-03-29 16:31:45 +10:00

34 lines
1.5 KiB
Plaintext

[[run-as-privilege]]
=== Submitting Requests on Behalf of Other Users
{security} supports a permission that enables an authenticated user to submit
requests on behalf of other users. If your application already authenticates
users, you can use the _run as_ mechanism to restrict data access according to
{security} permissions without having to re-authenticate each user through.
To "run as" (impersonate) another user, you must be able to retrieve the user from
the realm you use to authenticate. Both the internal `native` and `file` realms
support this out of the box. The LDAP realm must be configured to run in
<<ldap-user-search, _user search_ mode>>. The Active Directory realm must be
<<ad-settings,configured with a `bind_dn` and `secure_bind_password`>> to support
_run as_. The PKI realm does not support _run as_.
To submit requests on behalf of other users, you need to have the `run_as`
permission. For example, the following role grants permission to submit request
on behalf of `jacknich` or `redeniro`:
[source,js]
---------------------------------------------------
{
"run_as" : [ "jacknich", "rdeniro" ]
}
---------------------------------------------------
To submit a request as another user, you specify the user in the
`es-security-runas-user` request header. For example:
[source,shell]
---------------------------------------------------
curl -H "es-security-runas-user: jacknich" -u es_admin -XGET 'http://localhost:9200/'
---------------------------------------------------