[
https://issues.apache.org/jira/browse/HADOOP-8215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Todd Lipcon updated HADOOP-8215:
--------------------------------
Attachment: hadoop-8215.txt
Attached patch implements the above. Here's a summary of changes:
- The ZKFC provides a new hook {{loginAsFCUser}} which implementations should
implement for keytab login. The DFS implementation implements this by logging
in using the NameNode keytab and credentials.
- Refactored some of the code in DFSHAAdmin into a static method to set up the
protocol principal information. This code is now called by
DFSZKFailoverController.setConf as well.
- Adds {{ha.zookeeper.acl}} and {{ha.zookeeper.auth}} configurations. These
configs specify the ACL used for the znodes, and the authentications added when
connecting to ZooKeeper. The format is the same as is used in the ZK shell.
Additionally, the config values may be specified as "@/path/to/file" which
allows an indirection. This is important when using digest-based authentication
so as to avoid leaking the secret password via the /conf servlet, etc.
- The ZK auth and acl parsing is in a new file called HAZKUtil. If we start
using ZK for other purposes in Hadoop, we could rename it to HadoopZKUtil or
something -- nothing HA-specific in here.
Note that a few of the RPC-related changes here are duplicate with HADOOP-8243.
I'll resolve that during the merge when necessary.
I also ran through some manual tests with a secure HDFS cluster and the ZKFC
and it seemed to work. That was on an earlier version of the patch. I'll
re-test with the latest patch before committing.
> Security support for ZK Failover controller
> -------------------------------------------
>
> Key: HADOOP-8215
> URL: https://issues.apache.org/jira/browse/HADOOP-8215
> Project: Hadoop Common
> Issue Type: Improvement
> Components: auto-failover, ha
> Affects Versions: 0.23.3, 0.24.0
> Reporter: Todd Lipcon
> Assignee: Todd Lipcon
> Priority: Critical
> Attachments: hadoop-8215.txt
>
>
> To keep the initial patches manageable, kerberos security is not currently
> supported in the ZKFC implementation. This JIRA is to support the following
> important pieces for security:
> - integrate with ZK authentication (kerberos or password-based)
> - allow the user to configure ACLs for the relevant znodes
> - add keytab configuration and login to the ZKFC daemons
> - ensure that the RPCs made by the health monitor and failover controller
> properly authenticate to the target daemons
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira