Clay B. created HBASE-21591:
-------------------------------

             Summary: Support ability to have host based permissions
                 Key: HBASE-21591
                 URL: https://issues.apache.org/jira/browse/HBASE-21591
             Project: HBase
          Issue Type: Improvement
          Components: security
            Reporter: Clay B.
            Assignee: Clay B.


Today, one can put in an ACL rule where a user is not permitted to read data 
but can insert data (e.g. {{grant 'user', 'table', 'W'}}). However, one can not 
implement HBase as a "drop-box" for data where by in a secure network, one can 
read and write data but outside that secure network one can only write data; 
and I do not believe this is possible with custom access controllers, unless 
one "wraps" HBase; e.g. with the HBase REST server.

I have been pushing for this model (e.g. [Of Data Dropboxes and Data 
Gloveboxes|https://thestrangeloop.com/2018/of-data-dropboxes-and-data-gloveboxes.html]
 or 
[slides|http://clayb.net/presentations/Of%20Data%20Dropboxes%20and%20Data%20Gloveboxes.pdf])
 in a number of technologies for some data compartmentalization initiatives.

I propose passing the requester's host information through the HBase 
authentication stack so that the ACL model in HBase can work akin to the SQL 
semantics of {{user@host}} or {{user@<anywhere>}}.The expected impact would be 
to HBase private interfaces only, so far in POC'ing it seems the following 
would be impacted:

Access Control Classes/ACL Table Management:
* AccessControlUtil
* UserPermission
* AccessChecker
* AccessControlFilter
* AccessController
* AuthResult
* TableAuthManager
* AccessControl.proto

Co-Processor APIs for Checking Authentication:
* CoprocessorHost
* ObserverContext
* ObserverContextImpl
* RSRpcServices
* RSGroupAdminEndpoint



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

Reply via email to