diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/Security.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/Security.java index 7e0b5befbf529..013a29a80f738 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/Security.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/Security.java @@ -972,7 +972,8 @@ Collection createComponents( this.fileRolesStore.set( new FileRolesStore(settings, environment, resourceWatcherService, getLicenseState(), xContentRegistry, fileRoleValidator.get()) ); - ReservedRoleNameChecker reservedRoleNameChecker = reservedRoleNameCheckerFactory.get().create(fileRolesStore.get()::exists); + ReservedRoleNameChecker reservedRoleNameChecker = reservedRoleNameCheckerFactory.get() + .create(clusterService, projectResolver, fileRolesStore.get()::exists); components.add(new PluginComponentBinding<>(ReservedRoleNameChecker.class, reservedRoleNameChecker)); final Map, ActionListener>>> customRoleProviders = new LinkedHashMap<>(); diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/ReservedRoleNameChecker.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/ReservedRoleNameChecker.java index a34096bb7d630..b0491cd33ac7e 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/ReservedRoleNameChecker.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/ReservedRoleNameChecker.java @@ -7,17 +7,28 @@ package org.elasticsearch.xpack.security.authz; +import org.elasticsearch.cluster.project.ProjectResolver; +import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.xpack.core.security.authz.store.ReservedRolesStore; import java.util.function.Predicate; public interface ReservedRoleNameChecker { interface Factory { - ReservedRoleNameChecker create(Predicate fileRoleStoreNameChecker); + + ReservedRoleNameChecker create( + ClusterService clusterService, + ProjectResolver projectResolver, + Predicate fileRoleStoreNameChecker + ); class Default implements Factory { @Override - public ReservedRoleNameChecker create(Predicate fileRoleStoreNameChecker) { + public ReservedRoleNameChecker create( + ClusterService clusterService, + ProjectResolver projectResolver, + Predicate fileRoleStoreNameChecker + ) { return new ReservedRoleNameChecker.Default(); } }