The easiest way to manage and authenticate users is with the internal
realm. You can use the REST APIs or Kibana to add and remove users, assign user
roles, and manage user passwords.
The native realm is available and enabled by default. You can disable it explicitly with the following snippet.
xpack.security.authc.realms.native.native1: enabled: false
You can configure a
native realm in the
Explicitly configuring a native realm enables you to set the order in which it
appears in the realm chain, temporarily disable the realm, and control its
Add a realm configuration to
xpack.security.authc.realms.nativenamespace. It is recommended that you explicitly set the
orderattribute for the realm.
You can configure only one native realm on Elasticsearch nodes.
See Native realm settings for all of the options you can set for the
nativerealm. For example, the following snippet shows a
nativerealm configuration that sets the
orderto zero so the realm is checked first:
xpack.security.authc.realms.native.native1: order: 0
To limit exposure to credential theft and mitigate credential compromise, the native realm stores passwords and caches user credentials according to security best practices. By default, a hashed version of user credentials is stored in memory, using a salted
sha-256hash algorithm and a hashed version of passwords is stored on disk salted and hashed with the
bcrypthash algorithm. To use different hash algorithms, see User cache and password hash algorithms.
- Restart Elasticsearch.