憑證驗證外掛程式
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 時的用戶端需求相同。