版本: 6.8-7.15
简要来说,当 Elasticsearch 中为特定字段设置的权限不是整体权限的子集时,会出现此错误。这意味着字段权限试图访问超出允许范围的内容。要解决此问题,您可以减少字段权限以匹配整体权限,或者增加整体权限以包含字段权限。此外,确保权限在一开始就正确设置,因为配置错误可能会导致此错误。
日志上下文 #
日志 “Exceptions for field permissions must be a subset of the” 的类名是 FieldPermissions.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
grantedFieldsAutomaton = MinimizationOperations.minimize(grantedFieldsAutomaton, Operations.DEFAULT_MAX_DETERMINIZED_STATES);
deniedFieldsAutomaton = MinimizationOperations.minimize(deniedFieldsAutomaton, Operations.DEFAULT_MAX_DETERMINIZED_STATES);
if (subsetOf(deniedFieldsAutomaton, grantedFieldsAutomaton) == false) {
throw new ElasticsearchSecurityException("Exceptions for field permissions must be a subset of the " +
"granted fields but " + Strings.arrayToCommaDelimitedString(deniedFields) + " is not a subset of " +
Strings.arrayToCommaDelimitedString(grantedFields));
}
grantedFieldsAutomaton = Automatons.minusAndMinimize(grantedFieldsAutomaton, deniedFieldsAutomaton);





