Skip to content

Commit 9190e3d

Browse files
committed
RANGER-5399: Ranger: HTTP 403 - User '' lacks delegated-admin privilege when attempting to GRANT privilege on a database
1 parent 4fb3011 commit 9190e3d

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3220,7 +3220,7 @@ void ensureAdminAccess(RangerPolicy policy, String grantor) {
32203220
final boolean isAdmin;
32213221
final boolean isKeyAdmin;
32223222

3223-
if (StringUtils.isEmpty(grantor)) {
3223+
if (StringUtils.isNotEmpty(bizUtil.getCurrentUserLoginId())) {
32243224
userName = bizUtil.getCurrentUserLoginId();
32253225
isAdmin = bizUtil.isAdmin();
32263226
isKeyAdmin = bizUtil.isKeyAdmin();

security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1597,6 +1597,7 @@ public void test49importPoliciesFromFileAllowingOverride() throws Exception {
15971597
Mockito.when(daoManager.getXXSecurityZoneRefTagService()).thenReturn(xSecZoneRefTagServiceDao);
15981598
Mockito.when(xSecZoneRefTagServiceDao.findByTagServiceNameAndZoneId(Mockito.anyString(), Mockito.anyLong())).thenReturn(zoneTagServiceList);
15991599
Mockito.when(svcStore.getServiceByName(Mockito.anyString())).thenReturn(service);
1600+
Mockito.when(userMgrGrantor.getRolesByLoginId(Mockito.any())).thenReturn(Arrays.asList("ROLE_SYS_ADMIN"));
16001601
serviceREST.importPoliciesFromFile(request, null, zoneInputStream, uploadedInputStream, fileDetail, isOverride, "unzoneToZone");
16011602

16021603
Mockito.verify(svcStore).createPolicy(rangerPolicy);
@@ -1655,6 +1656,7 @@ public void test50importPoliciesFromFileNotAllowingOverride() throws Exception {
16551656
Mockito.when(xSecZoneRefServiceDao.findByServiceNameAndZoneId(Mockito.anyString(), Mockito.anyLong())).thenReturn(zoneServiceList);
16561657
Mockito.when(daoManager.getXXSecurityZoneRefTagService()).thenReturn(xSecZoneRefTagServiceDao);
16571658
Mockito.when(xSecZoneRefTagServiceDao.findByTagServiceNameAndZoneId(Mockito.anyString(), Mockito.anyLong())).thenReturn(zoneTagServiceList);
1659+
Mockito.when(userMgrGrantor.getRolesByLoginId(Mockito.any())).thenReturn(Arrays.asList("ROLE_SYS_ADMIN"));
16581660
serviceREST.importPoliciesFromFile(request, null, zoneInputStream, uploadedInputStream, fileDetail, isOverride, "unzoneToUnZone");
16591661
Mockito.verify(svcStore).createPolicy(rangerPolicy);
16601662
}

0 commit comments

Comments
 (0)