@@ -155,3 +155,33 @@ Valid starting Expires Service principal
155
155
Because this was a virtual cluster, DNS/RDNS probably wasn't working, presumably kerberos
156
156
didn't know what realm the host was in, and things went downhill. It just didn't show in
157
157
any validation operations, merely in the classic "no TGT" error.
158
+
159
+ ## The AD realm redirection failure
160
+
161
+ Real-life example:
162
+
163
+ * Company ACME has one ActiveDirectory domain per continent.
164
+ * Domains have mutual trust enabled.
165
+ * AD is also used for Kerberos authentication.
166
+ * Kerberos trust is handled by a few AD servers in the "root" domain.
167
+ * Hadoop cluster is running in Europe.
168
+
169
+ When a South American user opens a SSH session on the edge node, authentication is done by LDAP, no issue
170
+ the dirty work is done by the AD servers.
171
+ But when a S.A. user tries to connect to HDFS or HiveServer2, with principal
` [email protected] ` ,
172
+ then the Kerberos client must make several hops...
173
+
174
+ 1 . AD server for
@SAM .ACME.COM says "no, can't create ticket for svc/
[email protected] "
175
+ 1 . AD server for @SAM .ACME.COM says "OK, I can get you a credential to @ACME .COM, see what they can do there" alas,
176
+ 1 . There's no AD server defined in conf file for @ACME .COM
177
+ 1 . This leads to the all to familiar message, ` Fail to create credential. (63) - No service creds `
178
+
179
+ Of course the only thing displayed in logs was the final error message.
180
+ Even after enabling the "secret" debug flags, it was not clear what the client was trying to do
181
+ with all these attempts.
182
+ But the tell-tale was the "following capath" comment on each hop, because ` CAPATH ` is actually
183
+ an optional section in ` krb5.conf ` . Fix: add the information about cross realm authentication
184
+ to the ` krb5.conf ` file.
185
+
186
+ (CAPATH coverage: [ MIT] ( http://web.mit.edu/kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/capaths.html ) ,
187
+ [ Redhat] ( https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Smart_Cards/Setting_Up_Cross_Realm_Authentication.html )
0 commit comments