Uploaded image for project: 'Ambari'
  1. Ambari
  2. AMBARI-16246

Allow roles to be treated like principals in Ambari DB

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.4.0
    • ambari-server

    Description

      To support assigning privileges to users based on their roles provide support in the Ambari database to allow a role to be referenced as a principal similar in the way a user and a group a referenced as a {principal}}.

      A use-case to support the need for this is to assign access to a view to all users with some specific role. Currently we can assign access to a view to a specific user or group by assigning that user or group the VIEW.USER role applied to the specific view. To assign access a view to users who have a specific role, a role will need to behave like a principal.

      The following changes need to be made to the database:

      • Add principal_id column to the adminpermission table
      • Create a principaltype record where the principal_type_name is 'ROLE'
      • Add records to the adminprincpal table to represent each role in adminpermission
      • Update adminpermission.principal_id to match the relevant records from adminprincipal

      After this is complete, adminprivilege records can be created using roles as principals.

      NOTE: special handling will need to be done in the authorization logic to dereference the role associations with the authenticated user, similar in the way this is done for groups.

      Attachments

        1. AMBARI-16246_trunk_01.patch
          48 kB
          Robert Levas
        2. AMBARI-16246_trunk_02.patch
          71 kB
          Robert Levas
        3. AMBARI-16246_trunk_03.patch
          71 kB
          Robert Levas

        Issue Links

          Activity

            People

              rlevas Robert Levas
              rlevas Robert Levas
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: