[ 
https://issues.apache.org/jira/browse/HADOOP-9392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13656115#comment-13656115
 ] 

Larry McCay commented on HADOOP-9392:
-------------------------------------

Thank you for taking the time to read the overview, Kai. You've pointed out a 
couple things that I will have to make more clear in a revision to that 
document. One being that you interpreted the service access token as purely 
being used as an authenticator. This is not actually the case. One of the 
primary purposes of having a secondary token for accessing the service is 
carrying the arbitrary attributes used for fine-grained access control 
decisions. This is why the service access token expires frequently. Since the 
acquisition of these attributes is done at service access token request time, 
those attributes that are interrogated by policy are able to be as fresh as 
possible without having to re-authenticate. Cluster access tokens, on the other 
hand, are longer lived and are used to represent the authenticated user and the 
event of authentication itself. This way, service access tokens can be provided 
to clients that have been authenticated with specific types of authentication 
event requirements - like a strength level of the authentication performed. 
Perhaps, a deployment would prefer one IDP over another for accessing a 
particular service. Like the Authorization Codes in OAuth, it can be persisted 
and utilized by many types of applications - upon expiry it needs to be 
refreshed or the user needs to be re-authenticated. By indicating specific 
scopes for the cluster access token, it may be given to third-parties to use on 
the user's behalf with a constrained ability to acquire service access tokens 
to only those services indicated by the list of scopes. We see the separation 
of concerns between the two tokens as important to eliminate unnecessary 
re-authentication, limit the amount of damage that a compromised token can 
enable and ensure freshness of authorization related attributes. 

Your thoughts of HSSO across clusters is very much in line with what we 
envision as our use of HSSO within the perimeter security story that is 
targeted by Knox. I tried to leave the multi-cluster usecases out of this 
overview as to not muddy the waters with the perimeter story. It seems that 
maybe it leaked into the document a bit - I guess the IDP Discovery protocol 
leaks it. Anyway, I am curious whether you see a usecase for multiple clusters 
without it being a perimeter based deployment. I think that I will save the 
discussion of the multi-cluser deployments for another thread though.

We definitely envision and plan on a service registry component to HSSO which 
aligns well with your thoughts about layering HSSO over TAS - we see the 
authenticating and service registry components as going hand in hand.

We are in the process of making arrangements for a security get together at 
Hadoop Summit next month. I hope that you will be able to attend. This will be 
a great opportunity to get together and talk about this rationalization, 
layering and multi-cluster deployment usecases. We should try and identify 
aspects of this work for the agenda.


                
> Token based authentication and Single Sign On
> ---------------------------------------------
>
>                 Key: HADOOP-9392
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9392
>             Project: Hadoop Common
>          Issue Type: New Feature
>          Components: security
>            Reporter: Kai Zheng
>            Assignee: Kai Zheng
>             Fix For: 3.0.0
>
>         Attachments: token-based-authn-plus-sso.pdf
>
>
> This is an umbrella entry for one of project Rhino’s topic, for details of 
> project Rhino, please refer to 
> https://github.com/intel-hadoop/project-rhino/. The major goal for this entry 
> as described in project Rhino was 
>  
> “Core, HDFS, ZooKeeper, and HBase currently support Kerberos authentication 
> at the RPC layer, via SASL. However this does not provide valuable attributes 
> such as group membership, classification level, organizational identity, or 
> support for user defined attributes. Hadoop components must interrogate 
> external resources for discovering these attributes and at scale this is 
> problematic. There is also no consistent delegation model. HDFS has a simple 
> delegation capability, and only Oozie can take limited advantage of it. We 
> will implement a common token based authentication framework to decouple 
> internal user and service authentication from external mechanisms used to 
> support it (like Kerberos)”
>  
> We’d like to start our work from Hadoop-Common and try to provide common 
> facilities by extending existing authentication framework which support:
> 1.    Pluggable token provider interface 
> 2.    Pluggable token verification protocol and interface
> 3.    Security mechanism to distribute secrets in cluster nodes
> 4.    Delegation model of user authentication

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to