证书身份验证插件
Solr 可以使用 CertAuthPlugin
从客户端证书中提取用户主体。
启用证书身份验证
对于证书身份验证,security.json
文件必须有一个 authentication
部分,用于定义用于身份验证的类。
示例 security.json
如下所示
{
"authentication": {
"class":"solr.CertAuthPlugin"
}
}
证书验证
证书验证的部分内容,包括验证信任链和对等主机名/IP 地址,将在请求到达身份验证插件之前由 Web Servlet 容器完成。这些检查在 启用 SSL 部分中进行了描述。
此插件不会提供超出通过 SSL 属性配置的任何其他检查。
用户主体提取
此插件将根据客户端证书中存在的 X500 主体为请求配置用户主体。授权插件需要接受并处理完整的主题名称,例如
CN=Solr User,OU=Engineering,O=Example Inc.,C=US
RFC-5280 第 4.1.2.4 节 中提供了主题名称中可能存在的标签列表。值可能包含空格、标点符号和其他字符。
在根据内容配置授权之前,最好验证受信任证书颁发机构颁发的证书的实际内容。
将证书身份验证与客户端(包括 SolrJ)配合使用
启用证书身份验证后,所有客户端请求都必须包含有效证书。这与使用 SSL 时客户端要求相同。