[ 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(URI, Configuration)}}. The configured credentials provider should implement {{com.amazonaws.auth.AWSCredentialsProvider}} and have a constructor that accepts {{(URI uri, Configuration conf)}}. was: 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 uri, 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 > Attachments: HADOOP-12723.0.patch, HADOOP-12723.1.patch, > HADOOP-12723.2.patch > > > 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(URI, Configuration)}}. > The configured credentials provider should implement > {{com.amazonaws.auth.AWSCredentialsProvider}} and have a constructor that > accepts {{(URI uri, Configuration conf)}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)