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

Steve Loughran edited comment on HADOOP-14556 at 8/4/17 7:28 PM:
-----------------------------------------------------------------

Patch 001, as a PoC rather than anything ready for line by line review

This adds the option of enabling delegation tokens. If set, when logged in with 
full credentials, then DTs can be obtained for a limited (configurable) 
lifespan...these are just session credentials. The DT can be marshalled over 
the wire then unmarshalled, where the new {{DelegationTokenCredentialProvider}} 
provider will find them and use them for auth. The encryption settings are also 
passed in, so a DT can contain the key for 

These tokens cannot be renewed, nor can they be revoked. But they will always 
have limited life. 

* Minimal changes to S3AFS, as the new work is all in {{S3ADelegationTokens}} 
apart from the init logic and binding to the {{ getCanonicalServiceName() }},
 and {{getDelegationToken()}} methods. As long as the tokens also work with DDB 
then s3guard integration should be straightforward.
* bits of refactoring about how session credentials are extracted and validated 
in our AWS credential providers.
* There's no support for propagating encryption options & key secrets; that's 
the obvious next step. A user should be able to provide their own key for file 
access, which would then be marshalled over to the workers.

+ does some reinstatement of the URI, HADOOP-14723, but that should really be 
isolated





was (Author: [email protected]):
Patch 001, as a PoC rather than anything ready for line by line review

This adds the option of enabling delegation tokens. If set, when logged in with 
full credentials, then DTs can be obtained for a limited (configurable) 
lifespan...these are just session credentials. The DT can be marshalled over 
the wire then unmarshalled, where the new {{DelegationTokenCredentialProvider}} 
provider will find them and use them for auth. The encryption settings are also 
passed in, so a DT can contain the key for 

These tokens cannot be renewed, nor can they be revoked. But they will always 
have limited life. 

* Minimal changes to S3AFS, as the new work is all in {{S3ADelegationTokens}} 
apart from the init logic and binding to the {{ getCanonicalServiceName() }},
 and {{getDelegationToken()}} methods. As long as the tokens also work with DDB 
then s3guard integration should be straightforward.
* bits of refactoring about how session credentials are extracted and validated 
in our AWS credential providers.
* There's no support for propagating encryption options & key secrets; that's 
the obvious next step. A user should be able to provide their own key for file 
access, which would then be marshalled over to the workers.






> S3A to support Delegation Tokens
> --------------------------------
>
>                 Key: HADOOP-14556
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14556
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: HADOOP-14556-001.patch
>
>
> S3A to support delegation tokens where
> * an authenticated client can request a token via 
> {{FileSystem.getDelegationToken()}}
> * Amazon's token service is used to request short-lived session secret & id; 
> these will be saved in the token and  marshalled with jobs
> * A new authentication provider will look for a token for the current user 
> and authenticate the user if found
> This will not support renewals; the lifespan of a token will be limited to 
> the initial duration. Also, as you can't request an STS token from a 
> temporary session, IAM instances won't be able to issue tokens.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to