java spring 启动的 Kerberos 身份验证部署在 tomcat
Kerberos authentication for java spring boot deployed in tomcat
我在 tomcat (v8) 中部署了 spring 启动 war(微服务)。微服务端点在 API 网关中作为 API 公开。
微服务会调用底层HBase数据源获取数据集,调用HBase前需要kerberos认证。
我的问题是:我们是否需要从微服务代码中显式处理以启用此 kerberos 身份验证?或者将 jass.conf 放在部署微服务 war 的 tomcat conf 目录中就足够了吗?
jass.conf 配置如下:
https://examples.javacodegeeks.com/enterprise-java/tomcat/apache-tomcat-kerberos-authentication-tutorial/
我的jass.conf文件内容:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
principal=”HTTP/MYDOMAIN.COM” useKeyTab=true
keyTab=”/opt/tomcat_server/tomcat_server/tomcat/conf/krb5.keytab”
doNotPrompt=true storeKey=true debug=true;
};
com.sun.security.jgss.accept {
com.sun.security.auth.module.Krb5LoginModule required
principal=”HTTP/MYDOMAIN.COM” useKeyTab=true
keyTab=”/opt/tomcat_server/tomcat_server/tomcat/conf/krb5.keytab”
doNotPrompt=true storeKey=true debug=true;
};
当我将我的 jass.conf 放入 tomcat/conf 目录而不对微服务代码进行任何更改时,tomcat 出现以下错误:
INFO org.apache.zookeeper.ClientCnxn- Opening socket connection to server
<server name>. Will not attempt to authenticate using SASL (unknown error)
我采用了使用服务帐户处理 kerberos 身份验证的方法,并在应用程序 (java) 代码中处理了相同的方法。此外,为有效的 kerberos 票证为该服务帐户创建了一个密钥表。
我在 tomcat (v8) 中部署了 spring 启动 war(微服务)。微服务端点在 API 网关中作为 API 公开。
微服务会调用底层HBase数据源获取数据集,调用HBase前需要kerberos认证。
我的问题是:我们是否需要从微服务代码中显式处理以启用此 kerberos 身份验证?或者将 jass.conf 放在部署微服务 war 的 tomcat conf 目录中就足够了吗? jass.conf 配置如下: https://examples.javacodegeeks.com/enterprise-java/tomcat/apache-tomcat-kerberos-authentication-tutorial/
我的jass.conf文件内容:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
principal=”HTTP/MYDOMAIN.COM” useKeyTab=true
keyTab=”/opt/tomcat_server/tomcat_server/tomcat/conf/krb5.keytab”
doNotPrompt=true storeKey=true debug=true;
};
com.sun.security.jgss.accept {
com.sun.security.auth.module.Krb5LoginModule required
principal=”HTTP/MYDOMAIN.COM” useKeyTab=true
keyTab=”/opt/tomcat_server/tomcat_server/tomcat/conf/krb5.keytab”
doNotPrompt=true storeKey=true debug=true;
};
当我将我的 jass.conf 放入 tomcat/conf 目录而不对微服务代码进行任何更改时,tomcat 出现以下错误:
INFO org.apache.zookeeper.ClientCnxn- Opening socket connection to server
<server name>. Will not attempt to authenticate using SASL (unknown error)
我采用了使用服务帐户处理 kerberos 身份验证的方法,并在应用程序 (java) 代码中处理了相同的方法。此外,为有效的 kerberos 票证为该服务帐户创建了一个密钥表。