vanzin commented on a change in pull request #23348: [SPARK-25857][core] Add 
developer documentation regarding delegation tokens.
URL: https://github.com/apache/spark/pull/23348#discussion_r245772127
 
 

 ##########
 File path: core/src/main/scala/org/apache/spark/deploy/security/README.md
 ##########
 @@ -0,0 +1,238 @@
+# Delegation Token Handling In Spark
+
+This document aims to explain and demystify delegation tokens as they are used 
by Spark, since
+this topic is generally a huge source of confusion.
+
+
+## What are delegation tokens?
+
+Delegation tokens (DTs from now on) are authentication tokens used by some 
services to replace
+Kerberos service tokens. Many services in the Hadoop ecosystem have support 
for DTs, since they
+have two very desirable advantages over Kerberos tokens:
+
+* No need to distribute Kerberos credentials
+
+In a distributed application, distributing Kerberos credentials is tricky. Not 
all users have
+keytabs, and when they do, it's generally frowned upon to distribute them over 
the network as
+part of application data.
+
+DTs allow for a single place (e.g. the Spark driver) to require Kerberos 
credentials. That entity
 
 Review comment:
   No, what I'm trying to say is that when you use DTs, there's a single place 
that needs to handle kerberos credentials.
   
   It doesn't matter if you're using keytabs or kinit. It's still a single 
place. And that single place is responsible for distributing the DTs to the 
other entities that needs to authenticate against services.
   
   It also doesn't need to be the Spark driver. As I mention in other places in 
the document, the DTs can be created by an external entity (like Oozie does).

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to