[
https://issues.apache.org/jira/browse/HADOOP-12723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steven Wong updated HADOOP-12723:
---------------------------------
Description:
Although S3A currently has built-in support for
{{org.apache.hadoop.fs.s3a.BasicAWSCredentialsProvider}},
{{com.amazonaws.auth.InstanceProfileCredentialsProvider}}, and
{{org.apache.hadoop.fs.s3a.AnonymousAWSCredentialsProvider}}, it does not
support any other credentials provider that implements the
{{com.amazonaws.auth.AWSCredentialsProvider}} interface. Supporting the ability
to plug in any {{com.amazonaws.auth.AWSCredentialsProvider}} instance will
expand the options for S3 credentials, such as:
* temporary credentials from STS, e.g. via
{{com.amazonaws.auth.STSSessionCredentialsProvider}}
* IAM role-based credentials, e.g. via
{{com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider}}
* a custom credentials provider that satisfies one's own needs, e.g.
bucket-specific credentials, user-specific credentials, etc.
To support this, we can add a configuration for the fully qualified class name
of a credentials provider, to be loaded by {{S3AFileSystem.initialize}} and
added to its credentials provider chain.
The configured credentials provider should implement
{{com.amazonaws.auth.AWSCredentialsProvider}} and have a constructor that
accepts {{(URI name, Configuration conf)}}.
was:
Although S3A currently has built-in support for
{{org.apache.hadoop.fs.s3a.BasicAWSCredentialsProvider.BasicAWSCredentialsProvider}},
{{com.amazonaws.auth.InstanceProfileCredentialsProvider.InstanceProfileCredentialsProvider}},
and
{{org.apache.hadoop.fs.s3a.AnonymousAWSCredentialsProvider.AnonymousAWSCredentialsProvider}},
it does not support any other credentials provider that implements the
{{com.amazonaws.auth.AWSCredentialsProvider}} interface. Supporting the ability
to plug in any {{com.amazonaws.auth.AWSCredentialsProvider}} instance will
expand the options for S3 credentials, such as:
* temporary credentials from STS, e.g. via
{{com.amazonaws.auth.STSSessionCredentialsProvider}}
* IAM role-based credentials, e.g. via
{{com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider}}
* a custom credentials provider that satisfies one's own needs, e.g.
bucket-specific credentials, user-specific credentials, etc.
To support this, we can add a configuration for the fully qualified class name
of a credentials provider, to be loaded by {{S3AFileSystem.initialize}} and
added to its credentials provider chain.
The configured credentials provider should implement
{{com.amazonaws.auth.AWSCredentialsProvider}} and have a constructor that
accepts {{(URI name, Configuration conf)}}.
> S3A: Add ability to plug in any AWSCredentialsProvider
> ------------------------------------------------------
>
> Key: HADOOP-12723
> URL: https://issues.apache.org/jira/browse/HADOOP-12723
> Project: Hadoop Common
> Issue Type: New Feature
> Components: fs/s3
> Affects Versions: 2.7.1
> Reporter: Steven Wong
> Assignee: Steven Wong
>
> Although S3A currently has built-in support for
> {{org.apache.hadoop.fs.s3a.BasicAWSCredentialsProvider}},
> {{com.amazonaws.auth.InstanceProfileCredentialsProvider}}, and
> {{org.apache.hadoop.fs.s3a.AnonymousAWSCredentialsProvider}}, it does not
> support any other credentials provider that implements the
> {{com.amazonaws.auth.AWSCredentialsProvider}} interface. Supporting the
> ability to plug in any {{com.amazonaws.auth.AWSCredentialsProvider}} instance
> will expand the options for S3 credentials, such as:
> * temporary credentials from STS, e.g. via
> {{com.amazonaws.auth.STSSessionCredentialsProvider}}
> * IAM role-based credentials, e.g. via
> {{com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider}}
> * a custom credentials provider that satisfies one's own needs, e.g.
> bucket-specific credentials, user-specific credentials, etc.
> To support this, we can add a configuration for the fully qualified class
> name of a credentials provider, to be loaded by {{S3AFileSystem.initialize}}
> and added to its credentials provider chain.
> The configured credentials provider should implement
> {{com.amazonaws.auth.AWSCredentialsProvider}} and have a constructor that
> accepts {{(URI name, Configuration conf)}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)