Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
ManifoldCF 2.14
-
None
Description
Several enterprise deployments of Solr are leveraging SolrCloud Kerberos authentication.
The integration seems to be rather simple and the goal of this Jira is to evaluate the possential needed step to eventually contribute the Kerberos integration to the ManifoldCF project.
The following steps would be needed:
- One can pass the JVM parameter java.security.auth.login.config to the ManifoldCF JVM using -Djava.security.auth.login.config=/path/to/jaas.confg in which Kerberos authentication details, such as keytab and principal that has the right access to Solr is configured
- A small adaption to the SolrCloudClient that is used within Manifold needs to be done to enable Kerberos authentication: HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
Should this be integrated in Manifold, one may want to consider one input field in the configuration in the UI where one can select / flow which user defined in the Jaas conf (you can define multiple one) should be chosen. By default one may simply select "client" or "SolrJClient" if Jaas.conf is present in the System properties. This does not mean the user needs to be named like this, but the configuration entry referencing any user should be named like this.
Having a confiugration allows to have a different users per flow. This might also be needed in case you have multiple Solr clusters.
Related discussion http://mail-archives.apache.org/mod_mbox/manifoldcf-user/201912.mbox/browser
SolrJ Kerberos integration: https://lucene.apache.org/solr/guide/8_3/kerberos-authentication-plugin.html#using-solrj-with-a-kerberized-solr
Jaas conf documentation: https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/LoginConfigFile.html