Description
As with the filesystem API, we need to provide a generic mechanism to support multiple credential storage mechanisms that are potentially from third parties.
We need the ability to eliminate the storage of passwords and secrets in clear text within configuration files or within code.
Toward that end, I propose an API that is configured using a list of URLs of CredentialProviders. The implementation will look for implementations using the ServiceLoader interface and thus support third party libraries.
Two providers will be included in this patch. One using the credentials cache in MapReduce jobs and the other using Java KeyStores from either HDFS or local file system.
A CredShell CLI will also be included in this patch which provides the ability to manage the credentials within the stores.
Attachments
Attachments
Issue Links
- is depended upon by
-
SLIDER-263 AM should no longer persist keystore password
- Resolved
-
SLIDER-254 Use hadoop CredentialProvider for sensitive configs
- Resolved
- is related to
-
HIVE-19746 Hadoop credential provider allows to read passwords for every user
- Open
-
HADOOP-9534 Credential Management Framework (CMF)
- Resolved
-
HIVE-7175 Provide password file option to beeline
- Closed
- relates to
-
HADOOP-10829 Iteration on CredentialProviderFactory.serviceLoader is thread-unsafe
- Resolved
-
HADOOP-10831 UserProvider is not thread safe
- Resolved
-
HADOOP-10904 Provide Alt to Clear Text Passwords through Cred Provider API
- Resolved
-
HADOOP-10141 Create an API to separate encryption key storage from applications
- Closed
-
HADOOP-10830 Missing lock in JavaKeyStoreProvider.createCredentialEntry
- Closed
-
HIVE-7634 Use Configuration.getPassword() if available to eliminate passwords from hive-site.xml
- Closed
-
ACCUMULO-2464 Trace user password required in plaintext in accumulo-site.xml
- Resolved
-
HADOOP-10834 Typo in CredentialShell usage
- Resolved
-
HADOOP-10833 Remove unused cache in UserProvider
- Closed