Ramesh Mani created RANGER-2512:
-----------------------------------

             Summary: RangerRolesRESTClient for fetching roles by user and 
groups
                 Key: RANGER-2512
                 URL: https://issues.apache.org/jira/browse/RANGER-2512
             Project: Ranger
          Issue Type: Bug
          Components: Ranger
    Affects Versions: 2.0.0
            Reporter: Ramesh Mani
             Fix For: 2.0.0


RangerRolesRESTClient for fetching roles by user and groups

RESTful end points for this apis:
{code:java}
/service/roles/roles/username/{userName}
/service/roles/roles/groupname/{groupName}
/service/roles/roles/usergroups?userName={userName1}&groupName={groupName1}it&groupName={groupName2}"
{code}

API signature would be
{code:java}
public Set<RangerRole> getRolesByUserName(String userName) 
public Set<RangerRole> getRolesByGroupName(String groupName)
public Set<RangerRole> getRolesByUserGroups(String userName, List<String> 
groupNames)
{code}

Client call for this would be :
{code:java}
// url -> Ranger Admin url
// sslFile -> file location with SSL config when ranger is in SSL mode.
RangerRolesRESTClient rangerRolesRESTClient = new 
RangerRolesRESTClient(url,sslFile);

            if (StringUtils.isNotEmpty(userName) && 
StringUtils.isEmpty(groupName)) {
                Set<RangerRole> roles = 
rangerRolesRESTClient.getRolesByUserName(userName);
                System.out.println("Roles for user:" + userName + " => " + 
roles);
            }

            if (StringUtils.isNotEmpty(groupName) && 
StringUtils.isEmpty(userName)) {
                Set<RangerRole>roles = 
rangerRolesRESTClient.getRolesByGroupName(groupName);
                System.out.println("Roles for group:" + groupName + " => " + 
roles);
            }

            if (StringUtils.isNotEmpty(userName) && 
CollectionUtils.isNotEmpty(groupList)) {
                Set<RangerRole> roles = 
rangerRolesRESTClient.getRolesByUserGroups(userName,groupList);
                System.out.println("Roles for user: " + userName + " groups: " 
+ groupList + " => " + roles);
            }
{code}





--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to