Oleksandr Kalinin created DRILL-6699:
----------------------------------------

             Summary: Drill client session authorization
                 Key: DRILL-6699
                 URL: https://issues.apache.org/jira/browse/DRILL-6699
             Project: Apache Drill
          Issue Type: New Feature
            Reporter: Oleksandr Kalinin


Currently Drill relies on pluggable security mechanisms to perform user 
authentication. Any positively authenticated user will be permitted to 
establish a session and execute queries on the cluster. Queries will be 
executed on behalf of authenticated user if impersonation is enabled. 
Authorization is performed at data (FS) level.

While this model secures access to data, it doesn't secure cluster resources in 
some uses cases like running multiple Drill clusters within single YARN 
cluster. Since YARN resources in multi-tenant environments are subject to 
authorization itself, not all users who are positively authenticated are 
actually authorized to use YARN resources used to run Drill cluster.

Secondary issue is that it could also be challenging to enable impersonation 
with non-admin / low-privilege accounts typically used to run applications on 
YARN (and hence Drill on YARN clusters too).

Above issues could be addressed with introduction of session authorization in 
Drill. Cluster admin could configure some simple ACLs which would define users 
and/or groups of users permitted to connect and use the cluster. After 
authentication and before finalization of client session creation authorization 
step could be added to check authenticated user against ACLs.

While proposed feature is primarily aimed at Drill on YARN use case, it could 
also be useful for access control on standalone clusters. Otherwise admins need 
to push authorization handling to pluggable security mechanisms which is much 
more complex to implement than simple ACL config, and sometimes even unfeasible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to