如何在使用com.ibm.security.auth.module.krb5loginmodule时设置jaas servicename

oprakyz7  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(457)

我有一个kafka producer web应用程序托管在ibmwebsphereliberty核心上。远程kafka主题通过kerberos进行保护。
我们使用的是ibmjdk,因此jaas类名是

com.ibm.security.auth.module.Krb5LoginModule

jaas配置需要以下选项

KafkaClient {
     com.ibm.security.auth.module.Krb5LoginModule required
     useKeyTab=true
     keyTab="/etc/security/keytabs/storm.service.keytab"
     storeKey=true
     useTicketCache=false
     serviceName="kafka"
     principal="storm@EXAMPLE.COM";
    };

不幸的是 com.ibm.security.auth.module.Krb5LoginModule 类只接受这些选项

Kerberos options
       principal=principalName
       credsType=initiator|acceptor|both (default=initiator)
       forwardable=true|false (default=false)
       proxiable=true|false (default=false)
       renewable=true|false (default=false)
       useCcache=URL
       useKeytab=URL
       useDefaultCcache=true|false (default=false)
       useDefaultKeytab=true|false (default=false)

 JAAS-suggested options:
       debug=true|false (default=unset, JGSS debug options used)
       tryFirstPass=true|false (default=false)
       useFirstPass=true|false (default=false)
       moduleBanner=true|false (default=false)

如何使用liberty core上的ibmjdk将servicename指定为“kafka”?

fgw7neuy

fgw7neuy1#

kerberos服务主体名称包括服务名称:

<serviceName>/<hostname>@KerberosRealmName

你有没有试着指定如下

principal="kafka/<hostname>@EXAMPLE.COM"
vecaoik1

vecaoik12#

下面是oraclejdkkrb5loginmodule配置。找不到servicename的任何oracle文档:

KafkaClient {
        com.sun.security.auth.module.Krb5LoginModule required
        useKeyTab=true
        keyTab="/etc/security/keytabs/storm.service.keytab"
        storeKey=true
        useTicketCache=false
        principal="storm@EXAMPLE.COM";
    };

以下是与ibm jdk krb5loginmodule配置等效的配置:

KafkaClient {
        com.ibm.security.auth.module.Krb5LoginModule required
        useKeyTab="/etc/security/keytabs/storm.service.keytab"
        useDefaultCcache=false
        principal="storm@EXAMPLE.COM";
    };

如果这是客户端配置端,客户端需要获取kerberos或spnego令牌才能出站,那么principal=storm@example.com"
如果您已经拥有与oraclejdk一起使用的kerberos配置,并且希望迁移到ibmjdk,请共享该配置,我将为您提供ibmjdk的等效配置。
当做,
乌特勒

相关问题