org.apache.hadoop.security.alias
Class CredentialProvider

java.lang.Object
  extended by org.apache.hadoop.security.alias.CredentialProvider

@InterfaceAudience.Public
@InterfaceStability.Unstable
public abstract class CredentialProvider
extends Object

A provider of credentials or password for Hadoop applications. Provides an abstraction to separate credential storage from users of them. It is intended to support getting or storing passwords in a variety of ways, including third party bindings.


Field Summary
static String CLEAR_TEXT_FALLBACK
           
 
Constructor Summary
CredentialProvider()
           
 
Method Summary
abstract  org.apache.hadoop.security.alias.CredentialProvider.CredentialEntry createCredentialEntry(String name, char[] credential)
          Create a new credential.
abstract  void deleteCredentialEntry(String name)
          Delete the given credential.
abstract  void flush()
          Ensures that any changes to the credentials are written to persistent store.
abstract  List<String> getAliases()
          Get the aliases for all credentials.
abstract  org.apache.hadoop.security.alias.CredentialProvider.CredentialEntry getCredentialEntry(String alias)
          Get the credential entry for a specific alias.
 boolean isTransient()
          Indicates whether this provider represents a store that is intended for transient use - such as the UserProvider is.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLEAR_TEXT_FALLBACK

public static final String CLEAR_TEXT_FALLBACK
See Also:
Constant Field Values
Constructor Detail

CredentialProvider

public CredentialProvider()
Method Detail

isTransient

public boolean isTransient()
Indicates whether this provider represents a store that is intended for transient use - such as the UserProvider is. These providers are generally used to provide job access to passwords rather than for long term storage.

Returns:
true if transient, false otherwise

flush

public abstract void flush()
                    throws IOException
Ensures that any changes to the credentials are written to persistent store.

Throws:
IOException

getCredentialEntry

public abstract org.apache.hadoop.security.alias.CredentialProvider.CredentialEntry getCredentialEntry(String alias)
                                                                                                throws IOException
Get the credential entry for a specific alias.

Parameters:
alias - the name of a specific credential
Returns:
the credentialEntry
Throws:
IOException

getAliases

public abstract List<String> getAliases()
                                 throws IOException
Get the aliases for all credentials.

Returns:
the list of alias names
Throws:
IOException

createCredentialEntry

public abstract org.apache.hadoop.security.alias.CredentialProvider.CredentialEntry createCredentialEntry(String name,
                                                                                                          char[] credential)
                                                                                                   throws IOException
Create a new credential. The given alias must not already exist.

Parameters:
name - the alias of the credential
credential - the credential value for the alias.
Throws:
IOException

deleteCredentialEntry

public abstract void deleteCredentialEntry(String name)
                                    throws IOException
Delete the given credential.

Parameters:
name - the alias of the credential to delete
Throws:
IOException


Copyright © 2014 Apache Software Foundation. All Rights Reserved.