security.asciidoc 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. [role="xpack"]
  2. [[security-api]]
  3. == Security APIs
  4. To use the security APIs, you must set `xpack.security.enabled` to `true` in
  5. the `elasticsearch.yml` file.
  6. You can use the following APIs to perform security activities.
  7. * <<security-api-authenticate>>
  8. * <<security-api-clear-cache>>
  9. * <<security-api-delegate-pki-authentication>>
  10. * <<security-api-has-privileges>>
  11. * <<security-api-ssl>>
  12. * <<security-api-get-builtin-privileges>>
  13. [discrete]
  14. [[security-api-app-privileges]]
  15. === Application privileges
  16. You can use the following APIs to add, update, retrieve, and remove application
  17. privileges:
  18. * <<security-api-put-privileges,Create or update privileges>>
  19. * <<security-api-clear-privilege-cache,Clear privileges cache>>
  20. * <<security-api-delete-privilege,Delete privileges>>
  21. * <<security-api-get-privileges,Get privileges>>
  22. [discrete]
  23. [[security-role-mapping-apis]]
  24. === Role mappings
  25. You can use the following APIs to add, remove, update, and retrieve role mappings:
  26. * <<security-api-put-role-mapping,Create or update role mappings>>
  27. * <<security-api-delete-role-mapping,Delete role mappings>>
  28. * <<security-api-get-role-mapping,Get role mappings>>
  29. [discrete]
  30. [[security-role-apis]]
  31. === Roles
  32. You can use the following APIs to add, remove, update, and retrieve roles in the native realm:
  33. * <<security-api-put-role,Create or update roles>>
  34. * <<security-api-clear-role-cache,Clear roles cache>>
  35. * <<security-api-delete-role,Delete roles>>
  36. * <<security-api-get-role,Get roles>>
  37. [discrete]
  38. [[security-token-apis]]
  39. === Tokens
  40. You can use the following APIs to create and invalidate bearer tokens for access
  41. without requiring basic authentication:
  42. * <<security-api-get-token,Get token>>
  43. * <<security-api-invalidate-token,Invalidate token>>
  44. [discrete]
  45. [[security-api-keys]]
  46. === API Keys
  47. You can use the following APIs to create, retrieve and invalidate API keys for access
  48. without requiring basic authentication:
  49. * <<security-api-create-api-key,Create API key>>
  50. * <<security-api-get-api-key,Get API key>>
  51. * <<security-api-invalidate-api-key,Invalidate API key>>
  52. * <<security-api-clear-api-key-cache,Clear API key cache>>
  53. * <<security-api-grant-api-key,Grant API key>>
  54. [discrete]
  55. [[security-user-apis]]
  56. === Users
  57. You can use the following APIs to add, remove, update, or retrieve users in the
  58. native realm:
  59. * <<security-api-put-user,Create or update users>>
  60. * <<security-api-change-password,Change passwords>>
  61. * <<security-api-delete-user,Delete users>>
  62. * <<security-api-disable-user,Disable users>>
  63. * <<security-api-enable-user,Enable users>>
  64. * <<security-api-get-user,Get users>>
  65. [discrete]
  66. [[security-service-account-apis]]
  67. === Service Accounts
  68. You can use the following APIs to list service accounts and manage the service tokens:
  69. * <<security-api-get-service-accounts>>
  70. * <<security-api-create-service-token>>
  71. * <<security-api-delete-service-token>>
  72. * <<security-api-get-service-credentials>>
  73. [discrete]
  74. [[security-openid-apis]]
  75. === OpenID Connect
  76. You can use the following APIs to authenticate users against an OpenID Connect
  77. authentication realm when using a custom web application other than Kibana
  78. * <<security-api-oidc-prepare-authentication, Prepare an authentication request>>
  79. * <<security-api-oidc-authenticate, Submit an authentication response>>
  80. * <<security-api-oidc-logout, Logout an authenticated user>>
  81. [discrete]
  82. [[security-saml-apis]]
  83. === SAML
  84. You can use the following APIs to authenticate users against a SAML authentication
  85. realm when using a custom web application other than Kibana
  86. * <<security-api-saml-prepare-authentication, Prepare an authentication request>>
  87. * <<security-api-saml-authenticate, Submit an authentication response>>
  88. * <<security-api-saml-logout, Logout an authenticated user>>
  89. * <<security-api-saml-invalidate, Submit a logout request from the IdP>>
  90. * <<security-api-saml-sp-metadata,Generate SAML metadata>>
  91. [discrete]
  92. [[security-enrollment-apis]]
  93. === Enrollment
  94. You can use the following APIs to allow new nodes to join an existing cluster with
  95. security enabled or to allow a client to configure itself to communicate with
  96. a secured {es} cluster
  97. * <<security-api-node-enrollment, Enroll a new node>>
  98. include::security/authenticate.asciidoc[]
  99. include::security/change-password.asciidoc[]
  100. include::security/clear-cache.asciidoc[]
  101. include::security/clear-roles-cache.asciidoc[]
  102. include::security/clear-privileges-cache.asciidoc[]
  103. include::security/clear-api-key-cache.asciidoc[]
  104. include::security/clear-service-token-caches.asciidoc[]
  105. include::security/create-api-keys.asciidoc[]
  106. include::security/put-app-privileges.asciidoc[]
  107. include::security/create-role-mappings.asciidoc[]
  108. include::security/create-roles.asciidoc[]
  109. include::security/create-users.asciidoc[]
  110. include::security/create-service-token.asciidoc[]
  111. include::security/delegate-pki-authentication.asciidoc[]
  112. include::security/delete-app-privileges.asciidoc[]
  113. include::security/delete-role-mappings.asciidoc[]
  114. include::security/delete-roles.asciidoc[]
  115. include::security/delete-service-token.asciidoc[]
  116. include::security/delete-users.asciidoc[]
  117. include::security/disable-users.asciidoc[]
  118. include::security/enable-users.asciidoc[]
  119. include::security/enroll-node.asciidoc[]
  120. include::security/get-api-keys.asciidoc[]
  121. include::security/get-app-privileges.asciidoc[]
  122. include::security/get-builtin-privileges.asciidoc[]
  123. include::security/get-role-mappings.asciidoc[]
  124. include::security/get-roles.asciidoc[]
  125. include::security/get-service-accounts.asciidoc[]
  126. include::security/get-service-credentials.asciidoc[]
  127. include::security/get-tokens.asciidoc[]
  128. include::security/get-users.asciidoc[]
  129. include::security/grant-api-keys.asciidoc[]
  130. include::security/has-privileges.asciidoc[]
  131. include::security/invalidate-api-keys.asciidoc[]
  132. include::security/invalidate-tokens.asciidoc[]
  133. include::security/oidc-prepare-authentication-api.asciidoc[]
  134. include::security/oidc-authenticate-api.asciidoc[]
  135. include::security/oidc-logout-api.asciidoc[]
  136. include::security/saml-prepare-authentication-api.asciidoc[]
  137. include::security/saml-authenticate-api.asciidoc[]
  138. include::security/saml-logout-api.asciidoc[]
  139. include::security/saml-invalidate-api.asciidoc[]
  140. include::security/saml-sp-metadata.asciidoc[]
  141. include::security/ssl.asciidoc[]