You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2022/10/30 18:24:09 UTC
[ranger] branch ranger-2.4 updated: RANGER-3920: when sync'ing users from LDAP, intermittent User/Group/UserGroup membership is missing
This is an automated email from the ASF dual-hosted git repository.
madhan pushed a commit to branch ranger-2.4
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/ranger-2.4 by this push:
new 377793bb0 RANGER-3920: when sync'ing users from LDAP, intermittent User/Group/UserGroup membership is missing
377793bb0 is described below
commit 377793bb058ee725b26c8c1d5318c17a7f510788
Author: Ankita Sinha <an...@apache.org>
AuthorDate: Tue Oct 11 15:13:41 2022 +0530
RANGER-3920: when sync'ing users from LDAP, intermittent User/Group/UserGroup membership is missing
Signed-off-by: Madhan Neethiraj <ma...@apache.org>
(cherry picked from commit 24ea37c2975e41e1322d7ae7079cb6cda239dd71)
---
.../process/PolicyMgrUserGroupBuilder.java | 63 +++++++++-------------
1 file changed, 26 insertions(+), 37 deletions(-)
diff --git a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
index def2f02b4..bca833d08 100644
--- a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
+++ b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
@@ -83,8 +83,6 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
public static final String PM_UPDATE_USERS_ROLES_URI = "/service/xusers/users/roleassignments"; // PUT
- private static final String PM_UPDATE_DELETED_GROUPS_URI = "/service/xusers/ugsync/groups/visibility"; // POST
-
private static final String PM_UPDATE_DELETED_USERS_URI = "/service/xusers/ugsync/users/visibility"; // POST
private static final Pattern USER_OR_GROUP_NAME_VALIDATION_REGEX =
Pattern.compile("^([A-Za-z0-9_]|[\u00C0-\u017F])([a-zA-Z0-9\\s,._\\-+/@= ]|[\u00C0-\u017F])+$", Pattern.CASE_INSENSITIVE);
@@ -446,7 +444,6 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
}
int totalCount = 100;
int retrievedCount = 0;
- String relativeUrl = PM_GROUP_LIST_URI;
while (retrievedCount < totalCount) {
String response = null;
@@ -458,10 +455,10 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
Gson gson = new GsonBuilder().create();
if (isRangerCookieEnabled) {
- response = cookieBasedGetEntity(relativeUrl, retrievedCount);
+ response = cookieBasedGetEntity(PM_GROUP_LIST_URI, retrievedCount);
} else {
try {
- clientResp = ldapUgSyncClient.get(relativeUrl, queryParams);
+ clientResp = ldapUgSyncClient.get(PM_GROUP_LIST_URI, queryParams);
if (clientResp != null) {
response = clientResp.getEntity(String.class);
}
@@ -501,7 +498,6 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
}
int totalCount = 100;
int retrievedCount = 0;
- String relativeUrl = PM_USER_LIST_URI;
while (retrievedCount < totalCount) {
String response = null;
@@ -513,10 +509,10 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
Gson gson = new GsonBuilder().create();
if (isRangerCookieEnabled) {
- response = cookieBasedGetEntity(relativeUrl, retrievedCount);
+ response = cookieBasedGetEntity(PM_USER_LIST_URI, retrievedCount);
} else {
try {
- clientResp = ldapUgSyncClient.get(relativeUrl, queryParams);
+ clientResp = ldapUgSyncClient.get(PM_USER_LIST_URI, queryParams);
if (clientResp != null) {
response = clientResp.getEntity(String.class);
}
@@ -553,17 +549,16 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
if (LOG.isDebugEnabled()) {
LOG.debug("==> PolicyMgrUserGroupBuilder.buildGroupUserLinkList()");
}
- String relativeUrl = PM_GET_ALL_GROUP_USER_MAP_LIST_URI;
String response = null;
ClientResponse clientResp = null;
Gson gson = new GsonBuilder().create();
if (isRangerCookieEnabled) {
- response = cookieBasedGetEntity(relativeUrl, 0);
+ response = cookieBasedGetEntity(PM_GET_ALL_GROUP_USER_MAP_LIST_URI, 0);
} else {
try {
- clientResp = ldapUgSyncClient.get(relativeUrl, null);
+ clientResp = ldapUgSyncClient.get(PM_GET_ALL_GROUP_USER_MAP_LIST_URI, null);
if (clientResp != null) {
response = clientResp.getEntity(String.class);
}
@@ -971,15 +966,14 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
}
int ret = 0;
int totalCount = xUserList.getTotalCount();
- int uploadedCount = -1;
+ int uploadedCount = 0;
int pageSize = Integer.valueOf(recordsToPullPerCall);
while (uploadedCount < totalCount) {
String response = null;
ClientResponse clientRes = null;
- String relativeUrl = PM_ADD_USERS_URI;
GetXUserListResponse pagedXUserList = new GetXUserListResponse();
int pagedXUserListLen = uploadedCount+pageSize;
- pagedXUserList.setXuserInfoList(xUserList.getXuserInfoList().subList(uploadedCount+1,
+ pagedXUserList.setXuserInfoList(xUserList.getXuserInfoList().subList(uploadedCount,
pagedXUserListLen>totalCount?totalCount:pagedXUserListLen));
pagedXUserList.setTotalCount(pageSize);
if (pagedXUserList.getXuserInfoList().size() == 0) {
@@ -988,10 +982,10 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
}
if (isRangerCookieEnabled) {
- response = cookieBasedUploadEntity(pagedXUserList, relativeUrl);
+ response = cookieBasedUploadEntity(pagedXUserList, PM_ADD_USERS_URI);
} else {
try {
- clientRes = ldapUgSyncClient.post(relativeUrl, null, pagedXUserList);
+ clientRes = ldapUgSyncClient.post(PM_ADD_USERS_URI, null, pagedXUserList);
if (clientRes != null) {
response = clientRes.getEntity(String.class);
}
@@ -1073,23 +1067,22 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
}
int ret = 0;
int totalCount = xGroupList.getTotalCount();
- int uploadedCount = -1;
+ int uploadedCount = 0;
int pageSize = Integer.valueOf(recordsToPullPerCall);
while (uploadedCount < totalCount) {
String response = null;
ClientResponse clientRes = null;
- String relativeUrl = PM_ADD_GROUPS_URI;
GetXGroupListResponse pagedXGroupList = new GetXGroupListResponse();
int pagedXGroupListLen = uploadedCount+pageSize;
- pagedXGroupList.setXgroupInfoList(xGroupList.getXgroupInfoList().subList(uploadedCount+1,
+ pagedXGroupList.setXgroupInfoList(xGroupList.getXgroupInfoList().subList(uploadedCount,
pagedXGroupListLen>totalCount?totalCount:pagedXGroupListLen));
pagedXGroupList.setTotalCount(pageSize);
if (isRangerCookieEnabled) {
- response = cookieBasedUploadEntity(pagedXGroupList, relativeUrl);
+ response = cookieBasedUploadEntity(pagedXGroupList, PM_ADD_GROUPS_URI);
} else {
try {
- clientRes = ldapUgSyncClient.post(relativeUrl, null, pagedXGroupList);
+ clientRes = ldapUgSyncClient.post(PM_ADD_GROUPS_URI, null, pagedXGroupList);
if (clientRes != null) {
response = clientRes.getEntity(String.class);
}
@@ -1167,22 +1160,21 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
}
int ret = 0;
int totalCount = groupUserInfoList.size();
- int uploadedCount = -1;
+ int uploadedCount = 0;
int pageSize = Integer.valueOf(recordsToPullPerCall);
while (uploadedCount < totalCount) {
String response = null;
ClientResponse clientRes = null;
- String relativeUrl = PM_ADD_GROUP_USER_LIST_URI;
int pagedGroupUserInfoListLen = uploadedCount+pageSize;
- List<GroupUserInfo> pagedGroupUserInfoList = groupUserInfoList.subList(uploadedCount+1,
+ List<GroupUserInfo> pagedGroupUserInfoList = groupUserInfoList.subList(uploadedCount,
pagedGroupUserInfoListLen>totalCount?totalCount:pagedGroupUserInfoListLen);
if (isRangerCookieEnabled) {
- response = cookieBasedUploadEntity(pagedGroupUserInfoList, relativeUrl);
+ response = cookieBasedUploadEntity(pagedGroupUserInfoList, PM_ADD_GROUP_USER_LIST_URI);
} else {
try {
- clientRes = ldapUgSyncClient.post(relativeUrl, null, pagedGroupUserInfoList);
+ clientRes = ldapUgSyncClient.post(PM_ADD_GROUP_USER_LIST_URI, null, pagedGroupUserInfoList);
if (clientRes != null) {
response = clientRes.getEntity(String.class);
}
@@ -1253,12 +1245,12 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
List<String> ret = null;
try {
int totalCount = ugRoleAssignments.getUsers().size();
- int uploadedCount = -1;
+ int uploadedCount = 0;
int pageSize = Integer.valueOf(recordsToPullPerCall);
while (uploadedCount < totalCount) {
int pagedUgRoleAssignmentsListLen = uploadedCount + pageSize;
UsersGroupRoleAssignments pagedUgRoleAssignmentsList = new UsersGroupRoleAssignments();
- pagedUgRoleAssignmentsList.setUsers(ugRoleAssignments.getUsers().subList(uploadedCount + 1,
+ pagedUgRoleAssignmentsList.setUsers(ugRoleAssignments.getUsers().subList(uploadedCount,
pagedUgRoleAssignmentsListLen > totalCount ? totalCount : pagedUgRoleAssignmentsListLen));
pagedUgRoleAssignmentsList.setGroupRoleAssignments(ugRoleAssignments.getGroupRoleAssignments());
pagedUgRoleAssignmentsList.setUserRoleAssignments(ugRoleAssignments.getUserRoleAssignments());
@@ -1349,14 +1341,13 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
String response = null;
ClientResponse clientRes = null;
Gson gson = new GsonBuilder().create();
- String relativeUrl = PM_AUDIT_INFO_URI;
if(isRangerCookieEnabled){
- response = cookieBasedUploadEntity(userInfo, relativeUrl);
+ response = cookieBasedUploadEntity(userInfo, PM_AUDIT_INFO_URI);
}
else {
try {
- clientRes = ldapUgSyncClient.post(relativeUrl, null, userInfo);
+ clientRes = ldapUgSyncClient.post(PM_AUDIT_INFO_URI, null, userInfo);
if (clientRes != null) {
response = clientRes.getEntity(String.class);
}
@@ -1815,14 +1806,13 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
int ret = 0;
String response = null;
ClientResponse clientRes = null;
- String relativeUrl = PM_UPDATE_DELETED_GROUPS_URI;
if(isRangerCookieEnabled){
- response = cookieBasedUploadEntity(deletedGroups.keySet(), relativeUrl);
+ response = cookieBasedUploadEntity(deletedGroups.keySet(), PM_AUDIT_INFO_URI);
}
else {
try {
- clientRes = ldapUgSyncClient.post(relativeUrl, null, deletedGroups.keySet());
+ clientRes = ldapUgSyncClient.post(PM_AUDIT_INFO_URI, null, deletedGroups.keySet());
if (clientRes != null) {
response = clientRes.getEntity(String.class);
}
@@ -1936,14 +1926,13 @@ public class PolicyMgrUserGroupBuilder extends AbstractUserGroupSource implement
int ret = 0;
String response = null;
ClientResponse clientRes = null;
- String relativeUrl = PM_UPDATE_DELETED_USERS_URI;
if(isRangerCookieEnabled){
- response = cookieBasedUploadEntity(deletedUsers.keySet(), relativeUrl);
+ response = cookieBasedUploadEntity(deletedUsers.keySet(), PM_UPDATE_DELETED_USERS_URI);
}
else {
try {
- clientRes = ldapUgSyncClient.post(relativeUrl, null, deletedUsers.keySet());
+ clientRes = ldapUgSyncClient.post(PM_UPDATE_DELETED_USERS_URI, null, deletedUsers.keySet());
if (clientRes != null) {
response = clientRes.getEntity(String.class);
}