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

Steve Loughran commented on HADOOP-14556:
-----------------------------------------

bq. I did this so long ago, w/o understanding as much about s3 as you, that I 
need to refresh my memory on whether it was intentional or not. 

it certainly makes sense if you allow >1 login for a specific bucket, e.g

{code}
fs1 = Filesystem.get("s3a://user1:keyt@bucket1")
fs2 = Filesystem.get("s3a://user2:key2@bucket1")
{code}

then submit some job which reads from both filesystem instances. the FS1 DT 
would have the session info of user1; that of the FS2 DT would be that of the 
session info of user2. Having the user in the URI would be needed to ensure 
that the right DT was retrieved for the different filesystems, so the 
restricted permissions picked up

One other thing your patch does well is ask the existing auth chain for session 
tokens and uses them too. I want to make sure I can do that too, as a use case 
I'm thinking of is "yubikey authenticated user submitting credentials with a 
job". I don't think such a user can call assumeRole() (as they get session 
credentials with the 2FA login), but their original session tokens can be 
propagated



bq. Some of the design consideration your highlight, such always getting a STS 
token, were purposeful shortcuts (hence not submitted to community) since 
internally it is a solid requirement.

I understand. But I also know that you understand a lot more about how DTs work 
than me, so if there is something I don't understand, my first assumption is 
generally "I need to know more"

> 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
>    Affects Versions: 3.2.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Major
>         Attachments: HADOOP-14556-001.patch, HADOOP-14556-002.patch, 
> HADOOP-14556-003.patch, HADOOP-14556-004.patch, HADOOP-14556-005.patch, 
> HADOOP-14556-007.patch, HADOOP-14556.oath-002.patch, HADOOP-14556.oath.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
(v7.6.3#76005)

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

Reply via email to