You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2025/07/14 06:26:00 UTC

[jira] [Commented] (HADOOP-19535) S3A : Add WebIdentityTokenFileCredentialsProvider to default S3 credential provider chain

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

ASF GitHub Bot commented on HADOOP-19535:
-----------------------------------------

shameersss1 opened a new pull request, #7802:
URL: https://github.com/apache/hadoop/pull/7802

   ### Description of PR
   
   Add WebIdentityTokenFileCredentialsProvider to default S3 credential provider chain to support Amazon EKS / K8s deployment
   
   ### How was this patch tested?
   
   * Tested in us-east-1 by running Unit tests and Integration tests
   * Tested in Amazon EC2 , Amazon EKS / K8s , Amazon Container / EMR Serverless
   
   
   
   ### For code changes:
   
   - [x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
   - [x] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
   - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)?
   - [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, `NOTICE-binary` files?
   
   




> S3A : Add WebIdentityTokenFileCredentialsProvider to default S3 credential provider chain
> -----------------------------------------------------------------------------------------
>
>                 Key: HADOOP-19535
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19535
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: fs/s3
>            Reporter: Syed Shameerur Rahman
>            Assignee: Syed Shameerur Rahman
>            Priority: Major
>
> The current default s3 credential provider chain is set in the order of 
> {code:java}
> org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider,org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider,software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider,org.apache.hadoop.fs.s3a.auth.IAMInstanceCredentialsProvider{code}
> Refer [code ref |https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml#L1450]for more details.
>  
> This works perfectly fine when used in AWS EC2, EMR Serverless, but not with AWS EKS pods.
>  
> For EKS pods, It is recommended to use
> {code:java}
> software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider , software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider (PodIdentity is enabled){code}
> WebIdentityTokenFileCredentialsProvider is an AWS credentials provider that enables applications to obtain temporary AWS credentials by assuming an IAM role using a web identity token (like OAuth or OIDC tokens). It's particularly important in EKS as it's the underlying mechanism that makes IRSA (IAM Roles for Service Accounts) work.
>  
>  
> ContainerCredentialsProvider is already part of org.apache.hadoop.fs.s3a.auth.IAMInstanceCredentialsProvider



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org