Skip to content

Commit 67592e5

Browse files
authored
[DOCS] Adds security content in the Elasticsearch Reference (#47934)
1 parent e71cb81 commit 67592e5

39 files changed

+166
-280
lines changed

docs/reference/index.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ include::frozen-indices.asciidoc[]
6868

6969
include::rest-api/index.asciidoc[]
7070

71-
include::security/index.asciidoc[]
71+
include::{xes-repo-dir}/security/index.asciidoc[]
7272

7373
include::{xes-repo-dir}/watcher/index.asciidoc[]
7474

docs/reference/security/index.asciidoc

Lines changed: 0 additions & 18 deletions
This file was deleted.

docs/reference/settings/license-settings.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
You can configure this licensing setting in the `elasticsearch.yml` file.
99
For more information, see
10-
{xpack-ref}/license-management.html[{xpack} License Management].
10+
{stack-ov}/license-management.html[License management].
1111

1212
`xpack.license.self_generated.type`::
1313
Set to `basic` (default) to enable basic {xpack} features. +

docs/reference/settings/security-settings.asciidoc

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ See <<password-hashing-algorithms>>. Defaults to `bcrypt`.
6969
[[anonymous-access-settings]]
7070
==== Anonymous access settings
7171
You can configure the following anonymous access settings in
72-
`elasticsearch.yml`. For more information, see {stack-ov}/anonymous-access.html[
73-
Enabling anonymous access].
72+
`elasticsearch.yml`. For more information, see <<anonymous-access>>.
7473

7574
`xpack.security.authc.anonymous.username`::
7675
The username (principal) of the anonymous user. Defaults to `_es_anonymous_user`.
@@ -120,8 +119,7 @@ Defaults to `48h` (48 hours).
120119

121120
You can set the following document and field level security
122121
settings in `elasticsearch.yml`. For more information, see
123-
{stack-ov}/field-and-document-access-control.html[Setting up document and field
124-
level security].
122+
<<field-and-document-access-control>>.
125123

126124
`xpack.security.dls_fls.enabled`::
127125
Set to `false` to prevent document and field level security
@@ -206,7 +204,7 @@ xpack.security.authc.realms:
206204
----------------------------------------
207205

208206
The valid settings vary depending on the realm type. For more
209-
information, see {stack-ov}/setting-up-authentication.html[Setting up authentication].
207+
information, see <<setting-up-authentication>>.
210208

211209
[float]
212210
[[ref-realm-settings]]
@@ -245,8 +243,8 @@ Defaults to `ssha256`.
245243

246244
`authentication.enabled`:: If set to `false`, disables authentication support in
247245
this realm, so that it only supports user lookups.
248-
(See the {stack-ov}/run-as-privilege.html[run as] and
249-
{stack-ov}/realm-chains.html#authorization_realms[authorization realms] features).
246+
(See the <<run-as-privilege,run as>> and
247+
<<authorization_realms,authorization realms>> features).
250248
Defaults to `true`.
251249

252250
[[ref-users-settings]]
@@ -261,7 +259,7 @@ the following settings:
261259
`cache.ttl`::
262260
The time-to-live for cached user entries. A user and a hash of its credentials
263261
are cached for this configured period of time. Defaults to `20m`. Specify values
264-
using the standard {es} {ref}/common-options.html#time-units[time units].
262+
using the standard {es} <<time-units,time units>>.
265263
Defaults to `20m`.
266264

267265
`cache.max_users`::
@@ -274,8 +272,8 @@ user credentials. See <<cache-hash-algo>>. Defaults to `ssha256`.
274272

275273
`authentication.enabled`:: If set to `false`, disables authentication support in
276274
this realm, so that it only supports user lookups.
277-
(See the {stack-ov}/run-as-privilege.html[run as] and
278-
{stack-ov}/realm-chains.html#authorization_realms[authorization realms] features).
275+
(See the <<run-as-privilege,run as>> and
276+
<<authorization_realms,authorization realms>> features).
279277
Defaults to `true`.
280278

281279
[[ref-ldap-settings]]
@@ -326,14 +324,14 @@ The DN template that replaces the user name with the string `{0}`.
326324
This setting is multivalued; you can specify multiple user contexts.
327325
Required to operate in user template mode. If `user_search.base_dn` is specified,
328326
this setting is not valid. For more information on
329-
the different modes, see {stack-ov}/ldap-realm.html[LDAP realms].
327+
the different modes, see <<ldap-realm>>.
330328

331329
`authorization_realms`::
332330
The names of the realms that should be consulted for delegated authorization.
333331
If this setting is used, then the LDAP realm does not perform role mapping and
334332
instead loads the user from the listed realms. The referenced realms are
335333
consulted in the order that they are defined in this list.
336-
See {stack-ov}/realm-chains.html#authorization_realms[Delegating authorization to another realm]
334+
See <<authorization_realms>>.
337335
+
338336
--
339337
NOTE: If any settings starting with `user_search` are specified, the
@@ -350,7 +348,7 @@ to `memberOf`.
350348
Specifies a container DN to search for users. Required
351349
to operated in user search mode. If `user_dn_templates` is specified, this
352350
setting is not valid. For more information on
353-
the different modes, see {stack-ov}/ldap-realm.html[LDAP realms].
351+
the different modes, see <<ldap-realm>>.
354352

355353
`user_search.scope`::
356354
The scope of the user search. Valid values are `sub_tree`, `one_level` or
@@ -423,12 +421,12 @@ the filter. If not set, the user DN is passed into the filter. Defaults to Empt
423421
If set to `true`, the names of any unmapped LDAP groups are used as role names
424422
and assigned to the user. A group is considered to be _unmapped_ if it is not
425423
referenced in a
426-
{stack-ov}/mapping-roles.html#mapping-roles-file[role-mapping file]. API-based
424+
<<mapping-roles-file,role-mapping file>>. API-based
427425
role mappings are not considered. Defaults to `false`.
428426

429427
`files.role_mapping`::
430-
The <<security-files,location>> for the {stack-ov}/mapping-roles.html#mapping-roles[
431-
YAML role mapping configuration file]. Defaults to
428+
The <<security-files,location>> for the
429+
<<mapping-roles,YAML role mapping configuration file>>. Defaults to
432430
`ES_PATH_CONF/role_mapping.yml`.
433431

434432
`follow_referrals`::
@@ -545,8 +543,8 @@ in-memory cached user credentials. See <<cache-hash-algo>>. Defaults to `ssha256
545543

546544
`authentication.enabled`:: If set to `false`, disables authentication support in
547545
this realm, so that it only supports user lookups.
548-
(See the {stack-ov}/run-as-privilege.html[run as] and
549-
{stack-ov}/realm-chains.html#authorization_realms[authorization realms] features).
546+
(See the <<run-as-privilege,run as>> and
547+
<<authorization_realms,authorization realms>> features).
550548
Defaults to `true`.
551549

552550
[[ref-ad-settings]]
@@ -786,7 +784,7 @@ Java Cryptography Architecture documentation]. Defaults to the value of
786784
`cache.ttl`::
787785
Specifies the time-to-live for cached user entries. A user and a hash of its
788786
credentials are cached for this configured period of time. Use the
789-
standard Elasticsearch {ref}/common-options.html#time-units[time units]).
787+
standard Elasticsearch <<time-units,time units>>).
790788
Defaults to `20m`.
791789

792790
`cache.max_users`::
@@ -799,8 +797,8 @@ the in-memory cached user credentials. See <<cache-hash-algo>>. Defaults to `ssh
799797

800798
`authentication.enabled`:: If set to `false`, disables authentication support in
801799
this realm, so that it only supports user lookups.
802-
(See the {stack-ov}/run-as-privilege.html[run as] and
803-
{stack-ov}/realm-chains.html#authorization_realms[authorization realms] features).
800+
(See the <<run-as-privilege,run as>> and
801+
<<authorization_realms,authorization realms>> features).
804802
Defaults to `true`.
805803

806804
`follow_referrals`::
@@ -841,19 +839,19 @@ for SSL. This setting cannot be used with `certificate_authorities`.
841839

842840
`files.role_mapping`::
843841
Specifies the <<security-files,location>> of the
844-
{stack-ov}/mapping-roles.html[YAML role mapping configuration file].
842+
<<mapping-roles,YAML role mapping configuration file>>.
845843
Defaults to `ES_PATH_CONF/role_mapping.yml`.
846844

847845
`authorization_realms`::
848846
The names of the realms that should be consulted for delegated authorization.
849847
If this setting is used, then the PKI realm does not perform role mapping and
850848
instead loads the user from the listed realms.
851-
See {stack-ov}/realm-chains.html#authorization_realms[Delegating authorization to another realm]
849+
See <<authorization_realms>>.
852850

853851
`cache.ttl`::
854852
Specifies the time-to-live for cached user entries. A user and a hash of its
855853
credentials are cached for this period of time. Use the
856-
standard {es} {ref}/common-options.html#time-units[time units]).
854+
standard {es} <<time-units,time units>>).
857855
Defaults to `20m`.
858856

859857
`cache.max_users`::
@@ -973,7 +971,7 @@ provided by the SAML attributes. Defaults to `true`.
973971
The names of the realms that should be consulted for delegated authorization.
974972
If this setting is used, then the SAML realm does not perform role mapping and
975973
instead loads the user from the listed realms.
976-
See {stack-ov}/realm-chains.html#authorization_realms[Delegating authorization to another realm]
974+
See <<authorization_realms>>.
977975

978976
`allowed_clock_skew`::
979977
The maximum amount of skew that can be tolerated between the IdP's clock and the
@@ -987,7 +985,7 @@ authenticate the current user. The Authentication Context of the corresponding
987985
authentication response should contain at least one of the requested values.
988986
+
989987
For more information, see
990-
{stack-ov}/saml-guide-authentication.html#req-authn-context[Requesting specific authentication methods].
988+
<<req-authn-context>>.
991989

992990
[float]
993991
[[ref-saml-signing-settings]]
@@ -1221,7 +1219,7 @@ cache at any given time. Defaults to 100,000.
12211219
The names of the realms that should be consulted for delegated authorization.
12221220
If this setting is used, then the Kerberos realm does not perform role mapping and
12231221
instead loads the user from the listed realms.
1224-
See {stack-ov}/realm-chains.html#authorization_realms[Delegating authorization to another realm]
1222+
See <<authorization_realms>>.
12251223

12261224
[float]
12271225
[[load-balancing]]
@@ -1264,7 +1262,7 @@ endif::[]
12641262

12651263
You can configure the following TLS/SSL settings in
12661264
`elasticsearch.yml`. For more information, see
1267-
{stack-ov}/encrypting-communications.html[Encrypting communications]. These
1265+
<<encrypting-communications>>. These
12681266
settings are used unless they have been overridden by more specific
12691267
settings such as those for HTTP or Transport.
12701268

@@ -1422,7 +1420,7 @@ keystore files. See <<fips-140-compliance>>.
14221420
[[pkcs12-truststore-note]]
14231421
[NOTE]
14241422
Storing trusted certificates in a PKCS#12 file, although supported, is
1425-
uncommon in practice. The {ref}/certutil.html[`elasticsearch-certutil`] tool,
1423+
uncommon in practice. The <<certutil,`elasticsearch-certutil`>> tool,
14261424
as well as Java's `keytool`, are designed to generate PKCS#12 files that
14271425
can be used both as a keystore and as a truststore, but this may not be the
14281426
case for container files that are created using other tools. Usually,
@@ -1509,7 +1507,7 @@ See also <<remote-audit-settings>>.
15091507
[[ip-filtering-settings]]
15101508
==== IP filtering settings
15111509

1512-
You can configure the following settings for {stack-ov}/ip-filtering.html[IP filtering].
1510+
You can configure the following settings for <<ip-filtering,IP filtering>>.
15131511

15141512
`xpack.security.transport.filter.allow`::
15151513
List of IP addresses to allow.

docs/reference/setup/install/docker.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ https://github.com/elastic/elasticsearch/blob/{branch}/distribution/docker[Githu
1111

1212
These images are free to use under the Elastic license. They contain open source
1313
and free commercial features and access to paid commercial features.
14-
{xpack-ref}/license-management.html[Start a 30-day trial] to try out all of the
14+
{stack-ov}/license-management.html[Start a 30-day trial] to try out all of the
1515
paid commercial features. See the
1616
https://www.elastic.co/subscriptions[Subscriptions] page for information about
1717
Elastic license levels.

docs/reference/setup/setup-xes.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ monitoring, reporting, machine learning, and many other capabilities. By default
77
when you install {es}, {xpack} is installed.
88

99
If you want to try all of the {xpack} features, you can
10-
{xpack-ref}/license-management.html[start a 30-day trial]. At the end of the
10+
{stack-ov}/license-management.html[start a 30-day trial]. At the end of the
1111
trial period, you can purchase a subscription to keep using the full
1212
functionality of the {xpack} components. For more information, see
1313
https://www.elastic.co/subscriptions.

x-pack/docs/en/security/auditing/event-types.asciidoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ The following is a list of the events that can be generated:
1818
realm type.
1919
| `access_denied` | | | Logged when an authenticated user attempts to execute
2020
an action they do not have the necessary
21-
<<security-reference, privilege>> to perform.
21+
<<security-privileges,privilege>> to perform.
2222
| `access_granted` | | | Logged when an authenticated user attempts to execute
2323
an action they have the necessary privilege to perform.
2424
When the `system_access_granted` event is included, all system
@@ -28,7 +28,7 @@ The following is a list of the events that can be generated:
2828
another user that they have the necessary privileges to do.
2929
| `run_as_denied` | | | Logged when an authenticated user attempts to <<run-as-privilege, run as>>
3030
another user action they do not have the necessary
31-
<<security-reference, privilege>> to do so.
31+
<<security-privileges,privilege>> to do so.
3232
| `tampered_request` | | | Logged when the {security-features} detect that the request has
3333
been tampered with. Typically relates to `search/scroll`
3434
requests when the scroll ID is believed to have been

x-pack/docs/en/security/authentication/index.asciidoc

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,7 @@ include::native-realm.asciidoc[]
1212
include::pki-realm.asciidoc[]
1313
include::saml-realm.asciidoc[]
1414
include::kerberos-realm.asciidoc[]
15-
16-
include::{xes-repo-dir}/security/authentication/custom-realm.asciidoc[]
17-
18-
include::{xes-repo-dir}/security/authentication/anonymous-access.asciidoc[]
19-
20-
include::{xes-repo-dir}/security/authentication/user-cache.asciidoc[]
21-
22-
include::{xes-repo-dir}/security/authentication/saml-guide.asciidoc[]
15+
include::custom-realm.asciidoc[]
16+
include::anonymous-access.asciidoc[]
17+
include::user-cache.asciidoc[]
18+
include::saml-guide.asciidoc[]

x-pack/docs/en/security/authentication/saml-guide.asciidoc

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ configure the HTTP interface to use SSL/TLS before you can enable SAML
9090
authentication.
9191

9292
For more information, see
93-
{ref}/configuring-tls.html#tls-http[Encrypting HTTP Client Communications].
93+
<<tls-http>>.
9494

9595
[[saml-enable-token]]
9696
==== Enable the token service
@@ -378,7 +378,7 @@ successfully authenticated, the Authentication Statement of the SAML Response
378378
contains an indication of the restrictions that were satisfied.
379379

380380
You can define the Authentication Context Class Reference values by using the `req_authn_context_class_ref` option in the SAML realm configuration. See
381-
{ref}/security-settings.html#ref-saml-settings[SAML realm settings].
381+
<<ref-saml-settings>>.
382382

383383
{es} supports only the `exact` comparison method for the Authentication Context.
384384
When it receives the Authentication Response from the IdP, {es} examines the
@@ -496,7 +496,7 @@ You should consult the documentation for your IdP to determine what formats they
496496
support. Since PEM format is the most commonly supported format, the examples
497497
below will generate certificates in that format.
498498

499-
Using the {ref}/certutil.html[`elasticsearch-certutil`] tool, you can generate a
499+
Using the <<certutil,`elasticsearch-certutil`>> tool, you can generate a
500500
signing certificate with the following command:
501501

502502
[source, sh]
@@ -536,7 +536,7 @@ The path to the PEM formatted key file. e.g. `saml/saml-sign.key`
536536

537537
`signing.secure_key_passphrase`::
538538
The passphrase for the key, if the file is encrypted. This is a
539-
{ref}/secure-settings.html[secure setting] that must be set with the
539+
<<secure-settings,secure setting>> that must be set with the
540540
`elasticsearch-keystore` tool.
541541

542542
If you wish to use *PKCS#12 formatted* files or a *Java Keystore* for
@@ -550,7 +550,7 @@ The alias of the key within the keystore. e.g. `signing-key`
550550

551551
`signing.keystore.secure_password`::
552552
The passphrase for the keystore, if the file is encrypted. This is a
553-
{ref}/secure-settings.html[secure setting] that must be set with the
553+
<<secure-settings,secure setting>> that must be set with the
554554
`elasticsearch-keystore` tool.
555555

556556
If you wish to sign some, but not all outgoing *SAML messages*, then you
@@ -587,7 +587,7 @@ The path to the PEM formatted key file. e.g. `saml/saml-crypt.key`
587587

588588
`encryption.secure_key_passphrase`::
589589
The passphrase for the key, if the file is encrypted. This is a
590-
{ref}/secure-settings.html[secure setting] that must be set with the
590+
<<secure-settings,secure setting>> that must be set with the
591591
`elasticsearch-keystore` tool.
592592

593593
If you wish to use *PKCS#12 formatted* files or a *Java Keystore* for SAML
@@ -601,7 +601,7 @@ The alias of the key within the keystore. e.g. `encryption-key`
601601

602602
`encryption.keystore.secure_password`::
603603
The passphrase for the keystore, if the file is encrypted. This is a
604-
{ref}/secure-settings.html[secure setting] that must be set with the
604+
<<secure-settings,secure setting>> that must be set with the
605605
`elasticsearch-keystore` tool.
606606

607607
[[saml-sp-metadata]]
@@ -614,7 +614,7 @@ between the IdP and the SP.
614614
The Elastic Stack supports generating such a metadata file using the
615615
`bin/elasticsearch-saml-metadata` command in your {es} directory.
616616

617-
The {ref}/saml-metadata.html[documentation for the elasticsearch-saml-metadata utility]
617+
The <<saml-metadata,documentation for the elasticsearch-saml-metadata utility>>
618618
describes how to run it, and the available command line options.
619619

620620
[[saml-role-mapping]]
@@ -626,10 +626,10 @@ access any data.
626626

627627
Your SAML users cannot do anything until they are assigned roles. This can be done
628628
through either the
629-
{ref}/security-api-put-role-mapping.html[add role mapping API], or with
629+
<<security-api-put-role-mapping,add role mapping API>> or with
630630
<<authorization_realms, authorization realms>>.
631631

632-
NOTE: You cannot use {stack-ov}/mapping-roles.html#mapping-roles-file[role mapping files]
632+
NOTE: You cannot use <<mapping-roles-file,role mapping files>>
633633
to grant roles to users authenticating via SAML.
634634

635635
This is an example of a simple role mapping that grants the `kibana_user` role
@@ -662,7 +662,7 @@ mapping are derived from the SAML attributes as follows:
662662
- `metadata`: See <<saml-user-metadata>>
663663

664664
For more information, see <<mapping-roles>> and
665-
{ref}/security-api.html#security-role-mapping-apis[role mapping APIs].
665+
<<security-role-mapping-apis>>.
666666

667667
If your IdP has the ability to provide groups or roles to Service Providers,
668668
then you should map this SAML attribute to the `attributes.groups` setting in
@@ -879,5 +879,5 @@ Additionally, different security domains have different security requirements th
879879
specific configuration to be satisfied.
880880
A conscious effort has been made to mask this complexity with sane defaults and the detailed
881881
documentation above but in case you encounter issues while configuring a SAML realm, you can
882-
look through our {stack-ov}/trb-security-saml.html[SAML troubleshooting documentation] that has
882+
look through our <<trb-security-saml,SAML troubleshooting documentation>> that has
883883
suggestions and resolutions for common issues.

0 commit comments

Comments
 (0)