[role="xpack"] [[security-api]] == Security APIs To use the security APIs, you must set `xpack.security.enabled` to `true` in the `elasticsearch.yml` file. Use the following APIs to perform security activities. * <> * <> * <> * <> * <> * <> * <> [discrete] [[security-api-app-privileges]] === Application privileges Use the following APIs to add, update, retrieve, and remove application privileges: * <> * <> * <> * <> [discrete] [[security-role-mapping-apis]] === Role mappings Use the following APIs to add, remove, update, and retrieve role mappings: * <> * <> * <> [discrete] [[security-role-apis]] === Roles Use the following APIs to add, remove, update, and retrieve roles in the native realm: * <> * <> * <> * <> [discrete] [[security-token-apis]] === Tokens Use the following APIs to create and invalidate bearer tokens for access without requiring basic authentication: * <> * <> [discrete] [[security-api-keys]] === API Keys Use the following APIs to create and update API keys for access via the REST interface without requiring basic authentication: * <> * <> * <> * <> beta:[] Use the following APIs to create and update cross-cluster API keys for <>: * <> * <> Use the following APIs to retrieve and invalidate API keys of all types: * <> * <> * <> * <> [discrete] [[security-user-apis]] === Users Use the following APIs to add, remove, update, or retrieve users in the native realm: * <> * <> * <> * <> * <> * <> [discrete] [[security-service-account-apis]] === Service Accounts Use the following APIs to list service accounts and manage the service tokens: * <> * <> * <> * <> [discrete] [[security-openid-apis]] === OpenID Connect 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 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 Use the following APIs to enable new nodes to join an existing cluster with security enabled, or to enable a {kib} instance to configure itself to communicate with a secured {es} cluster. * <> * <> [discrete] [[security-user-profile-apis]] === User Profile Use the following APIs to retrieve and manage user profiles. * <> * <> * <> * <> * <> * <> * <> 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-kibana.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-user-privileges.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/query-api-key.asciidoc[] include::security/update-api-key.asciidoc[] include::security/bulk-update-api-keys.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-complete-logout-api.asciidoc[] include::security/saml-sp-metadata.asciidoc[] include::security/ssl.asciidoc[] include::security/activate-user-profile.asciidoc[] include::security/disable-user-profile.asciidoc[] include::security/enable-user-profile.asciidoc[] include::security/get-user-profile.asciidoc[] include::security/suggest-user-profile.asciidoc[] include::security/update-user-profile-data.asciidoc[] include::security/has-privileges-user-profile.asciidoc[] include::security/create-cross-cluster-api-key.asciidoc[] include::security/update-cross-cluster-api-key.asciidoc[]