From 6bb2b64606bb27a1268de92df6d6a5102ba0ac05 Mon Sep 17 00:00:00 2001 From: Fen Qin Date: Thu, 5 Jun 2025 16:00:35 -0700 Subject: [PATCH] Integrate search-relevance functionalities with security plugin Signed-off-by: Fen Qin --- CHANGELOG.md | 1 + config/roles.yml | 21 +++++++++++++++++++ .../SecuritySettingsConfigurer.java | 4 +++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd817c61d6..046190c9f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Github workflow for changelog verification ([#5318](https://github.com/opensearch-project/security/pull/5318)) - Register cluster settings listener for `plugins.security.cache.ttl_minutes` ([#5324](https://github.com/opensearch-project/security/pull/5324)) - Add flush cache endpoint for individual user ([#5337](https://github.com/opensearch-project/security/pull/5337)) +- Integrate search-relevance functionalities with security plugin ([#5376](https://github.com/opensearch-project/security/pull/5376)) ### Changed - Use extendedPlugins in integrationTest framework for sample resource plugin testing ([#5322](https://github.com/opensearch-project/security/pull/5322)) diff --git a/config/roles.yml b/config/roles.yml index ae8ec30b89..981a3d5afb 100644 --- a/config/roles.yml +++ b/config/roles.yml @@ -471,3 +471,24 @@ ltr_full_access: reserved: true cluster_permissions: - cluster:admin/ltr/* + +# Allow users to use all Search Relevance functionalities +search_relevance_full_access: + reserved: true + cluster_permissions: + - 'cluster:admin/opensearch/search_relevance/*' + index_permissions: + - index_patterns: + - '*' + allowed_actions: + - 'indices:admin/mappings/get' + - 'indices:data/read/search*' + +# Allow users to read Search Relevance resources +search_relevance_read_access: + reserved: true + cluster_permissions: + - 'cluster:admin/opensearch/search_relevance/experiment/get' + - 'cluster:admin/opensearch/search_relevance/judgment/get' + - 'cluster:admin/opensearch/search_relevance/queryset/get' + - 'cluster:admin/opensearch/search_relevance/search_configuration/get' diff --git a/src/main/java/org/opensearch/security/tools/democonfig/SecuritySettingsConfigurer.java b/src/main/java/org/opensearch/security/tools/democonfig/SecuritySettingsConfigurer.java index 9513f355b3..46758a0ee5 100644 --- a/src/main/java/org/opensearch/security/tools/democonfig/SecuritySettingsConfigurer.java +++ b/src/main/java/org/opensearch/security/tools/democonfig/SecuritySettingsConfigurer.java @@ -74,7 +74,9 @@ public class SecuritySettingsConfigurer { ".geospatial-ip2geo-data*", ".plugins-flow-framework-config", ".plugins-flow-framework-templates", - ".plugins-flow-framework-state" + ".plugins-flow-framework-state", + ".plugins-search-relevance-experiment", + ".plugins-search-relevance-judgment-cache" ); static final Integer DEFAULT_PASSWORD_MIN_LENGTH = 8; static String ADMIN_PASSWORD = "";