Class GssSaslClientAuthenticationProvider
java.lang.Object
org.apache.hadoop.hbase.security.provider.BuiltInSaslAuthenticationProvider
org.apache.hadoop.hbase.security.provider.GssSaslAuthenticationProvider
org.apache.hadoop.hbase.security.provider.GssSaslClientAuthenticationProvider
- All Implemented Interfaces:
SaslAuthenticationProvider,SaslClientAuthenticationProvider
@Private
public class GssSaslClientAuthenticationProvider
extends GssSaslAuthenticationProvider
implements SaslClientAuthenticationProvider
-
Field Summary
FieldsFields inherited from class org.apache.hadoop.hbase.security.provider.GssSaslAuthenticationProvider
SASL_AUTH_METHODFields inherited from class org.apache.hadoop.hbase.security.provider.BuiltInSaslAuthenticationProvider
AUTH_TOKEN_TYPE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanRetry()Returns true if the implementation is capable of performing some action which may allow a failed authentication to become a successful authentication.createClient(org.apache.hadoop.conf.Configuration conf, InetAddress serverAddr, String serverPrincipal, org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier> token, boolean fallbackAllowed, Map<String, String> saslProps) Create the SASL client instance for this authentication method.org.apache.hadoop.security.UserGroupInformationgetRealUser(User user) Returns the "real" user, the user who has the credentials being authenticated by the remote service, in the form of anUserGroupInformationobject.org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.UserInformationgetUserInfo(User user) Constructs aRPCProtos.UserInformationfrom the givenUserGroupInformationvoidrelogin()Executes any necessary logic to re-login the client.Methods inherited from class org.apache.hadoop.hbase.security.provider.GssSaslAuthenticationProvider
getSaslAuthMethodMethods inherited from class org.apache.hadoop.hbase.security.provider.BuiltInSaslAuthenticationProvider
createSaslAuthMethod, getTokenKindMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.hadoop.hbase.security.provider.SaslAuthenticationProvider
getSaslAuthMethod, getTokenKindMethods inherited from interface org.apache.hadoop.hbase.security.provider.SaslClientAuthenticationProvider
createClient
-
Field Details
-
LOG
-
-
Constructor Details
-
GssSaslClientAuthenticationProvider
public GssSaslClientAuthenticationProvider()
-
-
Method Details
-
createClient
public SaslClient createClient(org.apache.hadoop.conf.Configuration conf, InetAddress serverAddr, String serverPrincipal, org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier> token, boolean fallbackAllowed, Map<String, String> saslProps) throws IOExceptionDescription copied from interface:SaslClientAuthenticationProviderCreate the SASL client instance for this authentication method.The default implementation is create a fake
SecurityInfoand call the above method, for keeping compatible with old customized authentication method- Specified by:
createClientin interfaceSaslClientAuthenticationProvider- Throws:
IOException
-
getUserInfo
public org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.UserInformation getUserInfo(User user) Description copied from interface:SaslClientAuthenticationProviderConstructs aRPCProtos.UserInformationfrom the givenUserGroupInformation- Specified by:
getUserInfoin interfaceSaslClientAuthenticationProvider
-
canRetry
Description copied from interface:SaslClientAuthenticationProviderReturns true if the implementation is capable of performing some action which may allow a failed authentication to become a successful authentication. Otherwise, returns false- Specified by:
canRetryin interfaceSaslClientAuthenticationProvider
-
relogin
Description copied from interface:SaslClientAuthenticationProviderExecutes any necessary logic to re-login the client. Not all implementations will have any logic that needs to be executed.- Specified by:
reloginin interfaceSaslClientAuthenticationProvider- Throws:
IOException
-
getRealUser
Description copied from interface:SaslClientAuthenticationProviderReturns the "real" user, the user who has the credentials being authenticated by the remote service, in the form of anUserGroupInformationobject. It is common in the Hadoop "world" to have distinct notions of a "real" user and a "proxy" user. A "real" user is the user which actually has the credentials (often, a Kerberos ticket), but some code may be running as some other user who has no credentials. This method gives the authentication provider a chance to acknowledge this is happening and ensure that any RPCs are executed with the real user's credentials, because executing them as the proxy user would result in failure because no credentials exist to authenticate the RPC. Not all implementations will need to implement this method. By default, the provided User's UGI is returned directly.- Specified by:
getRealUserin interfaceSaslClientAuthenticationProvider
-