忘记Hadoop UGI:JDBC驱动程序只需要原始的JAAS配置就可以动态地(useKeyTab升高和useTicketCache降低)创建Kerberos票证。
系统属性
java.security.krb5.conf =>(可选)非默认的Kerberos conf
java.security.auth.login.config => JAAS配置文件
javax.security.auth.useSubjectCredsOnly =>必须强制为“ false” (在某些Java版本中,默认值已更改,duh)
示例JAAS conf文件,Impala / Hive Cloudera驱动程序,
此处带有Windows路径(Java样式表示法)。
Client {
com.sun.security.auth.module.Krb5LoginModule
required
useTicketCache=false
doNotPrompt=true
useKeyTab=true
keyTab="file:C:/blah/blah/dummy.keytab"
principal="dummy@SOME.REALM"
debug=false;
};
示例JAAS conf文件,Apache Hive驱动程序
只需将部分名称从更改Client为com.sun.security.jgss.krb5.initiate
PS:您可以将多个部分填充在同一个conf文件中。这意味着您可以定义“全局” conf,并将其与具有一致设置的多个工具,驱动程序和库一起使用。
调试
sun.security.krb5.debug =>设置为“ true”
java.security.debug=>设置为“ gssloginconfig,配置文件,configparser,logincontext”
本文介绍如何通过原始的JAAS配置来动态创建Kerberos票证,适用于Hadoop UGI环境下JDBC驱动程序。文章详细说明了必要的系统属性设置,包括java.security.krb5.conf、java.security.auth.login.config等,并提供了示例JAAS配置文件。

910

被折叠的 条评论
为什么被折叠?



