Prasad Mujumdar created HIVE-5155:
-------------------------------------

             Summary: Support secure proxy user access to HiveServer2
                 Key: HIVE-5155
                 URL: https://issues.apache.org/jira/browse/HIVE-5155
             Project: Hive
          Issue Type: Improvement
          Components: Authentication, HiveServer2, JDBC
    Affects Versions: 0.12.0
            Reporter: Prasad Mujumdar
            Assignee: Prasad Mujumdar


The HiveServer2 can authenticate a client using via Kerberos and impersonate 
the connecting user with underlying secure hadoop. This becomes a gateway for a 
remote client to access secure hadoop cluster. Now this works fine for when the 
client obtains Kerberos ticket and directly connects to HiveServer2. There's 
another big use case for middleware tools where the end user wants to access 
Hive via another server. For example Oozie action or Hue submitting queries or 
a BI tool server accessing to HiveServer2. In these cases, the third party 
server doesn't have end user's Kerberos credentials and hence it can't submit 
queries to HiveServer2 on behalf of the end user.

This ticket is for enabling proxy access to HiveServer2 for third party tools 
on behalf of end users. There are two parts of the solution proposed in this 
ticket:
1) Delegation token based connection for Oozie (OOZIE-1457)
This is the common mechanism for Hadoop ecosystem components. Hive Remote 
Metastore and HCatalog already support this. This is suitable for tool like 
Oozie that submits the MR jobs as actions on behalf of its client. Oozie 
already uses similar mechanism for Metastore/HCatalog access.

2) Direct proxy access for privileged hadoop users
The delegation token implementation can be a challenge for non-hadoop 
(especially non-java) components. This second part enables a privileged user to 
directly specify an alternate session user during the connection. If the 
connecting user has hadoop level privilege to impersonate the requested userid, 
then HiveServer2 will run the session as that requested user. For example, user 
Hue is allowed to impersonate user Bob (via core-site.xml proxy user 
configuration). Then user Hue can connect to HiveServer2 and specify Bob as 
session user via a session property. HiveServer2 will verify Hue's proxy user 
privilege and then impersonate user Bob instead of Hue. This will enable any 
third party tool to impersonate alternate userid without having to implement 
delegation token connection.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to