【问题标题】:Kerberos authentication for java spring boot deployed in tomcat用于部署在 tomcat 中的 java spring boot 的 Kerberos 身份验证
【发布时间】:2020-01-02 10:12:03
【问题描述】:

我在 tomcat (v8) 中部署了一个 Spring Boot War(微服务)。微服务端点在 API 网关中作为 API 公开。

微服务会调用底层 HBase 数据源获取数据集,调用 HBase 前需要进行 kerberos 认证。

我的疑问是:我们是否需要从微服务代码中显式处理才能启用此 kerberos 身份验证?还是将 jass.conf 放在部署微服务战争的 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)

【问题讨论】:

    标签: spring-boot hbase kerberos tomcat8


    【解决方案1】:

    我采用了使用服务帐户处理 kerberos 身份验证的方法,并在应用程序 (java) 代码中进行了相同处理。此外,为该服务帐户创建了一个 keytab,以获得有效的 kerberos 票证。

    【讨论】:

    • SIva 你能分享示例java代码吗?我一直到 keytab,但在部署我的应用程序的 tomcat 中配置后无法继续
    猜你喜欢
    • 2018-10-09
    • 2017-07-30
    • 2015-12-11
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 2023-03-03
    • 2010-11-28
    • 1970-01-01
    相关资源
    最近更新 更多