You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "James Turton (Jira)" <ji...@apache.org> on 2022/03/14 14:32:00 UTC

[jira] [Created] (DRILL-8168) Duplicated attempt to apply inbound impersonation in the REST API

James Turton created DRILL-8168:
-----------------------------------

             Summary: Duplicated attempt to apply inbound impersonation in the REST API
                 Key: DRILL-8168
                 URL: https://issues.apache.org/jira/browse/DRILL-8168
             Project: Apache Drill
          Issue Type: Bug
          Components: Web Server
    Affects Versions: 1.20.0
            Reporter: James Turton
            Assignee: James Turton
             Fix For: Future


When a payload that includes the `userName` property is POSTed to /query.json Drill will check for authorisation and, if that's found, replace the username on its UserSession with that of the impersonated user.  When a subsequent request arrives Drill will again attempt the same replacement, but now starting from a UserSession user that has already been changed to the impersonated user.  This is liable to fail when the impersonated user is not authorised to impersonate themself.

This has never been an issue in the Web UI because it only presents an opportunity for impersonation when impersonation is enabled _and_ {_}authn is disabled{_}.  When authn is disabled, there is no persistent UserSession so it is okay to repeat the username replacement for every request to /query.json.  This leaves people who have both impersonation and authn enabled in the lurch.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)