[ 
https://issues.apache.org/jira/browse/KNOX-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16947804#comment-16947804
 ] 

ASF subversion and git services commented on KNOX-2026:
-------------------------------------------------------

Commit f7acac99b10064f6f992f3352d2446d6661fe373 in knox's branch 
refs/heads/master from Thomas Tauber-Marshall
[ https://gitbox.apache.org/repos/asf?p=knox.git;h=f7acac9 ]

KNOX-2026 - Accept Impala's authentication cookies (#161)

This patch modifies HadoopAuthCookieStore to accept cookies with
Impala's cookie name, "impala.auth".

It also updates a check that is used to ensure the cookie belongs to
Knox - previously, this check parsed the cookie according to the
specific format that Hadoop uses for its cookies and ensures that the
Knox principal appears in the expected location.

Impala uses a similar cookie format, but with a few changes such as
fields being in a different order. The check is made more permissive
such that it will accept any cookie that contains the Knox principal
anywhere in it.

Testing:
- Deployed in a cluster and verified that Knox accepts and returns
  Impala's cookies as expected.

> Accept Impala's authentication cookies
> --------------------------------------
>
>                 Key: KNOX-2026
>                 URL: https://issues.apache.org/jira/browse/KNOX-2026
>             Project: Apache Knox
>          Issue Type: Task
>          Components: Server
>            Reporter: Thomas Tauber-Marshall
>            Assignee: Thomas Tauber-Marshall
>            Priority: Major
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> With the Impala service definitions that were recently added, it would be 
> nice if Knox would accept and return the authentication cookies that Impala 
> generates.
> As far as I can tell, they are not currently being accepted due to failing 
> the two checks here: 
> https://github.com/apache/knox/blob/master/gateway-spi/src/main/java/org/apache/knox/gateway/dispatch/HadoopAuthCookieStore.java#L67
> For the first check, isAuthCookie(), its fairly easy to add Impala's cookie 
> name (impala.auth), to the options.
> For the second check, isKnoxCookie(), which appears to have been added in 
> KNOX-1341, Knox requires a very specific cookie format. While Impala uses the 
> same basic scheme for generating cookies as Hadoop, the precise format is 
> slightly different, so we fail the check. I can see a few options for fixing 
> this:
> - Update Impala to use the exact same cookie format as Hadoop. This is 
> relatively easy, but it seems overly restrictive to me to require that all 
> components use the exact same cookie format, and could cause headaches if 
> Impala or any other components ever needs to modify their cookie format.
> - Make the isKnoxCookie() check more permissive. The simplest thing would be 
> to just check that the Knox principal is present somewhere in the cookie 
> value, which should accept any cookie that uses the basic format of having a 
> sequence of values, including the authenticated username/principal, along 
> with an HMAC. It seems unlikely to me that would result in storing any 
> undesired cookies, but if its too permissive another option would be to make 
> the format dependent on the cookie name.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to