[role="xpack"] [[security-api]] == Security APIs To use the security APIs, you must set `xpack.security.enabled` to `true` in the `elasticsearch.yml` file. You can use the following APIs to perform security activities. * <> * <> * <> * <> * <> * <> [discrete] [[security-api-app-privileges]] === Application privileges You can use the following APIs to add, update, retrieve, and remove application privileges: * <> * <> * <> * <> [discrete] [[security-role-mapping-apis]] === Role mappings You can use the following APIs to add, remove, update, and retrieve role mappings: * <> * <> * <> [discrete] [[security-role-apis]] === Roles You can use the following APIs to add, remove, update, and retrieve roles in the native realm: * <> * <> * <> * <> [discrete] [[security-token-apis]] === Tokens You can use the following APIs to create and invalidate bearer tokens for access without requiring basic authentication: * <> * <> [discrete] [[security-api-keys]] === API Keys You can use the following APIs to create, retrieve and invalidate API keys for access without requiring basic authentication: * <> * <> * <> * <> * <> [discrete] [[security-user-apis]] === Users You can use the following APIs to add, remove, update, or retrieve users in the native realm: * <> * <> * <> * <> * <> * <> [discrete] [[security-service-account-apis]] === Service Accounts You can use the following APIs to list service accounts and manage the service tokens: * <> * <> * <> * <> [discrete] [[security-openid-apis]] === OpenID Connect You can use the following APIs to authenticate users against an OpenID Connect authentication realm when using a custom web application other than Kibana * <> * <> * <> [discrete] [[security-saml-apis]] === SAML You can use the following APIs to authenticate users against a SAML authentication realm when using a custom web application other than Kibana * <> * <> * <> * <> * <> [discrete] [[security-enrollment-apis]] === Enrollment You can use the following APIs to allow new nodes to join an existing cluster with security enabled or to allow a client to configure itself to communicate with a secured {es} cluster * <> include::security/authenticate.asciidoc[] include::security/change-password.asciidoc[] include::security/clear-cache.asciidoc[] include::security/clear-roles-cache.asciidoc[] include::security/clear-privileges-cache.asciidoc[] include::security/clear-api-key-cache.asciidoc[] include::security/clear-service-token-caches.asciidoc[] include::security/create-api-keys.asciidoc[] include::security/put-app-privileges.asciidoc[] include::security/create-role-mappings.asciidoc[] include::security/create-roles.asciidoc[] include::security/create-users.asciidoc[] include::security/create-service-token.asciidoc[] include::security/delegate-pki-authentication.asciidoc[] include::security/delete-app-privileges.asciidoc[] include::security/delete-role-mappings.asciidoc[] include::security/delete-roles.asciidoc[] include::security/delete-service-token.asciidoc[] include::security/delete-users.asciidoc[] include::security/disable-users.asciidoc[] include::security/enable-users.asciidoc[] include::security/enroll-node.asciidoc[] include::security/get-api-keys.asciidoc[] include::security/get-app-privileges.asciidoc[] include::security/get-builtin-privileges.asciidoc[] include::security/get-role-mappings.asciidoc[] include::security/get-roles.asciidoc[] include::security/get-service-accounts.asciidoc[] include::security/get-service-credentials.asciidoc[] include::security/get-tokens.asciidoc[] include::security/get-users.asciidoc[] include::security/grant-api-keys.asciidoc[] include::security/has-privileges.asciidoc[] include::security/invalidate-api-keys.asciidoc[] include::security/invalidate-tokens.asciidoc[] include::security/oidc-prepare-authentication-api.asciidoc[] include::security/oidc-authenticate-api.asciidoc[] include::security/oidc-logout-api.asciidoc[] include::security/saml-prepare-authentication-api.asciidoc[] include::security/saml-authenticate-api.asciidoc[] include::security/saml-logout-api.asciidoc[] include::security/saml-invalidate-api.asciidoc[] include::security/saml-sp-metadata.asciidoc[] include::security/ssl.asciidoc[]