設定 hive authorization
root權限編輯hive configcommand
vim /etc/hive/conf.dist/hive-site.xml
*需打包jar com.qiku.custom.auth.HiveServer2Auth
<property> <name>hive.server2.enable.doAs</name> <value>false</value> </property>
<property> <name>hive.server2.authentication</name> <value>CUSTOM</value> </property>
<property> <name>hive.server2.custom.authentication.class</name> <value>org.apache.hive.service.auth.PasswdAuthenticationProvider.SampleAuth</value>
</property>
自定義登入邏輯
[java] 儲存為HiveServer2Auth.jar 放在${HIVE_HOME}/lib下
package org.apache.hive.service.auth.PasswdAuthenticationProvider.SampleAuth;
import java.util.Hashtable;
import javax.security.sasl.AuthenticationException;
import org.apache.hive.service.auth.PasswdAuthenticationProvider;
/*
javac -cp $HIVE_HOME/lib/hive-service-0.12.0-cdh5.0.0-beta-2.jar SampleAuthenticator.java -d .
jar cf sampleauth.jar hive
cp sampleauth.jar $HIVE_HOME/lib/.
*/
public class SampleAuthenticator implements PasswdAuthenticationProvider {
Hashtable<String, String> store = null;
public SampleAuthenticator () {
store = new Hashtable<String, String>();
store.put("user1", "passwd1");
store.put("user2", "passwd2");
}
@Override
public void Authenticate(String user, String password)
throws AuthenticationException {
String storedPasswd = store.get(user);
if (storedPasswd != null && storedPasswd.equals(password))
return;
throw new AuthenticationException("SampleAuthenticator: Error validating user");
}
}
相關參考
Simple User/Password authentication for HiveServer2[一起学Hive]之二十-自定义HiveServer2的用户安全认证
http://zhangxiong0301.iteye.com/blog/2220530
[Apache Hive] Configuration Properties
[Apache Hive] LanguageManual Authorization
留言
張貼留言