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

Enhance Ranger Hive Plugin to support authorization for KILL QUERY command

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 1.0.0, master
    • 2.0.0
    • Ranger
    • None

    Description

      With the HIVE-17483 JIRA, Hive has introduced a way to kill query <id> and in hive its a privileged action for Hive Admin Role. In order for the Ranger Hive Authorizer to support authorization, we need to enhance the ranger hive authorizer. Current Hive implementation is to Kill Query in a HiveService which can be LLAP / HIVESERVER2 , later these HIVE SERVICEs can be grouped into NAME SPACEs and kill query can be run against them. When HiveServer2/LLAP Ranger Plugin sends the request to Ranger for Authorization, it will be sending the HIVE SERVICE in the context with the COMMAND that is executed.
      With all the details proposal is to have
      1) In Ranger Hive Service Definition, we will have a new Resource "Hive Service" to authorize.
      2) In Ranger Hive Permission Model, we will have a new Permission "Service Admin" to group Kill Query operation.

      • "Service Admin" permission will enable hive ranger plugin to isolate various admin operations in this case "Kill Query" and in future if hive introduces other operations which are done at "HIVE SERVICE level" , group them under this and authorize.
      • "Service Admin" won't be able to do DATABASE / TABLE / COLUMN operations as this will all be taken care by the existing DATABASE/TABLE/COLUMN level permission model.

      madhan.neethiraj vperiasamythejasboscosneethiraj

      Attachments

        Issue Links

          Activity

            People

              rmani Ramesh Mani
              rmani Ramesh Mani
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: