忘掉Hadoop的UGI:JDBC驱动程序只需要原始JAAS配置创建一个Kerberos票据上即时(与useKeyTab
升起和降下useTicketCache
)。
系统属性
java.security.krb5.conf
=>(可选)非defaut的Kerberos CONF
java.security.auth.login.config
=> JAAS配置文件
javax.security.auth.useSubjectCredsOnly
=>必须强制为 “假” (该默认已经在一些Java版本中发生了变化,嗯)
示例JAAS conf文件,Impala/Hive Cloudera驱动程序
此处带有Java风格表示法的Windows路径。
Client {
com.sun.security.auth.module.Krb5LoginModule
required
useTicketCache=false
doNotPrompt=true
useKeyTab=true
keyTab="file:C:/blah/blah/dummy.keytab"
principal="[email protected]"
debug=false;
};
样品JAAS的conf文件,Apache的配置单元驱动
只需更改节的名称从Client
到com.sun.security.jgss.krb5.initiate
PS:你的东西,在相同的conf文件的多个部分;这意味着您可以定义一个“全局”配置文件,并使用它与多个工具&驱动程序库,具有一致的设置。
调试
sun.security.krb5.debug
=>设置为 “true”
java.security.debug
=>设置为 “gssloginconfig,CONFIGFILE,configparser,LoginContext的”
非常感谢。 \t 虽然你的回答不会帮助我解决我的问题。 – SimbaHuang