<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: Connecting to on-prem kafka cluster from cloud AWS using Kerberos auth in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338687#M232900</link>
    <description>&lt;P&gt;Kafka version on prem -2.8.0&lt;/P&gt;&lt;P&gt;both cloud and on prem kafka running on regular unix box .Installed manually.&lt;/P&gt;&lt;P&gt;On cloud , kafka is installed on Ec2 box.&lt;/P&gt;</description>
    <pubDate>Tue, 15 Mar 2022 13:11:33 GMT</pubDate>
    <dc:creator>Ankit88</dc:creator>
    <dc:date>2022-03-15T13:11:33Z</dc:date>
    <item>
      <title>Connecting to on-prem kafka cluster from cloud AWS using Kerberos auth</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338682#M232898</link>
      <description>&lt;P&gt;Is it possible to connect to on-prem kafka cluster using Kerberos authentication from cloud deployed service?&lt;/P&gt;&lt;P&gt;When we are trying to connect we are getting below error:&lt;/P&gt;&lt;P&gt;Caused by: KrbException: Generic error (description in e-text) (60) - Unable to locate KDC for realm "ABC.COM"&lt;/P&gt;&lt;P&gt;This is my jaas config:&lt;/P&gt;&lt;P&gt;com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true storeKey=true keyTab="/pathtokeytab" principal="principal_name@ABC.COM" ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help me if anyone has faced such error.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Full stack trace:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Caused by: org.apache.kafka.common.KafkaException: javax.security.auth.login.LoginException: Cannot locate KDC&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:162)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:146)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:67)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:99)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.clients.producer.KafkaProducer.newSender(KafkaProducer.java:441)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.clients.producer.KafkaProducer.&amp;lt;init&amp;gt;(KafkaProducer.java:422)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 3 more&lt;BR /&gt;Caused by: javax.security.auth.login.LoginException: Cannot locate KDC&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:804)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:617)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.reflect.Method.invoke(Method.java:498)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.AccessController.doPrivileged(Native Method)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.security.auth.login.LoginContext.login(LoginContext.java:587)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.common.security.authenticator.AbstractLogin.login(AbstractLogin.java:60)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.common.security.kerberos.KerberosLogin.login(KerberosLogin.java:103)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.common.security.authenticator.LoginManager.&amp;lt;init&amp;gt;(LoginManager.java:61)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.common.security.authenticator.LoginManager.acquireLoginManager(LoginManager.java:104)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:151)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 8 more&lt;BR /&gt;Caused by: KrbException: Cannot locate KDC&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.krb5.Config.getKDCList(Config.java:1084)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.krb5.KdcComm.send(KdcComm.java:218)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.krb5.KdcComm.send(KdcComm.java:200)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.krb5.KrbAsReqBuilder.send(KrbAsReqBuilder.java:316)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.krb5.KrbAsReqBuilder.action(KrbAsReqBuilder.java:361)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:776)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 25 more&lt;BR /&gt;Caused by: KrbException: Generic error (description in e-text) (60) - Unable to locate KDC for realm "ABC.COM"&lt;/P&gt;</description>
      <pubDate>Tue, 15 Mar 2022 12:22:10 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338682#M232898</guid>
      <dc:creator>Ankit88</dc:creator>
      <dc:date>2022-03-15T12:22:10Z</dc:date>
    </item>
    <item>
      <title>Re: Connecting to on-prem kafka cluster from cloud AWS using Kerberos auth</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338685#M232899</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/96565"&gt;@Ankit88&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is your cloud Kafka running on CDP Public Cloud or is it your own deployment on AWS?&lt;/P&gt;&lt;P&gt;What about the Kafka on-prem? Is it a Kafka on CDP or some other type of deployment?&lt;/P&gt;&lt;P&gt;What the version of the on-prem Kafka?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;André&lt;/P&gt;</description>
      <pubDate>Tue, 15 Mar 2022 12:41:30 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338685#M232899</guid>
      <dc:creator>araujo</dc:creator>
      <dc:date>2022-03-15T12:41:30Z</dc:date>
    </item>
    <item>
      <title>Re: Connecting to on-prem kafka cluster from cloud AWS using Kerberos auth</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338687#M232900</link>
      <description>&lt;P&gt;Kafka version on prem -2.8.0&lt;/P&gt;&lt;P&gt;both cloud and on prem kafka running on regular unix box .Installed manually.&lt;/P&gt;&lt;P&gt;On cloud , kafka is installed on Ec2 box.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Mar 2022 13:11:33 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338687#M232900</guid>
      <dc:creator>Ankit88</dc:creator>
      <dc:date>2022-03-15T13:11:33Z</dc:date>
    </item>
    <item>
      <title>Re: Connecting to on-prem kafka cluster from cloud AWS using Kerberos auth</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338717#M232910</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/96565"&gt;@Ankit88&lt;/a&gt;&amp;nbsp;, thanks for the info!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The error that you're getting is because the host in the cloud where your application is running doesn't know anything about your Kerberos configuration, in particular, where your KDC is.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There's a few things you must do to configure it properly:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Ensure the Kerberos client libraries are installed on that host (krb5-workstation package)&lt;/LI&gt;&lt;LI&gt;Your on-prem krb5.conf file must be copied to the cloud host. If you also have a Kerberos KDC in the cloud, there will already be a krb5.conf file on that host and the two configurations will need to be carefully merged.&lt;UL&gt;&lt;LI&gt;The sections [realms] and [domain_realm] are especially important to solve your issue.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Ensure that the hostname of your KDC as well as the host names of ALL Kafka brokers can be resolved from the cloud (you can test it with nslookup and/or ping). This must work correctly for Kerberos to work. If there's no integrated DNS you will have to add entries to your /etc/hosts file to ensure the resolution is correct.&lt;/LI&gt;&lt;LI&gt;Ensure that any firewalls are configured correctly to open ports between your application and your on-prem environment:&lt;UL&gt;&lt;LI&gt;Open all the ports required for the client to connect to Kafka&lt;/LI&gt;&lt;LI&gt;Open all the ports required for the client to communicate with the KDC (typically, ports 88 UDP and 88 TCP)&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The above being correctly configuration, you should be able to authenticate correctly using Kerberos. A simple test to ensure it's working, before you try the Kafka application, is to authenticate on the command line using the kinit command.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;André&lt;/P&gt;&lt;P&gt;&lt;EM&gt;--&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Was your question answered? Please take some time to click on "&lt;STRONG&gt;Accept as Solution&lt;/STRONG&gt;" below this post.&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;If you find a reply useful, say thanks by clicking on the thumbs up button.&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Mar 2022 21:09:30 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338717#M232910</guid>
      <dc:creator>araujo</dc:creator>
      <dc:date>2022-03-15T21:09:30Z</dc:date>
    </item>
    <item>
      <title>Re: Connecting to on-prem kafka cluster from cloud AWS using Kerberos auth</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338839#M232940</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/11191"&gt;@araujo&lt;/a&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I got the problem solved as entry was missing in etc/host file, and able to send msg to kafka topic using sh script . But , when I try to send the message using java code I get below error :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Caused by: org.ietf.jgss.GSSException: No valid credentials provided (Mechanism level: KDC has no support for encryption type (14))&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:778)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:266)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:196)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at jdk.security.jgss/com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:209)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 14 common frames omitted&lt;BR /&gt;Caused by: sun.security.krb5.KrbException: KDC has no support for encryption type (14)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.KrbTgsRep.&amp;lt;init&amp;gt;(KrbTgsRep.java:69)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.KrbTgsReq.getReply(KrbTgsReq.java:224)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.KrbTgsReq.sendAndGetCreds(KrbTgsReq.java:235)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.internal.CredentialsUtil.serviceCredsSingle(CredentialsUtil.java:482)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.internal.CredentialsUtil.serviceCreds(CredentialsUtil.java:340)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.internal.CredentialsUtil.serviceCreds(CredentialsUtil.java:314)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.internal.CredentialsUtil.acquireServiceCreds(CredentialsUtil.java:169)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.Credentials.acquireServiceCreds(Credentials.java:493)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:700)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 17 common frames omitted&lt;BR /&gt;Caused by: sun.security.krb5.Asn1Exception: Identifier doesn't match expected value (906)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.internal.KDCRep.init(KDCRep.java:140)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.internal.TGSRep.init(TGSRep.java:65)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.internal.TGSRep.&amp;lt;init&amp;gt;(TGSRep.java:60)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.jgss/sun.security.krb5.KrbTgsRep.&amp;lt;init&amp;gt;(KrbTgsRep.java:54).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help me in solving the error.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried changing default_tkt_enctypes = rc4-hmac but it did not work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Mar 2022 07:18:06 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338839#M232940</guid>
      <dc:creator>Ankit88</dc:creator>
      <dc:date>2022-03-17T07:18:06Z</dc:date>
    </item>
    <item>
      <title>Re: Connecting to on-prem kafka cluster from cloud AWS using Kerberos auth</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338864#M232944</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/96565"&gt;@Ankit88&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For a Java application you need to add the following Kafka property to your producer/consumer configuration:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="./myuser.keytab" principal="myuser@XYZ.SITE";&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;Where myuser.keytab is your user's Kerberos keytab.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;André&lt;/P&gt;</description>
      <pubDate>Thu, 17 Mar 2022 13:36:25 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Connecting-to-on-prem-kafka-cluster-from-cloud-AWS-using/m-p/338864#M232944</guid>
      <dc:creator>araujo</dc:creator>
      <dc:date>2022-03-17T13:36:25Z</dc:date>
    </item>
  </channel>
</rss>

