<?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: Impala: Authenticate with Kerberos using a &amp;quot;received&amp;quot; keytab file. in Archives of Support Questions (Read Only)</title>
    <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Impala-Authenticate-with-Kerberos-using-a-quot-received-quot/m-p/79385#M83116</link>
    <description>Yes it is. But you have to prepare the keytab files in advance on your REST API server and prepare a mapping file. Then you can switch between users. See the Simba documentation for more details</description>
    <pubDate>Wed, 05 Sep 2018 05:51:51 GMT</pubDate>
    <dc:creator>Tomas79</dc:creator>
    <dc:date>2018-09-05T05:51:51Z</dc:date>
    <item>
      <title>Impala: Authenticate with Kerberos using a "received" keytab file.</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Impala-Authenticate-with-Kerberos-using-a-quot-received-quot/m-p/79382#M83115</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am building a REST API server that relays queries to Impala.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The REST API will receive keytab file from the client server, and want to proxy Kerberos authentication on the API side.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The following sequence.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;[Client Server]&amp;nbsp; --&amp;nbsp; send keytab&amp;nbsp; --&amp;gt;&amp;nbsp; [REST API]&amp;nbsp; --&amp;gt;&amp;nbsp; ODBC or JDBC&amp;nbsp; --&amp;gt; [Impala]&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In order to realize the above, I think that it is necessary to dynamically authenticate ODBC using the keytab received on the REST API side. is there such a thing possible?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example, HDFS Java API can pass and transfer arbitrary keytab as follows.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;UserGroupInformation.loginUserFromKeytab("hdfs@CLOUDERA", "/etc/hadoop/conf/hdfs.keytab");&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, Impala's ODBC or JDBC document shows that you are preparing a static file (UPNKeytabMappingFile) that defines pairs of user principals and keytab files.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;{
"cloudera": {
"principal" : "cloudera@CLOUDERA",
"keytab": "/tmp/cloudera.keytab"
},&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way to authenticate with keytab received from client without predefining it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2022 13:40:17 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Impala-Authenticate-with-Kerberos-using-a-quot-received-quot/m-p/79382#M83115</guid>
      <dc:creator>uma66</dc:creator>
      <dc:date>2022-09-16T13:40:17Z</dc:date>
    </item>
    <item>
      <title>Re: Impala: Authenticate with Kerberos using a "received" keytab file.</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Impala-Authenticate-with-Kerberos-using-a-quot-received-quot/m-p/79385#M83116</link>
      <description>Yes it is. But you have to prepare the keytab files in advance on your REST API server and prepare a mapping file. Then you can switch between users. See the Simba documentation for more details</description>
      <pubDate>Wed, 05 Sep 2018 05:51:51 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Impala-Authenticate-with-Kerberos-using-a-quot-received-quot/m-p/79385#M83116</guid>
      <dc:creator>Tomas79</dc:creator>
      <dc:date>2018-09-05T05:51:51Z</dc:date>
    </item>
  </channel>
</rss>

