[
https://issues.apache.org/jira/browse/KUDU-2096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16126479#comment-16126479
]
Todd Lipcon commented on KUDU-2096:
-----------------------------------
A few notes:
- the C++ client (at least in Kudu 1.4 and earlier) always resolves the passed
host name into an IP and passes that into the SASL and krb5 libraries. We then
rely on 'rdns = true' setting (the default) in krb5.conf to resolve it back to
the canonical name of the host. So, if there is a DNS configuration like:
{code}
kudumaster.example.com CNAME server1.example.com
server1.example.com A 1.2.3.4
4.3.2.1.in-addr.arpa. PTR server1.example.com
{code}
then the C++ client will resolve 'kudumaster.example.com' to '1.2.3.4', and
then krb5 will reverse it to 'server1.example.com', the FQDN of the actual
host. The server already assumes and requires that its keytab have a principal
kudu/FQDN@REALM, so the incoming client's expected principal will match the
actual principal used by the server.
The Java client on the other hand seems to skip the canonicalization and will
try to find a principal kudu/kudumaster.example.com and fail, since the correct
principal is kudu/server1.example.com.
> Document necessary configuration for Kerberos with master CNAMEs
> ----------------------------------------------------------------
>
> Key: KUDU-2096
> URL: https://issues.apache.org/jira/browse/KUDU-2096
> Project: Kudu
> Issue Type: Task
> Components: documentation, security
> Reporter: Todd Lipcon
>
> Currently our docs recommend using CNAMEs for master addresses to simplify
> moving them around. However, if clients connect to a master with its
> non-canonical name, there are some complications with Kerberos principals,
> etc. We should test and document the necessary steps for such a configuration.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)