授权异常
编辑授权异常编辑
症状
- 我配置了适当的角色和用户,但我仍然收到授权异常。
- 我可以通过 LDAP 进行身份验证,但我仍然收到授权异常。
解决方案
-
验证与用户关联的角色名称是否与
roles.yml
文件中定义的角色相匹配。您可以使用elasticsearch-users
工具列出所有用户。任何未知角色都标有*
。bin/elasticsearch-users list rdeniro : admin alpacino : power_user jacknich : monitoring,unknown_role*
有关此命令的更多信息,请参阅
elasticsearch-users
命令。 -
如果您正在通过 LDAP 进行身份验证,则许多配置选项都可能导致此错误。
组标识
通过 LDAP 搜索或用户上的“memberOf”属性来定位组。此外,如果关闭了子树搜索,它将只搜索一层深度。有关所有选项,请参阅 LDAP 领域设置。这里有很多选项,坚持使用默认值并不适用于所有情况。
组到角色映射
role_mapping.yml
文件或此文件的位置可能配置错误。有关更多信息,请参阅 安全文件。角色定义
角色定义可能丢失或无效。
为了帮助追踪这些可能性,请启用其他日志记录以进一步排除故障。您可以通过配置以下持久性设置来启用调试日志记录
response = client.cluster.put_settings( body: { persistent: { 'logger.org.elasticsearch.xpack.security.authc' => 'debug' } } ) puts response
PUT /_cluster/settings { "persistent": { "logger.org.elasticsearch.xpack.security.authc": "debug" } }
或者,您可以将以下行添加到
ES_PATH_CONF
中的log4j2.properties
配置文件的末尾logger.authc.name = org.elasticsearch.xpack.security.authc logger.authc.level = DEBUG
有关更多信息,请参阅 配置日志记录级别。
成功的身份验证应生成列出组和角色映射的调试语句。