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 "Steven Wong (JIRA)" <ji...@apache.org> on 2016/01/20 22:04:39 UTC

[jira] [Updated] (HADOOP-12723) S3A: Add ability to plug in any AWSCredentialsProvider

     [ 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)