[ 
https://issues.apache.org/jira/browse/IMPALA-14083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Abhishek Rawat closed IMPALA-14083.
-----------------------------------
    Fix Version/s: Impala 4.5.1
       Resolution: Fixed

> kerberos user not set in session state when Cookie based Authentication is 
> used with a proxy client
> ---------------------------------------------------------------------------------------------------
>
>                 Key: IMPALA-14083
>                 URL: https://issues.apache.org/jira/browse/IMPALA-14083
>             Project: IMPALA
>          Issue Type: Bug
>            Reporter: Abhishek Rawat
>            Assignee: Abhishek Rawat
>            Priority: Critical
>             Fix For: Impala 4.5.1
>
>
> When Cookie based Authentication is used with a proxy client such as Knox, 
> the kerberos user may not be set in session state. This happens for the 
> sessions authenticated using Auth Cookies which bypasses the SPNEGO 
> Authentication. When using proxy clients such as knox, the Authentication is 
> performed by the proxy client using its credentials such as 
> {code:java}
> knox/<host>@<realm> {code}
> When knox uses a valid Authentication Cookie, Impala server skips SPNEGO 
> Authentication and this can result in a client request failing with following 
> error:
> {code:java}
> The user authorized on the connection 'knox' does not match the session 
> username '' {code}
> This happens because while the session created using Cookie Based AuthN did 
> not preserve kerberos user information, but the original connection which 
> resulted in SPNEGO AuthN did preserve kerberos user information in thread 
> local connection context.
>  
> Here is a log sequence resulting in above error on the client side.
>  * New connection results in SPNEGO AuthN and preserves kerberos user in 
> thread local connection context corresponding to the thread *513163*
> {code:java}
> I0519 07:28:25.035172 511501 TAcceptQueueServer.cpp:355] New connection to 
> server hiveserver2-http-frontend from client <Host: 10.140.219.198 Port: 
> 43366>
> I0519 07:28:25.271310 513163 authentication.cc:599] Invalid cookie provided: 
> impala.auth="zRYm67vYXpnowEsi1scn5tHwkyKWuzfskULhsyE1yA4=&u=knox/[email protected]&t=12308739590&r=1382913108"
>  from: 10.140.219.198:43366: The signature is incorrect.
> I0519 07:28:25.272156 513163 authentication.cc:770] kerberos_user_principal 
> knox/[email protected] 
> kerberos_user_short knox
> {code}
>  * A subsequent new session ({*}af439227ac69984f:b1234edda9d103a1{*}) doesn't 
> result in SPNEGO AuthN and as a result kerberos user information is not 
> preserved in the session state. The session was created using thread *525109*
> {code:java}
> I0519 08:46:05.042977 525109 impala-hs2-server.cc:316] Opening session: 
> af439227ac69984f:b1234edda9d103a1 request username: jdoe
> I0519 08:46:05.043077 525109 impala-hs2-server.cc:363] 
> af439227ac69984f:b1234edda9d103a1 connected_user: 
> knox/[email protected] 
> connected_user_short:
> ....
> ....
> I0519 08:46:05.153427 525109 impala-server.cc:3530] session_id: 
> af439227ac69984f:b1234edda9d103a1 connection_username: 
> knox/[email protected] 
> kerberos_user_principal:  kerberos_user_short:
> ...
> I0519 08:46:05.153754 525109 impala-server.cc:1450] 
> 884c87778bcff25a:963abe7300000000] Registered query 
> query_id=884c87778bcff25a:963abe7300000000 
> session_id=af439227ac69984f:b1234edda9d103a1
> ....
> ....{code}
>  * A query ({*}634a94eb35004a56:34c6773200000000{*}) running in the session 
> *af439227ac69984f:b1234edda9d103a1* starts execution on thread *525109* but 
> one of the fetch rpcs gets scheduled on thread *513163* and the fetch rpc 
> fails with error due to mismatch in kerberos user in session state ('') and 
> thread local connection context ('knox')
> {code:java}
> I0519 08:56:15.705862 525109 impala-hs2-server.cc:996] FetchResults(): 
> query_id=634a94eb35004a56:34c6773200000000 session_id 
> af439227ac69984f:b1234edda9d103a1 I0519 08:56:15.705982 525109 
> impala-server.cc:3530] session_id: af439227ac69984f:b1234edda9d103a1 
> connection_username: 
> knox/[email protected] 
> kerberos_user_principal:  kerberos_user_short: 
> ....
> .... 
> I0519 08:56:25.853528 513163 impala-hs2-server.cc:996] FetchResults(): 
> query_id=634a94eb35004a56:34c6773200000000 session_id 
> af439227ac69984f:b1234edda9d103a1 I0519 08:56:25.853616 513163 
> impala-server.cc:3530] session_id: af439227ac69984f:b1234edda9d103a1 
> connection_username: 
> knox/[email protected] 
> kerberos_user_principal: 
> knox/[email protected] 
> kerberos_user_short: knox {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to