安全 UI

对于具有 security-edit 权限的管理员,安全屏幕允许他们管理用户、角色和权限。安全屏幕可与在云和独立模式下运行的 Solr 配合使用。

security
图 1. 安全屏幕

入门

如果未为 Solr 启用安全,安全屏幕会向您发出警告。强烈建议为在除 localhost 以外的任何网络上公开的 Solr 实例启用安全。

image

在首次使用 Solr 时,使用 bin/solr auth 命令行实用程序为 Solr 安装启用安全(仅限云模式),请参阅 bin/solr auth 以获取使用说明。例如,以下命令将启用基本身份验证,并提示您输入具有管理权限的初始用户的用户名和密码

 bin/solr auth enable -type basicAuth -prompt true -z localhost:2181

注意:auth 实用程序仅适用于在云模式下运行的 Solr,因此需要通过 -z 选项传递 Zookeeper 连接字符串。

启用安全后,您需要刷新管理 UI 并使用您提供给 auth 实用程序的凭据登录,以查看更新的安全面板。您无需重新启动 Solr,因为安全配置将从 Zookeeper 自动刷新。

安全屏幕提供以下功能

  • 安全设置:有关已配置的身份验证和授权插件的详细信息。

  • 用户:如果使用 基本身份验证插件 插件,则可以读取、创建、更新和删除用户帐户;对于所有其他身份验证插件,此面板处于禁用状态。

  • 角色:如果使用 基于规则的授权插件 插件,则可以读取、创建和更新角色;对于所有其他授权插件,此面板处于禁用状态。

  • 权限:如果使用 基于规则的授权插件 插件,则可以读取、创建、更新和删除权限。

用户管理

当使用 基本身份验证插件 插件时,管理员可以读取、创建、更新和删除用户帐户。

image
有限的用户管理功能

Solr 的用户管理旨在供管理员用于授予对受保护 API 的访问权限,并且缺少常见用户帐户管理功能,如密码过期和密码自助服务(更改/重置/恢复)。因此,如果用户帐户遭到入侵,则管理员需要使用 UI 或 API 更改密码或禁用该帐户。

要编辑用户帐户,请单击表中的行以打开编辑用户对话框。您可以更改用户的密码并更改其角色成员资格。

image

对于具有许多用户帐户的系统,请使用用户表顶部的筛选器控件根据常见属性查找用户。

image

对于其他身份验证插件,如 JWT 身份验证插件 插件,此面板将被禁用,因为用户由外部系统管理。

角色管理

角色 将用户链接到权限。如果使用基于规则的授权插件,管理员可以读取、创建和更新角色。不支持删除角色。

image

要编辑角色,只需单击表中对应的行即可。

如果不使用基于规则的授权插件,则角色面板将被禁用,因为用户角色分配由外部系统管理。

权限管理

安全屏幕上的权限面板允许管理员读取、创建、更新和删除权限。

image

有关 Solr 中权限如何工作的详细信息,请参阅:基于规则的授权权限

添加权限

单击添加权限按钮以打开添加权限对话框。

image

你可以或者从下拉选择列表中选择一个预定义的权限,或者为自定义权限提供一个唯一名称。创建新的预定义的权限仅仅是将权限映射到零个或多个角色,因为其他设置(例如路径)对于预定义的权限是不可变的。如果你需要对路径、请求方法或集合进行细粒度控制,那么请创建一个自定义权限。

如果你没有为权限选择任何角色,那么该权限将被分配null角色,这意味着授予匿名用户权限。但是,如果选中阻止匿名请求blockUnknown=true),那么将不允许匿名用户发出请求,因此具有null角色的权限实际上是无效的。

要编辑权限,只需单击表中对应的行即可。在编辑权限时,权限在权限列表中的当前索引是可编辑的。这允许你在需要时重新排列权限;请参阅权限排序。通常,你希望在security.json中从最具体到最不具体的权限列出。