security.asciidoc 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. [role="xpack"]
  2. [[security-api]]
  3. == Security APIs
  4. .New API reference
  5. [sidebar]
  6. --
  7. For the most up-to-date API details, refer to {api-es}/group/endpoint-security[Security APIs].
  8. --
  9. To use the security APIs, you must set `xpack.security.enabled` to `true` in
  10. the `elasticsearch.yml` file.
  11. Use the following APIs to perform security activities.
  12. * <<security-api-authenticate>>
  13. * <<security-api-clear-cache>>
  14. * <<security-api-delegate-pki-authentication>>
  15. * <<security-api-has-privileges>>
  16. * <<security-api-ssl>>
  17. * <<security-api-get-builtin-privileges>>
  18. * <<security-api-get-settings>>
  19. * <<security-api-update-settings>>
  20. * <<security-api-get-user-privileges>>
  21. [discrete]
  22. [[security-api-app-privileges]]
  23. === Application privileges
  24. Use the following APIs to add, update, retrieve, and remove application
  25. privileges:
  26. * <<security-api-put-privileges,Create or update privileges>>
  27. * <<security-api-clear-privilege-cache,Clear privileges cache>>
  28. * <<security-api-delete-privilege,Delete privileges>>
  29. * <<security-api-get-privileges,Get privileges>>
  30. [discrete]
  31. [[security-role-mapping-apis]]
  32. === Role mappings
  33. Use the following APIs to add, remove, update, and retrieve role mappings:
  34. * <<security-api-put-role-mapping,Create or update role mappings>>
  35. * <<security-api-delete-role-mapping,Delete role mappings>>
  36. * <<security-api-get-role-mapping,Get role mappings>>
  37. [discrete]
  38. [[security-role-apis]]
  39. === Roles
  40. Use the following APIs to add, remove, update, and retrieve roles in the native realm:
  41. * <<security-api-put-role,Create or update roles>>
  42. * <<security-api-bulk-put-role, Bulk create or update roles>>
  43. * <<security-api-clear-role-cache,Clear roles cache>>
  44. * <<security-api-delete-role,Delete roles>>
  45. * <<security-api-bulk-delete-role, Bulk delete roles>>
  46. * <<security-api-get-role,Get roles>>
  47. * <<security-api-query-role,Query roles>>
  48. [discrete]
  49. [[security-token-apis]]
  50. === Tokens
  51. Use the following APIs to create and invalidate bearer tokens for access
  52. without requiring basic authentication:
  53. * <<security-api-get-token,Get token>>
  54. * <<security-api-invalidate-token,Invalidate token>>
  55. [discrete]
  56. [[security-api-keys]]
  57. === API Keys
  58. Use the following APIs to create and update API keys for access via the REST interface
  59. without requiring basic authentication:
  60. * <<security-api-create-api-key,Create REST API key>>
  61. * <<security-api-grant-api-key,Grant REST API key>>
  62. * <<security-api-update-api-key,Update REST API key>>
  63. * <<security-api-bulk-update-api-keys,Bulk update REST API keys>>
  64. Use the following APIs to create and update cross-cluster API keys for
  65. <<remote-clusters-api-key,API key based remote cluster access>>:
  66. * <<security-api-create-cross-cluster-api-key,Create Cross-Cluster API key>>
  67. * <<security-api-update-cross-cluster-api-key,Update Cross-Cluster API key>>
  68. Use the following APIs to retrieve and invalidate API keys of all types:
  69. * <<security-api-get-api-key,Get API key>>
  70. * <<security-api-invalidate-api-key,Invalidate API key>>
  71. * <<security-api-query-api-key,Query API key>>
  72. * <<security-api-clear-api-key-cache,Clear API key cache>>
  73. [discrete]
  74. [[security-user-apis]]
  75. === Users
  76. Use the following APIs to add, remove, update, or retrieve users in the
  77. native realm:
  78. * <<security-api-put-user,Create or update users>>
  79. * <<security-api-change-password,Change passwords>>
  80. * <<security-api-delete-user,Delete users>>
  81. * <<security-api-disable-user,Disable users>>
  82. * <<security-api-enable-user,Enable users>>
  83. * <<security-api-get-user,Get users>>
  84. * <<security-api-query-user,Query users>>
  85. [discrete]
  86. [[security-service-account-apis]]
  87. === Service Accounts
  88. Use the following APIs to list service accounts and manage the service tokens:
  89. * <<security-api-get-service-accounts>>
  90. * <<security-api-create-service-token>>
  91. * <<security-api-delete-service-token>>
  92. * <<security-api-get-service-credentials>>
  93. [discrete]
  94. [[security-openid-apis]]
  95. === OpenID Connect
  96. Use the following APIs to authenticate users against an OpenID Connect
  97. authentication realm when using a custom web application other than Kibana
  98. * <<security-api-oidc-prepare-authentication, Prepare an authentication request>>
  99. * <<security-api-oidc-authenticate, Submit an authentication response>>
  100. * <<security-api-oidc-logout, Logout an authenticated user>>
  101. [discrete]
  102. [[security-saml-apis]]
  103. === SAML
  104. Use the following APIs to authenticate users against a SAML authentication
  105. realm when using a custom web application other than Kibana
  106. * <<security-api-saml-prepare-authentication, Prepare an authentication request>>
  107. * <<security-api-saml-authenticate, Submit an authentication response>>
  108. * <<security-api-saml-logout, Logout an authenticated user>>
  109. * <<security-api-saml-invalidate, Submit a logout request from the IdP>>
  110. * <<security-api-saml-complete-logout, Verify a logout response from the IdP>>
  111. * <<security-api-saml-sp-metadata,Generate SAML metadata>>
  112. [discrete]
  113. [[security-enrollment-apis]]
  114. === Enrollment
  115. Use the following APIs to enable new nodes to join an existing cluster with
  116. security enabled, or to enable a {kib} instance to configure itself to
  117. communicate with a secured {es} cluster.
  118. * <<security-api-node-enrollment, Enroll a new node>>
  119. * <<security-api-kibana-enrollment, Enroll a new {kib} instance>>
  120. [discrete]
  121. [[security-user-profile-apis]]
  122. === User Profile
  123. Use the following APIs to retrieve and manage user profiles.
  124. * <<security-api-activate-user-profile, Activate user profile>>
  125. * <<security-api-get-user-profile, Get user profile>>
  126. * <<security-api-update-user-profile-data, Update user profile data>>
  127. * <<security-api-enable-user-profile, Enable user profile>>
  128. * <<security-api-disable-user-profile, Disable user profile>>
  129. * <<security-api-suggest-user-profile, Suggest user profile>>
  130. * <<security-api-has-privileges-user-profile, Has Privileges user profile>>
  131. include::security/authenticate.asciidoc[]
  132. include::security/change-password.asciidoc[]
  133. include::security/clear-cache.asciidoc[]
  134. include::security/clear-roles-cache.asciidoc[]
  135. include::security/clear-privileges-cache.asciidoc[]
  136. include::security/clear-api-key-cache.asciidoc[]
  137. include::security/clear-service-token-caches.asciidoc[]
  138. include::security/create-api-keys.asciidoc[]
  139. include::security/put-app-privileges.asciidoc[]
  140. include::security/create-role-mappings.asciidoc[]
  141. include::security/create-roles.asciidoc[]
  142. include::security/bulk-create-roles.asciidoc[]
  143. include::security/bulk-delete-roles.asciidoc[]
  144. include::security/create-users.asciidoc[]
  145. include::security/create-service-token.asciidoc[]
  146. include::security/delegate-pki-authentication.asciidoc[]
  147. include::security/delete-app-privileges.asciidoc[]
  148. include::security/delete-role-mappings.asciidoc[]
  149. include::security/delete-roles.asciidoc[]
  150. include::security/delete-service-token.asciidoc[]
  151. include::security/delete-users.asciidoc[]
  152. include::security/disable-users.asciidoc[]
  153. include::security/enable-users.asciidoc[]
  154. include::security/enroll-kibana.asciidoc[]
  155. include::security/enroll-node.asciidoc[]
  156. include::security/get-api-keys.asciidoc[]
  157. include::security/get-app-privileges.asciidoc[]
  158. include::security/get-builtin-privileges.asciidoc[]
  159. include::security/get-role-mappings.asciidoc[]
  160. include::security/get-roles.asciidoc[]
  161. include::security/query-role.asciidoc[]
  162. include::security/get-service-accounts.asciidoc[]
  163. include::security/get-service-credentials.asciidoc[]
  164. include::security/get-settings.asciidoc[]
  165. include::security/get-tokens.asciidoc[]
  166. include::security/get-user-privileges.asciidoc[]
  167. include::security/get-users.asciidoc[]
  168. include::security/grant-api-keys.asciidoc[]
  169. include::security/has-privileges.asciidoc[]
  170. include::security/invalidate-api-keys.asciidoc[]
  171. include::security/invalidate-tokens.asciidoc[]
  172. include::security/oidc-prepare-authentication-api.asciidoc[]
  173. include::security/oidc-authenticate-api.asciidoc[]
  174. include::security/oidc-logout-api.asciidoc[]
  175. include::security/query-api-key.asciidoc[]
  176. include::security/query-user.asciidoc[]
  177. include::security/update-api-key.asciidoc[]
  178. include::security/update-settings.asciidoc[]
  179. include::security/bulk-update-api-keys.asciidoc[]
  180. include::security/saml-prepare-authentication-api.asciidoc[]
  181. include::security/saml-authenticate-api.asciidoc[]
  182. include::security/saml-logout-api.asciidoc[]
  183. include::security/saml-invalidate-api.asciidoc[]
  184. include::security/saml-complete-logout-api.asciidoc[]
  185. include::security/saml-sp-metadata.asciidoc[]
  186. include::security/ssl.asciidoc[]
  187. include::security/activate-user-profile.asciidoc[]
  188. include::security/disable-user-profile.asciidoc[]
  189. include::security/enable-user-profile.asciidoc[]
  190. include::security/get-user-profile.asciidoc[]
  191. include::security/suggest-user-profile.asciidoc[]
  192. include::security/update-user-profile-data.asciidoc[]
  193. include::security/has-privileges-user-profile.asciidoc[]
  194. include::security/create-cross-cluster-api-key.asciidoc[]
  195. include::security/update-cross-cluster-api-key.asciidoc[]