|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.hbase.security.User
@InterfaceAudience.Public @InterfaceStability.Evolving public abstract class User
Wrapper to abstract out usage of user and group information in HBase.
This class provides a common interface for interacting with user and group
information across changing APIs in different versions of Hadoop. It only
provides access to the common set of functionality in
UserGroupInformation
currently needed by
HBase, but can be extended as needs change.
Field Summary | |
---|---|
static String |
HBASE_SECURITY_CONF_KEY
|
protected org.apache.hadoop.security.UserGroupInformation |
ugi
|
Constructor Summary | |
---|---|
User()
|
Method Summary | ||
---|---|---|
static User |
create(org.apache.hadoop.security.UserGroupInformation ugi)
Wraps an underlying UserGroupInformation instance. |
|
static User |
createUserForTesting(org.apache.hadoop.conf.Configuration conf,
String name,
String[] groups)
Generates a new User instance specifically for use in test code. |
|
boolean |
equals(Object o)
|
|
static User |
getCurrent()
Returns the User instance within current execution context. |
|
String[] |
getGroupNames()
Returns the list of groups of which this user is a member. |
|
String |
getName()
Returns the full user name. |
|
abstract String |
getShortName()
Returns the shortened version of the user name -- the portion that maps to an operating system user name. |
|
org.apache.hadoop.security.UserGroupInformation |
getUGI()
|
|
int |
hashCode()
|
|
static boolean |
isHBaseSecurityEnabled(org.apache.hadoop.conf.Configuration conf)
Returns whether or not secure authentication is enabled for HBase. |
|
static boolean |
isSecurityEnabled()
Returns whether or not Kerberos authentication is configured for Hadoop. |
|
static void |
login(org.apache.hadoop.conf.Configuration conf,
String fileConfKey,
String principalConfKey,
String localhost)
Log in the current process using the given configuration keys for the credential file and login principal. |
|
abstract void |
obtainAuthTokenForJob(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.mapreduce.Job job)
Requests an authentication token for this user and stores it in the user's credentials. |
|
abstract void |
obtainAuthTokenForJob(org.apache.hadoop.mapred.JobConf job)
Requests an authentication token for this user and stores it in the user's credentials. |
|
abstract
|
runAs(PrivilegedAction<T> action)
Executes the given action within the context of this user. |
|
abstract
|
runAs(PrivilegedExceptionAction<T> action)
Executes the given action within the context of this user. |
|
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String HBASE_SECURITY_CONF_KEY
protected org.apache.hadoop.security.UserGroupInformation ugi
Constructor Detail |
---|
public User()
Method Detail |
---|
public org.apache.hadoop.security.UserGroupInformation getUGI()
public String getName()
public String[] getGroupNames()
public abstract String getShortName()
public abstract <T> T runAs(PrivilegedAction<T> action)
public abstract <T> T runAs(PrivilegedExceptionAction<T> action) throws IOException, InterruptedException
IOException
InterruptedException
public abstract void obtainAuthTokenForJob(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.mapreduce.Job job) throws IOException, InterruptedException
IOException
InterruptedException
public abstract void obtainAuthTokenForJob(org.apache.hadoop.mapred.JobConf job) throws IOException, InterruptedException
IOException
InterruptedException
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public String toString()
toString
in class Object
public static User getCurrent() throws IOException
User
instance within current execution context.
IOException
public static User create(org.apache.hadoop.security.UserGroupInformation ugi)
UserGroupInformation
instance.
ugi
- The base Hadoop user
public static User createUserForTesting(org.apache.hadoop.conf.Configuration conf, String name, String[] groups)
User
instance specifically for use in test code.
name
- the full usernamegroups
- the group names to which the test user will belong
User
instancepublic static void login(org.apache.hadoop.conf.Configuration conf, String fileConfKey, String principalConfKey, String localhost) throws IOException
This is only applicable when running on secure Hadoop -- see org.apache.hadoop.security.SecurityUtil#login(Configuration,String,String,String). On regular Hadoop (without security features), this will safely be ignored.
conf
- The configuration data to usefileConfKey
- Property key used to configure path to the credential fileprincipalConfKey
- Property key used to configure login principallocalhost
- Current hostname to use in any credentials
IOException
- underlying exception from SecurityUtil.login() callpublic static boolean isSecurityEnabled()
false
.
For secure Hadoop, it will return the value from
UserGroupInformation.isSecurityEnabled()
.
public static boolean isHBaseSecurityEnabled(org.apache.hadoop.conf.Configuration conf)
hbase.security.authentication
and hadoop.security.authentication
are set to kerberos
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |