From 2f1bf7c5648ae1907560d02038f89e91e1376d96 Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Mon, 17 Nov 2025 12:20:26 +0000 Subject: [PATCH 1/7] Add steps to configure document and field level security in Serverless Fixes [#426](https://github.com/elastic/docs-content-internal/issues/426) --- ...trolling-access-at-document-field-level.md | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md index 2d7f2dd4b8..1c0600d22c 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md @@ -198,6 +198,37 @@ The [set security user processor](elasticsearch://reference/enrich-processor/ing For more information, see [Ingest pipelines](/manage-data/ingest/transform-enrich/ingest-pipelines.md) and [Set security user](elasticsearch://reference/enrich-processor/ingest-node-set-security-user-processor.md). +### Configuring document-level security in {{serverless-short}} [document-level-serverless] +```{applies_to} +serverless: ga +``` + +As an administrator, you can create custom roles that enable users to access data and project features. When you create a custom role, you can assign {{es}} [cluster](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-es-cluster-privileges) and [index](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-es-index-privileges) privileges and [{{kib}}](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-kib-privileges) privileges. + +To configure document-level security (DLS), you create a custom role where you define the documents that this role grants access to, using the [QueryDSL](/explore-analyze/query-filter/languages/querydsl.md) syntax: + +1. Go to the **Custom Roles** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). +1. Select **Create role**. +1. Give your custom role a meaningful name and description. +1. In the **Index privileges** area, specify the data stream pattern, For example, enter `events-*`. +1. Enable the **Grant read privileges to specific documents** toggle and add your query using the QueryDSL syntax. + * For example, to allow read access only to documents that belong to the click category within all the events-* data streams, enter the following query: + ``` + { + "match" : { "category" : “click” } + } + ``` + * To allow read access only to the documents whose `department_id` equals 12, enter the following query: + ``` + { + "term" : { "department_id" : 12 } + } + ``` + +1. Optional: To grant this role access to {{kib}} spaces for feature access and visibility, click **Assign to this space**. Specify the level of access required and click **Assign role**. +1. Select **Create role** to save your custom role. + + ## Field level security [field-level-security] To enable field level security, specify the fields that each role can access as part of the indices permissions in a role definition. Field level security is thus bound to a well-defined set of data streams or indices (and potentially a set of [documents](../../../deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md)). From 39913509c41c1f8dff3f626729cd0f86dc64721c Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Mon, 17 Nov 2025 13:12:08 +0000 Subject: [PATCH 2/7] Added the steps for field-level security configuration + screenshots --- ...ustom-role-deny-field-level-privileges.png | Bin 0 -> 32533 bytes ...om-role-document-level-privileges-ex-1.png | Bin 0 -> 47742 bytes ...om-role-document-level-privileges-ex-2.png | Bin 0 -> 47196 bytes ...stom-role-grant-field-level-privileges.png | Bin 0 -> 48107 bytes ...trolling-access-at-document-field-level.md | 43 +++++++++++++++++- 5 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 deploy-manage/images/serverless-custom-role-deny-field-level-privileges.png create mode 100644 deploy-manage/images/serverless-custom-role-document-level-privileges-ex-1.png create mode 100644 deploy-manage/images/serverless-custom-role-document-level-privileges-ex-2.png create mode 100644 deploy-manage/images/serverless-custom-role-grant-field-level-privileges.png diff --git a/deploy-manage/images/serverless-custom-role-deny-field-level-privileges.png b/deploy-manage/images/serverless-custom-role-deny-field-level-privileges.png new file mode 100644 index 0000000000000000000000000000000000000000..5be85dd940490ec0e3f444962ea2064f309e448a GIT binary patch literal 32533 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 z®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 d^X2gWf!+~}u!p|BRP`v7PUbPD%AIX-X?p9y< z{!a`6jNoT!Um>m{ul-pX(kG)uwEXW8ip>Ux?Dd(CkFE5oT9Mh-g6A z*33Va1P?0r)wb5)FehlTe{_CTpvJ(-qx(d)+~I2l3_?VuRdn5g_xzB}IEaT!-fbvK zJ$HC*fJ6l`6f>X@UbnURN40F3a(gRwD9Z9+;lAXDwXbGUGUx@Y(zMn9w-MGt#x{shokE(fGEqX z(77w%xIG%5+hvmIMXOoi(WWr83imYPk;lGc{{=DQQhgf?7hE1)y?3*JtfU#y$0uIG z|E~t>LI$=CF-P{ej)ufat?HW5d6PG&Oi*8vvt)5 z4EUlZ1ukRi#{DlSA=N!gXSnEmpwG~-F%eMW!mLX3+{|YIEd8_+*DmOBuuHL77Qfxv zE}3hkgvnIa9RDTJ+g##|SMt^J7;m|b;S*}|iM+-McPa|h7%jv*sR{G234ANovrw@8M2{;3#avZy6tlttUq~3jtr2SV#G08NqDwQc3Pov%h4o9?p}0M(m;uNpwK}&T8KjQPzORL z4O+ia>;!_OJpi4A$Rk{0Mwo^iQ+P@4@!LJ8;45yI@7h$zv0ipc!evRjwLLO5)we<* zA3q&rmSA%eCoJuw1V_=S=9eI!D4=T1M!qlp=jXLvA)#X&h$ZZ)KB7mfKFGv8U%O|; zweo0V`ZwG$u-wJR7Kr(dmxu1kt<9>0&~UmHMjL*K05{jPW2ZRj1U-NBs0=8il&_YR zcr^0BWR|~{v-Z{OmBcGAzz;K$NgfR$5l%lZroSaD(e3#bYUhrd_hfU9|@30Dhc#(W2cMy^nR(HABm<3FjDd0IOG)l&7@Z<1^uCx7RxnY{2 zfjs}R0UF@kkRWU&FA7`m4{)WIjiFSzAL_bwVkJ{NMhhYy53!Y7;XO2FQSa=$AV7%e(Xs1zDW&bG&zfk(dK2s(Y=N`2FFd$JF z-iOCeq=%+CQEolkU?qr)1mRBRO_ndeoe^_kVAUzKRVgh z1U_1nX|mrcsnslu=5l;TFa@gL56;cbNp7Io_Jy=mh5=$;0u;F z5g(kn3e@5?Es&jj=$j>XAt7yL&>Q%CvEaV}X)4Cunz#~v7Scm93!0p*w}nt`l;Hl` zLr$Sy+O(5C7Nuk&Pmmk8o-=vJ@_^5aQOiNOnZTbQVgxe3H*5-8XMn|UTQL$kH(@`0 zk9Fs5vdpUhEV~rP9llPN>ks=JB-bCgfk{%mY`|agEmQ7IySBsE za*BWJ!XF)Rp?bOq!G19J@b5mk-@TypS-<;X@1CyRw$wk(ir@VLV?1*?LW2#)qepijA@6DbbB2f%fLRWm6H-k3kA<-Cn)d19&g)s? z{{LDkl#=+sEN9iekEZ{RW?XbIpSif}I0qd5*HQ@@0%o~ueP?;)e|ivp3@y1Pu;|Gr zQWu;4Yw!&?fkpqs4Z-XBUqjvY{ck&EBoxI< IL|^*;ABdo|AOHXW literal 0 HcmV?d00001 diff --git a/deploy-manage/images/serverless-custom-role-document-level-privileges-ex-1.png b/deploy-manage/images/serverless-custom-role-document-level-privileges-ex-1.png new file mode 100644 index 0000000000000000000000000000000000000000..598b73379a23c9c846f82b8c704b548f3af7919f GIT binary patch literal 47742 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 D1ARR+@N_R63`5*7_ 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%0A@# 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 literal 0 HcmV?d00001 diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md index 1c0600d22c..9592bc303c 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md @@ -210,20 +210,29 @@ To configure document-level security (DLS), you create a custom role where you d 1. Go to the **Custom Roles** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). 1. Select **Create role**. 1. Give your custom role a meaningful name and description. -1. In the **Index privileges** area, specify the data stream pattern, For example, enter `events-*`. +1. In the **Index privileges** area, specify the data stream pattern and the privilege you want to grant. For example, enter `events-*` and `read`. 1. Enable the **Grant read privileges to specific documents** toggle and add your query using the QueryDSL syntax. - * For example, to allow read access only to documents that belong to the click category within all the events-* data streams, enter the following query: + * For example, to allow read access only to documents that belong to the click category within all the `events-*` data streams, enter the following query: ``` { "match" : { "category" : “click” } } ``` + + :::{image} /deploy-manage/images/serverless-custom-role-document-level-privileges-ex-1.png + :title: Configuring document-level security + ::: + * To allow read access only to the documents whose `department_id` equals 12, enter the following query: ``` { "term" : { "department_id" : 12 } } ``` + + :::{image} /deploy-manage/images/serverless-custom-role-document-level-privileges-ex-2.png + :title: Configuring document-level security another example + ::: 1. Optional: To grant this role access to {{kib}} spaces for feature access and visibility, click **Assign to this space**. Specify the level of access required and click **Assign role**. 1. Select **Create role** to save your custom role. @@ -421,6 +430,36 @@ The resulting permission is equal to: Field-level security should not be set on [`alias`](elasticsearch://reference/elasticsearch/mapping-reference/field-alias.md) fields. To secure a concrete field, its field name must be used directly. :::: +### Configuring field-level security in {{serverless-short}} [field-level-serverless] +```{applies_to} +serverless: ga +``` + +As an administrator, you can create custom roles that enable users to access data and project features. When you create a custom role, you can assign {{es}} [cluster](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-es-cluster-privileges) and [index](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-es-index-privileges) privileges and [{{kib}}](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-kib-privileges) privileges. + +To configure field-level security (FLS), you create a custom role where you define the specific fields that this role grants or denies access to: + +1. Go to the **Custom Roles** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). +1. Select **Create role**. +1. Give your custom role a meaningful name and description. +1. In the **Index privileges** area, specify the data stream pattern and the privilege you want to grant. For example, enter `events-*` and `read`. +1. Enable the **Grant access to specific fields** toggle. + * To grant access to specific fields within each document in all the `events-*` data streams, add the fields to the **Granted fields** list. For example, you can add `category`, `@timestamp`, and `message` as individual fields, or you can specify a field expression such as `event_*` that grants read access to all the fields that start with an `event_` prefix. + + :::{image} /deploy-manage/images/serverless-custom-role-grant-field-level-privileges.png + :title: Configuring field-level security by granting access to fields + ::: + + * To deny access to specific fields within each document, add the fields to the **Denied fields** list. For example, you can add the `customer.handle` field. + + :::{image} /deploy-manage/images/serverless-custom-role-deny-field-level-privileges.png + :title: Configuring field-level security by denying access to fields + ::: + +1. Optional: To grant this role access to {{kib}} spaces for feature access and visibility, click **Assign to this space**. Specify the level of access required and click **Assign role**. +1. Select **Create role** to save your custom role. + + ## Multiple roles with document and field level security [multiple-roles-dls-fls] A user can have many roles and each role can define different permissions on the same data stream or index. When assigning users multiple roles, be careful that you don’t inadvertently grant wider access than intended. From 312f9ac245ed0b6dc77f5279cc2e28af6dff4cda Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Tue, 18 Nov 2025 12:36:53 +0000 Subject: [PATCH 3/7] Adding tabs instead of sections --- ...trolling-access-at-document-field-level.md | 117 ++++++++++-------- 1 file changed, 63 insertions(+), 54 deletions(-) diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md index 9592bc303c..25b7724f5b 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md @@ -35,11 +35,13 @@ The examples on this page use the [Role management API](https://www.elastic.co/d :::{{admonition}} Document and field level security in {{serverless-full}} -This topic explains how to apply document and field level security in {{stack}}. You can also apply document and field level security in {{serverless-full}} projects. +This topic explains how to apply document and field level security in {{stack}} and includes steps for achieving similar tasks in {{serverless-full}} projects. -In {{serverless-full}}, you can only manage document and field level security using the {{ecloud}} console. However, document level security is still managed using queries, and you can use the queries on this page as a guideline. +In {{serverless-full}}, you can only manage document and field level security using the {{ecloud}} console. However, document-level security is still managed using queries, and you can use the queries on this page as a guideline. -[Learn more](/deploy-manage/users-roles/serverless-custom-roles.md#document-level-and-field-level-security). +As an administrator, you can create custom roles in the console that define exactly what data users can access by assigning {{es}} [cluster](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-es-cluster-privileges) and [index](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-es-index-privileges) privileges and [{{kib}}](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-kib-privileges) privileges. + +[Learn more](/deploy-manage/users-roles/serverless-custom-roles.md#document-level-and-field-level-security) ::: ## Document level security [document-level-security] @@ -59,6 +61,9 @@ Omitting the `query` parameter entirely disables document level security for the ### Basic examples +:::::{tab-set} + +::::{tab-item} {{stack}} The following role definition grants read access only to documents that belong to the `click` category within all the `events-*` data streams and indices: ```console @@ -109,6 +114,43 @@ POST /_security/role/dept_role ] } ``` +:::: + +::::{tab-item} {{serverless-short}} +To configure document-level security (DLS), you create a custom role where you define the documents that this role grants access to, using the [QueryDSL](/explore-analyze/query-filter/languages/querydsl.md) syntax: + +1. Go to the **Custom Roles** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). +1. Select **Create role**. +1. Give your custom role a meaningful name and description. +1. In the **Index privileges** area, specify the data stream pattern and the privilege you want to grant. For example, enter `events-*` and `read`. +1. Enable the **Grant read privileges to specific documents** toggle and add your query using the QueryDSL syntax. + + * For example, to allow read access only to documents that belong to the click category within all the `events-*` data streams, enter the following query: + ``` + { + "match" : { "category" : “click” } + } + ``` + + :::{image} /deploy-manage/images/serverless-custom-role-document-level-privileges-ex-1.png + :title: Configuring document-level security + ::: + + * To allow read access only to the documents whose `department_id` equals 12, enter the following query: + ``` + { + "term" : { "department_id" : 12 } + } + ``` + + ![Configuring document-level security another example](/deploy-manage/images/serverless-custom-role-document-level-privileges-ex-2.png) + +1. Optional: To grant this role access to {{kib}} spaces for feature access and visibility, click **Assign to this space**. Specify the level of access required and click **Assign role**. +1. Select **Create role** to save your custom role. +:::: + +::::: + ### Templating a role query [templating-role-query] @@ -198,50 +240,13 @@ The [set security user processor](elasticsearch://reference/enrich-processor/ing For more information, see [Ingest pipelines](/manage-data/ingest/transform-enrich/ingest-pipelines.md) and [Set security user](elasticsearch://reference/enrich-processor/ingest-node-set-security-user-processor.md). -### Configuring document-level security in {{serverless-short}} [document-level-serverless] -```{applies_to} -serverless: ga -``` - -As an administrator, you can create custom roles that enable users to access data and project features. When you create a custom role, you can assign {{es}} [cluster](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-es-cluster-privileges) and [index](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-es-index-privileges) privileges and [{{kib}}](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-kib-privileges) privileges. - -To configure document-level security (DLS), you create a custom role where you define the documents that this role grants access to, using the [QueryDSL](/explore-analyze/query-filter/languages/querydsl.md) syntax: - -1. Go to the **Custom Roles** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). -1. Select **Create role**. -1. Give your custom role a meaningful name and description. -1. In the **Index privileges** area, specify the data stream pattern and the privilege you want to grant. For example, enter `events-*` and `read`. -1. Enable the **Grant read privileges to specific documents** toggle and add your query using the QueryDSL syntax. - * For example, to allow read access only to documents that belong to the click category within all the `events-*` data streams, enter the following query: - ``` - { - "match" : { "category" : “click” } - } - ``` - - :::{image} /deploy-manage/images/serverless-custom-role-document-level-privileges-ex-1.png - :title: Configuring document-level security - ::: - - * To allow read access only to the documents whose `department_id` equals 12, enter the following query: - ``` - { - "term" : { "department_id" : 12 } - } - ``` - - :::{image} /deploy-manage/images/serverless-custom-role-document-level-privileges-ex-2.png - :title: Configuring document-level security another example - ::: - -1. Optional: To grant this role access to {{kib}} spaces for feature access and visibility, click **Assign to this space**. Specify the level of access required and click **Assign role**. -1. Select **Create role** to save your custom role. - - ## Field level security [field-level-security] To enable field level security, specify the fields that each role can access as part of the indices permissions in a role definition. Field level security is thus bound to a well-defined set of data streams or indices (and potentially a set of [documents](../../../deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md)). +:::::{tab-set} + +::::{tab-item} {{stack}} The following role definition grants read access only to the `category`, `@timestamp`, and `message` fields in all the `events-*` data streams and indices. ```console @@ -261,9 +266,9 @@ POST /_security/role/test_role1 Access to the following metadata fields is always allowed: `_id`, `_type`, `_parent`, `_routing`, `_timestamp`, `_ttl`, `_size` and `_index`. If you specify an empty list of fields, only these metadata fields are accessible. -::::{note} +:::{note} Omitting the fields entry entirely disables field level security. -:::: +::: You can also specify field expressions. For example, the following example grants read access to all fields that start with an `event_` prefix: @@ -426,16 +431,9 @@ The resulting permission is equal to: } ``` -::::{note} -Field-level security should not be set on [`alias`](elasticsearch://reference/elasticsearch/mapping-reference/field-alias.md) fields. To secure a concrete field, its field name must be used directly. :::: -### Configuring field-level security in {{serverless-short}} [field-level-serverless] -```{applies_to} -serverless: ga -``` - -As an administrator, you can create custom roles that enable users to access data and project features. When you create a custom role, you can assign {{es}} [cluster](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-es-cluster-privileges) and [index](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-es-index-privileges) privileges and [{{kib}}](/deploy-manage/users-roles/serverless-custom-roles.md#custom-roles-kib-privileges) privileges. +::::{tab-item} {{serverless-short}} To configure field-level security (FLS), you create a custom role where you define the specific fields that this role grants or denies access to: @@ -457,7 +455,15 @@ To configure field-level security (FLS), you create a custom role where you defi ::: 1. Optional: To grant this role access to {{kib}} spaces for feature access and visibility, click **Assign to this space**. Specify the level of access required and click **Assign role**. -1. Select **Create role** to save your custom role. +1. Select **Create role** to save your custom role. + +:::: + +::::: + +:::{note} +Field-level security should not be set on [`alias`](elasticsearch://reference/elasticsearch/mapping-reference/field-alias.md) fields. To secure a concrete field, its field name must be used directly. +::: ## Multiple roles with document and field level security [multiple-roles-dls-fls] @@ -475,6 +481,9 @@ If you need to restrict access to both documents and fields, consider splitting :::: ## Field and document level security with Cross-cluster API keys [ccx-apikeys-dls-fls] +```{applies_to} +serverless: unavailable +``` [Cross-cluster API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) can be used to authenticate requests to a remote cluster. The `search` parameter defines permissions for cross-cluster search. The `replication` parameter defines permissions for cross-cluster replication. From 5981c4a31eac410233ee30d12da8aa7778d70f6e Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Tue, 18 Nov 2025 15:05:52 +0000 Subject: [PATCH 4/7] Add sync to tabs + fix screenshot --- .../controlling-access-at-document-field-level.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md index 25b7724f5b..85e852eb4b 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md @@ -62,8 +62,9 @@ Omitting the `query` parameter entirely disables document level security for the ### Basic examples :::::{tab-set} - +:group: field-document ::::{tab-item} {{stack}} +:sync: stack The following role definition grants read access only to documents that belong to the `click` category within all the `events-*` data streams and indices: ```console @@ -117,6 +118,7 @@ POST /_security/role/dept_role :::: ::::{tab-item} {{serverless-short}} +:sync: serverless To configure document-level security (DLS), you create a custom role where you define the documents that this role grants access to, using the [QueryDSL](/explore-analyze/query-filter/languages/querydsl.md) syntax: 1. Go to the **Custom Roles** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). @@ -245,8 +247,9 @@ For more information, see [Ingest pipelines](/manage-data/ingest/transform-enric To enable field level security, specify the fields that each role can access as part of the indices permissions in a role definition. Field level security is thus bound to a well-defined set of data streams or indices (and potentially a set of [documents](../../../deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md)). :::::{tab-set} - +:group: field-document ::::{tab-item} {{stack}} +:sync: stack The following role definition grants read access only to the `category`, `@timestamp`, and `message` fields in all the `events-*` data streams and indices. ```console @@ -434,7 +437,7 @@ The resulting permission is equal to: :::: ::::{tab-item} {{serverless-short}} - +:sync: serverless To configure field-level security (FLS), you create a custom role where you define the specific fields that this role grants or denies access to: 1. Go to the **Custom Roles** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). @@ -450,10 +453,8 @@ To configure field-level security (FLS), you create a custom role where you defi * To deny access to specific fields within each document, add the fields to the **Denied fields** list. For example, you can add the `customer.handle` field. - :::{image} /deploy-manage/images/serverless-custom-role-deny-field-level-privileges.png - :title: Configuring field-level security by denying access to fields - ::: - + ![Configuring field-level security by denying access to fields](/deploy-manage/images/serverless-custom-role-deny-field-level-privileges.png) + 1. Optional: To grant this role access to {{kib}} spaces for feature access and visibility, click **Assign to this space**. Specify the level of access required and click **Assign role**. 1. Select **Create role** to save your custom role. From 67eaff7dc6da8dca0fbac4630ced12b330cc5739 Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Tue, 18 Nov 2025 15:43:18 +0000 Subject: [PATCH 5/7] Fix ordered and unordered list formatting in the tabs --- .../controlling-access-at-document-field-level.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md index 85e852eb4b..12ddf31bb5 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md @@ -134,9 +134,7 @@ To configure document-level security (DLS), you create a custom role where you d } ``` - :::{image} /deploy-manage/images/serverless-custom-role-document-level-privileges-ex-1.png - :title: Configuring document-level security - ::: + ![Configuring document-level security](/deploy-manage/images/serverless-custom-role-document-level-privileges-ex-1.png) * To allow read access only to the documents whose `department_id` equals 12, enter the following query: ``` @@ -447,9 +445,7 @@ To configure field-level security (FLS), you create a custom role where you defi 1. Enable the **Grant access to specific fields** toggle. * To grant access to specific fields within each document in all the `events-*` data streams, add the fields to the **Granted fields** list. For example, you can add `category`, `@timestamp`, and `message` as individual fields, or you can specify a field expression such as `event_*` that grants read access to all the fields that start with an `event_` prefix. - :::{image} /deploy-manage/images/serverless-custom-role-grant-field-level-privileges.png - :title: Configuring field-level security by granting access to fields - ::: + ![Configuring field-level security by granting access to fields](/deploy-manage/images/serverless-custom-role-grant-field-level-privileges.png) * To deny access to specific fields within each document, add the fields to the **Denied fields** list. For example, you can add the `customer.handle` field. From 35ea55d21022f88d0e6639d412b321db9efdd163 Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Mon, 24 Nov 2025 18:00:36 +0000 Subject: [PATCH 6/7] Adding tags to the User roles section --- .../authorization-delegation.md | 7 ++--- .../authorization-plugins.md | 7 ++--- .../defining-roles.md | 12 ++++--- ...ing-privileges-for-data-streams-aliases.md | 6 +--- .../kibana-privileges.md | 7 ++--- .../kibana-role-management.md | 6 +--- .../mapping-users-groups-to-roles.md | 7 ++--- .../role-mapping-resources.md | 6 +--- .../role-restriction.md | 6 +--- .../role-structure.md | 6 +--- ...tting-requests-on-behalf-of-other-users.md | 7 ++--- .../cluster-or-deployment-auth/user-roles.md | 31 ++++++++++++++----- 12 files changed, 46 insertions(+), 62 deletions(-) diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/authorization-delegation.md b/deploy-manage/users-roles/cluster-or-deployment-auth/authorization-delegation.md index 5162ebbe93..e60453e89d 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/authorization-delegation.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/authorization-delegation.md @@ -2,11 +2,8 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/configuring-authorization-delegation.html applies_to: - deployment: - ece: - eck: - ess: - self: + stack: all + serverless: unavailable products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/authorization-plugins.md b/deploy-manage/users-roles/cluster-or-deployment-auth/authorization-plugins.md index 971e1b2766..1c6a6d1ef7 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/authorization-plugins.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/authorization-plugins.md @@ -2,11 +2,8 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/custom-roles-authorization.html applies_to: - deployment: - ece: - eck: - ess: - self: + stack: all + serverless: unavailable products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md b/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md index e19b0e26d6..b4ac50b755 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md @@ -6,11 +6,8 @@ mapped_pages: - https://www.elastic.co/guide/en/kibana/current/tutorial-secure-access-to-kibana.html - https://www.elastic.co/guide/en/kibana/current/kibana-role-management.html applies_to: - deployment: - ece: - ess: - eck: - self: + stack: all + serverless: unavailable products: - id: elasticsearch - id: cloud-kubernetes @@ -27,6 +24,11 @@ You can also implement custom roles providers. If you need to integrate with ano After you create your custom roles, you can [learn how to assign them to users](/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md#assign-roles-to-users). +:::{admonition} Defining custom roles in {{serverless-short}} +This topic how to create custom roles in {{stack}} clusters and deployments. You can also learn about [organization-level](/deploy-manage/users-roles/cloud-organization/user-roles.md#ec_organization_level_roles) roles and [cloud resource access roles](/deploy-manage/users-roles/cloud-organization/user-roles.md#ec_instance_access_roles) in {{serverless-full}}. +If you want to create custom roles for {{serverless-full}}, refer to [](/deploy-manage/users-roles/serverless-custom-roles.md). +::: + ## Role structure % temporary anchors diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/granting-privileges-for-data-streams-aliases.md b/deploy-manage/users-roles/cluster-or-deployment-auth/granting-privileges-for-data-streams-aliases.md index e7e6fe7684..8dd81bc5ba 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/granting-privileges-for-data-streams-aliases.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/granting-privileges-for-data-streams-aliases.md @@ -3,11 +3,7 @@ navigation_title: For data streams and aliases mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/securing-aliases.html applies_to: - deployment: - ece: - eck: - ess: - self: + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md b/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md index ce998137ee..5b85152e45 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md @@ -2,11 +2,8 @@ mapped_pages: - https://www.elastic.co/guide/en/kibana/current/kibana-privileges.html applies_to: - deployment: - ece: - ess: - eck: - self: + stack: all + serverless: unavailable products: - id: kibana --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-role-management.md b/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-role-management.md index 58c6fc09c0..0571fad12b 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-role-management.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-role-management.md @@ -3,11 +3,7 @@ navigation_title: Using Kibana mapped_pages: - https://www.elastic.co/guide/en/kibana/current/kibana-role-management.html applies_to: - deployment: - ece: - ess: - eck: - self: + stack: all products: - id: kibana --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/mapping-users-groups-to-roles.md b/deploy-manage/users-roles/cluster-or-deployment-auth/mapping-users-groups-to-roles.md index 01fc4c6996..0f7af6d77a 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/mapping-users-groups-to-roles.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/mapping-users-groups-to-roles.md @@ -4,11 +4,8 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-roles.html - https://www.elastic.co/guide/en/kibana/current/role-mappings.html applies_to: - deployment: - ece: - eck: - ess: - self: + stack: all + serverless: unavailable products: - id: elasticsearch - id: kibana diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/role-mapping-resources.md b/deploy-manage/users-roles/cluster-or-deployment-auth/role-mapping-resources.md index 77d6653017..aac0b63357 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/role-mapping-resources.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/role-mapping-resources.md @@ -3,11 +3,7 @@ navigation_title: Role mapping properties mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/role-mapping-resources.html applies_to: - deployment: - ece: - eck: - ess: - self: + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/role-restriction.md b/deploy-manage/users-roles/cluster-or-deployment-auth/role-restriction.md index 0cb763de44..c9deb64064 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/role-restriction.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/role-restriction.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/role-restriction.html applies_to: - deployment: - ece: - eck: - ess: - self: + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/role-structure.md b/deploy-manage/users-roles/cluster-or-deployment-auth/role-structure.md index e8d985fd80..aa16b7553b 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/role-structure.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/role-structure.md @@ -1,10 +1,6 @@ --- applies_to: - deployment: - ece: - ess: - eck: - self: + stack: all --- # Role structure diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/submitting-requests-on-behalf-of-other-users.md b/deploy-manage/users-roles/cluster-or-deployment-auth/submitting-requests-on-behalf-of-other-users.md index acf018ea6b..bc3357ead0 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/submitting-requests-on-behalf-of-other-users.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/submitting-requests-on-behalf-of-other-users.md @@ -3,11 +3,8 @@ navigation_title: Submit requests on behalf of other users mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/run-as-privilege.html applies_to: - deployment: - ece: - eck: - ess: - self: + stack: all + serverless: unavailable products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md b/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md index 61956cd303..d1e252e6bb 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md @@ -2,11 +2,8 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/authorization.html applies_to: - deployment: - ess: all - ece: all - eck: all - self: all + stack: all + serverless: all products: - id: elasticsearch --- @@ -66,12 +63,20 @@ A role has a unique name and identifies a set of permissions that translate to p Review these topics to learn how to configure RBAC in your cluster or deployment: -* Learn about [built-in roles](elasticsearch://reference/elasticsearch/roles.md) -* [Define your own roles](/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md) +* Learn about [built-in roles](elasticsearch://reference/elasticsearch/roles.md) {applies_to}`serverless: unavailable` +* [Define your own roles](/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md) {applies_to}`serverless: unavailable` * Learn about the [Elasticsearch](elasticsearch://reference/elasticsearch/security-privileges.md) and [Kibana](/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md) privileges you can assign to roles * Learn how to [control access at the document and field level](/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md) +:::{tip} +This topic describes built-in roles in {{stack}} clusters and deployments and explains how to create custom ones. You can also learn about [organization-level](/deploy-manage/users-roles/cloud-organization/user-roles.md#ec_organization_level_roles) roles and [cloud resource access roles](/deploy-manage/users-roles/cloud-organization/user-roles.md#ec_instance_access_roles) in {{serverless-full}}. +To create custom roles for {{serverless-full}}, refer to [](/deploy-manage/users-roles/serverless-custom-roles.md). +::: + ### Assign roles to users +```{applies_to} +serverless: unavailable +``` The way that you assign roles to users depends on your authentication realm: @@ -83,7 +88,16 @@ The way that you assign roles to users depends on your authentication realm: * In ECK: As part of a [basic authentication secret](/deploy-manage/users-roles/cluster-or-deployment-auth/file-based.md#k8s-basic) * [External realms](/deploy-manage/users-roles/cluster-or-deployment-auth/external-authentication.md): By [mapping users and groups to roles](/deploy-manage/users-roles/cluster-or-deployment-auth/mapping-users-groups-to-roles.md) +:::{tip} +This topic describes using the native realm at the cluster or deployment level, for the purposes of authenticating with Elasticsearch and Kibana. + +You can also manage authentication and identity integration at the [Elastic Cloud organization](/deploy-manage/users-roles/cloud-organization/manage-users.md) level. +::: + ### Advanced topics +```{applies_to} +serverless: unavailable +``` * Learn how to [delegate authorization to another realm](/deploy-manage/users-roles/cluster-or-deployment-auth/authorization-delegation.md) * Learn how to [build a custom authorization plugin](/deploy-manage/users-roles/cluster-or-deployment-auth/authorization-plugins.md) for unsupported systems or advanced applications @@ -95,6 +109,9 @@ User roles are also used to control access to [{{kib}} spaces](/deploy-manage/ma :::: ## Attribute-based access control [attributes] +```{applies_to} +serverless: unavailable +``` Attribute-based access control (ABAC) enables you to use attributes to restrict access to documents in search queries and aggregations. For example, you can assign attributes to users and documents, then implement an access policy in a role definition. Users with that role can read a specific document only if they have all the required attributes. From ab91441fde420fe348dc76dc437ef8f72b536b74 Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Tue, 25 Nov 2025 11:03:54 +0000 Subject: [PATCH 7/7] Trying out different tagging options --- .../users-roles/cluster-or-deployment-auth.md | 30 ++++++++++++++----- .../access-agreement.md | 6 +--- .../anonymous-access.md | 6 +--- .../authentication-realms.md | 6 +--- .../controlling-user-cache.md | 6 +--- .../cluster-or-deployment-auth/custom.md | 5 +--- .../defining-roles.md | 2 +- .../external-authentication.md | 6 +--- .../internal-authentication.md | 6 +--- .../internal-users.md | 6 +--- .../cluster-or-deployment-auth/jwt.md | 6 +--- .../cluster-or-deployment-auth/kerberos.md | 6 +--- .../kibana-authentication.md | 6 +--- ...looking-up-users-without-authentication.md | 6 +--- .../cluster-or-deployment-auth/native.md | 6 +--- .../oidc-examples.md | 6 +--- .../openid-connect.md | 6 +--- .../cluster-or-deployment-auth/quickstart.md | 6 +--- .../realm-chains.md | 6 +--- .../cluster-or-deployment-auth/saml-entra.md | 6 +--- .../cluster-or-deployment-auth/saml.md | 6 +--- .../security-domains.md | 6 +--- .../service-accounts.md | 6 +--- .../token-based-authentication-services.md | 6 +--- .../user-authentication.md | 6 +--- .../cluster-or-deployment-auth/user-roles.md | 3 +- 26 files changed, 48 insertions(+), 124 deletions(-) diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth.md b/deploy-manage/users-roles/cluster-or-deployment-auth.md index 34fb31e4c9..7f20f7c898 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth.md @@ -4,11 +4,7 @@ mapped_pages: - https://www.elastic.co/guide/en/cloud-enterprise/current/ece-securing-clusters.html - https://www.elastic.co/guide/en/cloud/current/ec-security.html applies_to: - deployment: - ess: all - ece: all - eck: all - self: all + stack: all products: - id: cloud-enterprise - id: cloud-hosted @@ -20,7 +16,11 @@ To prevent unauthorized access to your Elastic resources, you need a way to iden In this section, you’ll learn how to set up authentication and authorization at the cluster or deployment level, and learn about the underlying security technologies that {{es}} uses to authenticate and authorize requests internally and across services. -This section only covers direct access to and communications with an {{es}} cluster - sometimes known as a deployment - as well as the related {{kib}} instance. To learn about managing access to your {{ecloud}} organization or {{ece}} orchestrator, or to learn how to use single sign-on to access a cluster using your {{ecloud}} credentials, refer to [Manage users and roles](/deploy-manage/users-roles.md). +This section only covers direct access to and communications with an {{es}} cluster - sometimes known as a deployment - as well as the related {{kib}} instance. To learn about managing access to your {{ecloud}} organization or {{ece}} orchestrator, or to learn how to use single sign-on to access a cluster using your {{ecloud}} credentials, refer to [](/deploy-manage/users-roles.md). + +:::{admonition} Control access to {{serverless-short}} projects +If you use {{serverless-full}}, you can only manage authentication at the [Elastic Cloud organization level](/deploy-manage/users-roles/cloud-organization.md). +::: ## Quickstart @@ -40,6 +40,12 @@ You can also learn the basics of {{es}} authentication, learn about accounts use [View all user authentication docs](/deploy-manage/users-roles/cluster-or-deployment-auth/user-authentication.md) +:::{admonition} Control access to {{serverless-short}} projects +This topic describes using the native realm at the cluster or deployment level, for the purposes of authenticating with {{es}} and {{kib}}. +You can also manage and authenticate users natively at the [Elastic Cloud organization](/deploy-manage/users-roles/cloud-organization/manage-users.md) level. +::: + + ### User authorization After a user is authenticated, use role-based access control to determine whether the user behind an incoming request is allowed to execute the request. @@ -49,12 +55,20 @@ Key tasks for managing user authorization include: * [Defining roles](/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md) * Assigning [built-in roles](elasticsearch://reference/elasticsearch/roles.md) or your own roles to users * Creating [mappings of users and groups to roles](/deploy-manage/users-roles/cluster-or-deployment-auth/mapping-users-groups-to-roles.md) for external authentication providers -* [Setting up field- and document-level security](/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md) +* [Setting up field- and document-level security](/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md) {applies_to}`stack: ga` {applies_to}`serverless: ga` You can also learn the basics of {{es}} authorization, and perform advanced tasks. +[View all user authorization docs](/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md) + ::::{tip} User roles are also used to control access to [{{kib}} spaces](/deploy-manage/manage-spaces.md). :::: -[View all user authorization docs](/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md) \ No newline at end of file + + +:::{admonition} Built-in and custom roles in {{serverless-short}} +This topic describes built-in roles in {{stack}} clusters and deployments and explains how to create custom ones. You can also learn about [organization-level](/deploy-manage/users-roles/cloud-organization/user-roles.md#ec_organization_level_roles) roles and [cloud resource access roles](/deploy-manage/users-roles/cloud-organization/user-roles.md#ec_instance_access_roles) in {{serverless-full}}. +To create custom roles for {{serverless-full}}, refer to [](/deploy-manage/users-roles/serverless-custom-roles.md). +::: + diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/access-agreement.md b/deploy-manage/users-roles/cluster-or-deployment-auth/access-agreement.md index 9cc966adb4..4d787072c1 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/access-agreement.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/access-agreement.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/kibana/current/xpack-security-access-agreement.html applies_to: - deployment: - ess: - ece: - eck: - self: + stack: all products: - id: kibana --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/anonymous-access.md b/deploy-manage/users-roles/cluster-or-deployment-auth/anonymous-access.md index 0c08b1ac9e..535ac6bfab 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/anonymous-access.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/anonymous-access.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/anonymous-access.html applies_to: - deployment: - ess: - ece: - eck: - self: + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md b/deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md index 1552c2cbe2..f406962dc4 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/realms.html applies_to: - deployment: - ess: all - ece: all - eck: all - self: all + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-user-cache.md b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-user-cache.md index 9e01549a72..0c6046c7b4 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-user-cache.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-user-cache.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/controlling-user-cache.html applies_to: - deployment: - ess: - ece: - eck: - self: + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/custom.md b/deploy-manage/users-roles/cluster-or-deployment-auth/custom.md index b10c816c2c..1ab5b8d269 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/custom.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/custom.md @@ -3,10 +3,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/custom-realms.html applies_to: deployment: - ece: - ess: - eck: - self: + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md b/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md index b4ac50b755..c963a7f15d 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md @@ -26,7 +26,7 @@ After you create your custom roles, you can [learn how to assign them to users]( :::{admonition} Defining custom roles in {{serverless-short}} This topic how to create custom roles in {{stack}} clusters and deployments. You can also learn about [organization-level](/deploy-manage/users-roles/cloud-organization/user-roles.md#ec_organization_level_roles) roles and [cloud resource access roles](/deploy-manage/users-roles/cloud-organization/user-roles.md#ec_instance_access_roles) in {{serverless-full}}. -If you want to create custom roles for {{serverless-full}}, refer to [](/deploy-manage/users-roles/serverless-custom-roles.md). +If you want too create custom roles for {{serverless-full}}, refer to [](/deploy-manage/users-roles/serverless-custom-roles.md). ::: ## Role structure diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/external-authentication.md b/deploy-manage/users-roles/cluster-or-deployment-auth/external-authentication.md index 6da2a91478..8c6ff4d9ad 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/external-authentication.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/external-authentication.md @@ -1,10 +1,6 @@ --- applies_to: - deployment: - ess: all - ece: all - eck: all - self: all + stack: all --- # External authentication diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/internal-authentication.md b/deploy-manage/users-roles/cluster-or-deployment-auth/internal-authentication.md index 16b487bafb..a9f00681e4 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/internal-authentication.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/internal-authentication.md @@ -1,10 +1,6 @@ --- applies_to: - deployment: - ess: all - ece: all - eck: all - self: all + stack: all --- # Internal authentication diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/internal-users.md b/deploy-manage/users-roles/cluster-or-deployment-auth/internal-users.md index d0fed75cd1..108437184c 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/internal-users.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/internal-users.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/internal-users.html applies_to: - deployment: - ess: - ece: - eck: - self: + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/jwt.md b/deploy-manage/users-roles/cluster-or-deployment-auth/jwt.md index f41d881714..808b59344c 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/jwt.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/jwt.md @@ -6,11 +6,7 @@ mapped_pages: - https://www.elastic.co/guide/en/cloud-heroku/current/ech-securing-clusters-JWT.html - https://www.elastic.co/guide/en/elasticsearch/reference/current/jwt-auth-realm.html applies_to: - deployment: - self: - ess: - ece: - eck: + stack: all products: - id: cloud-hosted - id: cloud-enterprise diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/kerberos.md b/deploy-manage/users-roles/cluster-or-deployment-auth/kerberos.md index 9098caab9d..d992c486da 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/kerberos.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/kerberos.md @@ -6,11 +6,7 @@ mapped_pages: - https://www.elastic.co/guide/en/cloud-heroku/current/ech-secure-clusters-kerberos.html - https://www.elastic.co/guide/en/elasticsearch/reference/current/kerberos-realm.html applies_to: - deployment: - self: - ess: - ece: - eck: + stack: all products: - id: cloud-enterprise - id: cloud-hosted diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-authentication.md b/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-authentication.md index cf96bd1a32..1b80f0cbee 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-authentication.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-authentication.md @@ -1,11 +1,7 @@ --- navigation_title: "{{kib}} authentication" applies_to: - deployment: - ess: - ece: - eck: - self: + stack: all --- # Authentication in {{kib}} [kibana-authentication] diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/looking-up-users-without-authentication.md b/deploy-manage/users-roles/cluster-or-deployment-auth/looking-up-users-without-authentication.md index bfa7220136..eec27e933d 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/looking-up-users-without-authentication.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/looking-up-users-without-authentication.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/user-lookup.html applies_to: - deployment: - ess: - ece: - eck: - self: + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/native.md b/deploy-manage/users-roles/cluster-or-deployment-auth/native.md index a583a46956..749b614f0a 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/native.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/native.md @@ -6,11 +6,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/change-passwords-native-users.html - https://www.elastic.co/guide/en/kibana/current/tutorial-secure-access-to-kibana.html applies_to: - deployment: - self: all - ess: all - ece: all - eck: all + stack: all products: - id: elasticsearch - id: cloud-kubernetes diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/oidc-examples.md b/deploy-manage/users-roles/cluster-or-deployment-auth/oidc-examples.md index aeb6fdaf93..8652f055cc 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/oidc-examples.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/oidc-examples.md @@ -3,11 +3,7 @@ navigation_title: With Azure, Google, or Okta mapped_pages: - https://www.elastic.co/guide/en/cloud/current/ec-securing-clusters-oidc-op.html applies_to: - deployment: - self: - ess: - ece: - eck: + stack: all products: - id: cloud-hosted --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/openid-connect.md b/deploy-manage/users-roles/cluster-or-deployment-auth/openid-connect.md index fd0c24cd99..4732faac51 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/openid-connect.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/openid-connect.md @@ -7,11 +7,7 @@ mapped_pages: - https://www.elastic.co/guide/en/cloud/current/ec-secure-clusters-oidc.html - https://www.elastic.co/guide/en/cloud-heroku/current/ech-secure-clusters-oidc.html applies_to: - deployment: - self: - ess: - ece: - eck: + stack: all products: - id: elasticsearch - id: cloud-enterprise diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/quickstart.md b/deploy-manage/users-roles/cluster-or-deployment-auth/quickstart.md index b2c8ed0232..b105d66e9d 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/quickstart.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/quickstart.md @@ -3,11 +3,7 @@ navigation_title: Quickstart mapped_pages: - https://www.elastic.co/guide/en/kibana/current/tutorial-secure-access-to-kibana.html applies_to: - deployment: - ess: all - ece: all - eck: all - self: all + stack: all products: - id: kibana --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/realm-chains.md b/deploy-manage/users-roles/cluster-or-deployment-auth/realm-chains.md index 624e5478b1..fc487ee7b4 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/realm-chains.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/realm-chains.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/realm-chains.html applies_to: - deployment: - ess: all - ece: all - eck: all - self: all + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/saml-entra.md b/deploy-manage/users-roles/cluster-or-deployment-auth/saml-entra.md index ee19cf0287..301698fc98 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/saml-entra.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/saml-entra.md @@ -3,11 +3,7 @@ navigation_title: With Microsoft Entra ID mapped_pages: - https://www.elastic.co/guide/en/cloud/current/ec-securing-clusters-saml-azure.html applies_to: - deployment: - self: - ess: - ece: - eck: + stack: all products: - id: cloud-hosted --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/saml.md b/deploy-manage/users-roles/cluster-or-deployment-auth/saml.md index af71cb851d..0d548fab29 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/saml.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/saml.md @@ -13,11 +13,7 @@ mapped_pages: - https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-saml-authentication.html - https://www.elastic.co/guide/en/elasticsearch/reference/current/saml-guide-stack.html applies_to: - deployment: - self: - ess: - ece: - eck: + stack: all products: - id: elasticsearch - id: cloud-enterprise diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/security-domains.md b/deploy-manage/users-roles/cluster-or-deployment-auth/security-domains.md index aeaea11b58..56926e9b42 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/security-domains.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/security-domains.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/security-domain.html applies_to: - deployment: - ess: all - ece: all - eck: all - self: all + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/service-accounts.md b/deploy-manage/users-roles/cluster-or-deployment-auth/service-accounts.md index 044e8f0de7..edd9eada27 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/service-accounts.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/service-accounts.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/service-accounts.html applies_to: - deployment: - ess: - ece: - eck: - self: + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services.md b/deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services.md index cbd39636ba..81fef34911 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services.md @@ -2,11 +2,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/token-authentication-services.html applies_to: - deployment: - ess: - ece: - eck: - self: + stack: all products: - id: elasticsearch --- diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/user-authentication.md b/deploy-manage/users-roles/cluster-or-deployment-auth/user-authentication.md index 75c1e22225..4ef7ea5301 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/user-authentication.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/user-authentication.md @@ -3,11 +3,7 @@ mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/reference/current/setting-up-authentication.html - https://www.elastic.co/guide/en/kibana/current/kibana-authentication.html applies_to: - deployment: - ess: all - ece: all - eck: all - self: all + stack: all products: - id: elasticsearch - id: kibana diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md b/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md index d1e252e6bb..3c581e9ee6 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md @@ -65,7 +65,8 @@ Review these topics to learn how to configure RBAC in your cluster or deployment * Learn about [built-in roles](elasticsearch://reference/elasticsearch/roles.md) {applies_to}`serverless: unavailable` * [Define your own roles](/deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md) {applies_to}`serverless: unavailable` -* Learn about the [Elasticsearch](elasticsearch://reference/elasticsearch/security-privileges.md) and [Kibana](/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md) privileges you can assign to roles +* Learn about the [Kibana](/deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md) privileges you can assign to roles {applies_to}`serverless: unavailable` +* Learn about the [Elasticsearch](elasticsearch://reference/elasticsearch/security-privileges.md) privileges you can assign to roles * Learn how to [control access at the document and field level](/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md) :::{tip}