Package org.apache.pulsar.io.hdfs3
Class SecurityUtil
java.lang.Object
org.apache.pulsar.io.hdfs3.SecurityUtil
Provides synchronized access to UserGroupInformation to avoid multiple processors/services from
interfering with each other.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisSecurityEnabled(org.apache.hadoop.conf.Configuration config) Initializes UserGroupInformation with the given Configuration and returns UserGroupInformation.isSecurityEnabled().static org.apache.hadoop.security.UserGroupInformationloginKerberos(org.apache.hadoop.conf.Configuration config, String principal, String keyTab) Initializes UserGroupInformation with the given Configuration and performs the login for the given principal and keytab.static org.apache.hadoop.security.UserGroupInformationloginSimple(org.apache.hadoop.conf.Configuration config) Initializes UserGroupInformation with the given Configuration and returns UserGroupInformation.getLoginUser().
-
Field Details
-
HADOOP_SECURITY_AUTHENTICATION
- See Also:
-
KERBEROS
- See Also:
-
-
Constructor Details
-
SecurityUtil
public SecurityUtil()
-
-
Method Details
-
loginKerberos
public static org.apache.hadoop.security.UserGroupInformation loginKerberos(org.apache.hadoop.conf.Configuration config, String principal, String keyTab) throws IOException Initializes UserGroupInformation with the given Configuration and performs the login for the given principal and keytab. All logins should happen through this class to ensure other threads are not concurrently modifying UserGroupInformation.- Parameters:
config- the configuration instanceprincipal- the principal to authenticate askeyTab- the keytab to authenticate with- Returns:
- the UGI for the given principal
- Throws:
IOException- if login failed
-
loginSimple
public static org.apache.hadoop.security.UserGroupInformation loginSimple(org.apache.hadoop.conf.Configuration config) throws IOException Initializes UserGroupInformation with the given Configuration and returns UserGroupInformation.getLoginUser(). All logins should happen through this class to ensure other threads are not concurrently modifying UserGroupInformation.- Parameters:
config- the configuration instance- Returns:
- the UGI for the given principal
- Throws:
IOException- if login failed
-
isSecurityEnabled
public static boolean isSecurityEnabled(org.apache.hadoop.conf.Configuration config) Initializes UserGroupInformation with the given Configuration and returns UserGroupInformation.isSecurityEnabled(). All checks for isSecurityEnabled() should happen through this method.- Parameters:
config- the given configuration- Returns:
- true if kerberos is enabled on the given configuration, false otherwise
-