Skip to content

Commit 240007e

Browse files
committed
Assert
1 parent 24db961 commit 240007e

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authz/IndicesAndAliasesResolver.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.elasticsearch.common.regex.Regex;
2727
import org.elasticsearch.common.settings.ClusterSettings;
2828
import org.elasticsearch.common.settings.Settings;
29+
import org.elasticsearch.core.Assertions;
2930
import org.elasticsearch.core.Nullable;
3031
import org.elasticsearch.core.Tuple;
3132
import org.elasticsearch.index.Index;
@@ -509,6 +510,7 @@ private static List<String> replaceWildcardsWithAuthorizedAliases(String[] alias
509510
}
510511

511512
for (String aliasExpression : aliases) {
513+
assertOnlyDataSelector(aliasExpression);
512514
boolean include = true;
513515
if (aliasExpression.charAt(0) == '-') {
514516
include = false;
@@ -536,6 +538,14 @@ private static List<String> replaceWildcardsWithAuthorizedAliases(String[] alias
536538
return finalAliases;
537539
}
538540

541+
private static void assertOnlyDataSelector(String expression) {
542+
if (Assertions.ENABLED) {
543+
Tuple<String, String> tuple = IndexNameExpressionResolver.splitSelectorExpression(expression);
544+
assert tuple.v2() == null || IndexComponentSelector.getByKey(tuple.v2()) == IndexComponentSelector.DATA
545+
: "Selector [" + tuple.v2() + "] is not allowed in expression [" + expression + "]";
546+
}
547+
}
548+
539549
private static List<String> indicesList(String[] list) {
540550
return (list == null) ? null : Arrays.asList(list);
541551
}

0 commit comments

Comments
 (0)