Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.4.2
-
None
Description
I'm trying to configure a process with Hadoop security (Hive metastore server) to talk to ZooKeeper 3.4.2 with Kerberos authentication. In this scenario Hadoop controls the SASL configuration (org.apache.hadoop.security.UserGroupInformation.HadoopConfiguration), instead of setting up the ZooKeeper "Client" loginContext via jaas.conf and system property
-Djava.security.auth.login.config
Using the Hadoop configuration would work, except that ZooKeeper client code expects the loginContextName to be "Client" while Hadoop security will use "hadoop-keytab-kerberos". I verified that by changing the name in the debugger the SASL authentication succeeds while otherwise the login configuration cannot be resolved and the connection to ZooKeeper is unauthenticated.
To integrate with Hadoop, the following in ZooKeeperSaslClient would need to change to make the name configurable:
login = new Login("Client",new ClientCallbackHandler(null));
Attachments
Attachments
Issue Links
- depends upon
-
ZOOKEEPER-938 Support Kerberos authentication of clients.
- Closed
- is depended upon by
-
HIVE-2712 Make ZooKeeper token store ACL configurable
- Closed
- is related to
-
HADOOP-7853 multiple javax security configurations cause conflicts
- Closed
-
ZOOKEEPER-1497 Allow server-side SASL login with JAAS configuration to be programmatically set (rather than only by reading JAAS configuration file)
- Resolved
-
HBASE-4791 Allow Secure Zookeeper JAAS configuration to be programmatically set (rather than only by reading JAAS configuration file)
- Closed
-
ZOOKEEPER-1467 Make server principal configurable at client side.
- Closed
- relates to
-
HADOOP-7853 multiple javax security configurations cause conflicts
- Closed