Uploaded image for project: 'Ranger'
  1. Ranger
  2. RANGER-1958

[HBase] Implement getUserPermissions API of AccessControlService.Interface to allow clients to access HBase permissions stored in Ranger

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0, 1.2.1
    • plugins
    • None

    Description

      We have added the support of ACLs in Phoenix as part of PHOENIX-4198. Currently, the implementation relies on some of the APIs provided by AccessControlService.Interface to get the user permission of the table but we see that the API "AccessControlService.Interface#getUserPermissions" is not yet implemented in Ranger authorization module for HBase and thus, we are unable to access permissions stored for HBase Table in Phoenix.

      In class RangerAuthorizationCoprocessor

      
      @Override
      	public void getUserPermissions(RpcController controller, AccessControlProtos.GetUserPermissionsRequest request, RpcCallback<AccessControlProtos.GetUserPermissionsResponse> done) {
      		LOG.debug("getUserPermissions(): ");
      	}
      

      If we just implement this API, we can leverage the current HBase Ranger plugin for Phoenix too.

      Although the long-term solution for Ranger could be to implement the coprocessor hooks for Phoenix as how it has been done for HBase so that we can also authorize new entities like VIEW, SEQUENCES, FUNCTIONs (which can not be supported with native HBase ACLs) along with Table and Schema.

      Let me know your thoughts, I can try to put up a patch soon.

      Attachments

        1. RANGER-1958.patch
          47 kB
          Ankit Singhal
        2. 0001-RANGER-1958-HBase-Implement-getUserPermissions-API-o.patch
          17 kB
          Ankit Singhal

        Activity

          People

            ankit@apache.org Ankit Singhal
            ankit@apache.org Ankit Singhal
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: