This is an automated email from the ASF dual-hosted git repository.
spolavarapu pushed a commit to branch ranger-2.2
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/ranger-2.2 by this push:
new 7691bce Added code to log the no. of users/groups that are marked for
delete and update it as part of ugsync audits
7691bce is described below
commit 7691bce9f37c4c0197468f7e236bd3ef9a54b7b0
Author: Sailaja Polavarapu <[email protected]>
AuthorDate: Tue May 25 21:38:28 2021 -0700
Added code to log the no. of users/groups that are marked for delete and
update it as part of ugsync audits
---
.../apache/ranger/view/VXFileSyncSourceInfo.java | 20 ++++++++++++++++
.../apache/ranger/view/VXLdapSyncSourceInfo.java | 20 ++++++++++++++++
.../apache/ranger/view/VXUnixSyncSourceInfo.java | 20 ++++++++++++++++
.../webapp/scripts/modules/globalize/message/en.js | 2 ++
.../ugsyncutil/model/FileSyncSourceInfo.java | 20 ++++++++++++++++
.../ugsyncutil/model/LdapSyncSourceInfo.java | 20 ++++++++++++++++
.../ugsyncutil/model/UnixSyncSourceInfo.java | 20 ++++++++++++++++
.../process/PolicyMgrUserGroupBuilder.java | 28 ++++++++++++++++++----
8 files changed, 146 insertions(+), 4 deletions(-)
diff --git
a/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java
b/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java
index b078a19..52d94c2 100644
---
a/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java
+++
b/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java
@@ -44,6 +44,8 @@ public class VXFileSyncSourceInfo implements
java.io.Serializable {
private String lastModified;
private long totalUsersSynced;
private long totalGroupsSynced;
+ private long totalUsersDeleted;
+ private long totalGroupsDeleted;
public VXFileSyncSourceInfo() {
}
@@ -88,6 +90,22 @@ public class VXFileSyncSourceInfo implements
java.io.Serializable {
this.totalGroupsSynced = totalGroupsSynced;
}
+ public long getTotalUsersDeleted() {
+ return totalUsersDeleted;
+ }
+
+ public void setTotalUsersDeleted(long totalUsersDeleted) {
+ this.totalUsersDeleted = totalUsersDeleted;
+ }
+
+ public long getTotalGroupsDeleted() {
+ return totalGroupsDeleted;
+ }
+
+ public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+ this.totalGroupsDeleted = totalGroupsDeleted;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@@ -101,6 +119,8 @@ public class VXFileSyncSourceInfo implements
java.io.Serializable {
sb.append("\", \"lastModified\":\"").append(lastModified);
sb.append("\",
\"totalUsersSynced\":\"").append(totalUsersSynced);
sb.append("\",
\"totalGroupsSynced\":\"").append(totalGroupsSynced);
+ sb.append("\",
\"totalUsersDeleted\":\"").append(totalUsersDeleted);
+ sb.append("\",
\"totalGroupsDeleted\":\"").append(totalGroupsDeleted);
sb.append("\"}");
return sb;
}
diff --git
a/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java
b/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java
index be391de..d349a9e 100644
---
a/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java
+++
b/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java
@@ -49,6 +49,8 @@ public class VXLdapSyncSourceInfo implements
java.io.Serializable {
private String groupHierarchyLevel;
private long totalUsersSynced;
private long totalGroupsSynced;
+ private long totalUsersDeleted;
+ private long totalGroupsDeleted;
public VXLdapSyncSourceInfo() {
}
@@ -133,6 +135,22 @@ public class VXLdapSyncSourceInfo implements
java.io.Serializable {
this.userSearchEnabled = userSearchEnabled;
}
+ public long getTotalUsersDeleted() {
+ return totalUsersDeleted;
+ }
+
+ public void setTotalUsersDeleted(long totalUsersDeleted) {
+ this.totalUsersDeleted = totalUsersDeleted;
+ }
+
+ public long getTotalGroupsDeleted() {
+ return totalGroupsDeleted;
+ }
+
+ public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+ this.totalGroupsDeleted = totalGroupsDeleted;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@@ -151,6 +169,8 @@ public class VXLdapSyncSourceInfo implements
java.io.Serializable {
sb.append("\",
\"groupHierarchyLevel\":\"").append(groupHierarchyLevel);
sb.append("\",
\"totalUsersSynced\":\"").append(totalUsersSynced);
sb.append("\",
\"totalGroupsSynced\":\"").append(totalGroupsSynced);
+ sb.append("\",
\"totalUsersDeleted\":\"").append(totalUsersDeleted);
+ sb.append("\",
\"totalGroupsDeleted\":\"").append(totalGroupsDeleted);
sb.append("\"}");
return sb;
}
diff --git
a/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java
b/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java
index 55afec7..dc87f31 100644
---
a/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java
+++
b/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java
@@ -47,6 +47,8 @@ public class VXUnixSyncSourceInfo implements
java.io.Serializable {
private String minGroupId;
private long totalUsersSynced;
private long totalGroupsSynced;
+ private long totalUsersDeleted;
+ private long totalGroupsDeleted;
public VXUnixSyncSourceInfo() {
}
@@ -115,6 +117,22 @@ public class VXUnixSyncSourceInfo implements
java.io.Serializable {
this.totalGroupsSynced = totalGroupsSynced;
}
+ public long getTotalUsersDeleted() {
+ return totalUsersDeleted;
+ }
+
+ public void setTotalUsersDeleted(long totalUsersDeleted) {
+ this.totalUsersDeleted = totalUsersDeleted;
+ }
+
+ public long getTotalGroupsDeleted() {
+ return totalGroupsDeleted;
+ }
+
+ public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+ this.totalGroupsDeleted = totalGroupsDeleted;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@@ -131,6 +149,8 @@ public class VXUnixSyncSourceInfo implements
java.io.Serializable {
sb.append("\", \"minGroupId\":\"").append(minGroupId);
sb.append("\",
\"totalUsersSynced\":\"").append(totalUsersSynced);
sb.append("\",
\"totalGroupsSynced\":\"").append(totalGroupsSynced);
+ sb.append("\",
\"totalUsersDeleted\":\"").append(totalUsersDeleted);
+ sb.append("\",
\"totalGroupsDeleted\":\"").append(totalGroupsDeleted);
sb.append("\"}");
return sb;
}
diff --git
a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
index cc18902..d30ed4d 100644
--- a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
+++ b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
@@ -267,6 +267,8 @@ define(function(require) {
editValidityPeriod : ' Edit Validity Period',
totalUsersSynced : 'Total number of users
synced',
totalGroupsSynced : 'Total number of groups
synced',
+ totalUsersDeleted : 'Total number of users
marked for delete',
+ totalGroupsDeleted : 'Total number of groups
marked for delete',
addPolicyCondition : 'Add Policy Condition',
editPolicyCondition : 'Edit Policy Condition',
agentHost :'Agent Host Name',
diff --git
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/FileSyncSourceInfo.java
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/FileSyncSourceInfo.java
index d6f12f1..4e122c2 100644
---
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/FileSyncSourceInfo.java
+++
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/FileSyncSourceInfo.java
@@ -25,6 +25,8 @@ public class FileSyncSourceInfo {
private String lastModified;
private long totalUsersSynced;
private long totalGroupsSynced;
+ private long totalUsersDeleted;
+ private long totalGroupsDeleted;
public String getFileName() {
return fileName;
@@ -66,6 +68,22 @@ public class FileSyncSourceInfo {
this.totalGroupsSynced = totalGroupsSynced;
}
+ public long getTotalUsersDeleted() {
+ return totalUsersDeleted;
+ }
+
+ public void setTotalUsersDeleted(long totalUsersDeleted) {
+ this.totalUsersDeleted = totalUsersDeleted;
+ }
+
+ public long getTotalGroupsDeleted() {
+ return totalGroupsDeleted;
+ }
+
+ public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+ this.totalGroupsDeleted = totalGroupsDeleted;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@@ -79,6 +97,8 @@ public class FileSyncSourceInfo {
sb.append(", lastModified= ").append(lastModified);
sb.append(", totalUsersSynced= ").append(totalUsersSynced);
sb.append(", totalGroupsSynced= ").append(totalGroupsSynced);
+ sb.append(", totalUsersDeleted= ").append(totalUsersDeleted);
+ sb.append(", totalGroupsDeleted= ").append(totalGroupsDeleted);
sb.append("]");
return sb;
}
diff --git
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/LdapSyncSourceInfo.java
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/LdapSyncSourceInfo.java
index 2de4faf..227c897 100644
---
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/LdapSyncSourceInfo.java
+++
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/LdapSyncSourceInfo.java
@@ -31,6 +31,8 @@ public class LdapSyncSourceInfo {
private long totalUsersSynced;
private long totalGroupsSynced;
+ private long totalUsersDeleted;
+ private long totalGroupsDeleted;
public String getLdapUrl() {
return ldapUrl;
@@ -112,6 +114,22 @@ public class LdapSyncSourceInfo {
this.userSearchEnabled = userSearchEnabled;
}
+ public long getTotalUsersDeleted() {
+ return totalUsersDeleted;
+ }
+
+ public void setTotalUsersDeleted(long totalUsersDeleted) {
+ this.totalUsersDeleted = totalUsersDeleted;
+ }
+
+ public long getTotalGroupsDeleted() {
+ return totalGroupsDeleted;
+ }
+
+ public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+ this.totalGroupsDeleted = totalGroupsDeleted;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@@ -130,6 +148,8 @@ public class LdapSyncSourceInfo {
sb.append(", groupHierarchyLevel=
").append(groupHierarchyLevel);
sb.append(", totalUsersSynced= ").append(totalUsersSynced);
sb.append(", totalGroupsSynced= ").append(totalGroupsSynced);
+ sb.append(", totalUsersDeleted= ").append(totalUsersDeleted);
+ sb.append(", totalGroupsDeleted= ").append(totalGroupsDeleted);
sb.append("]");
return sb;
}
diff --git
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UnixSyncSourceInfo.java
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UnixSyncSourceInfo.java
index 1445655..17b6362 100644
---
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UnixSyncSourceInfo.java
+++
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UnixSyncSourceInfo.java
@@ -28,6 +28,8 @@ public class UnixSyncSourceInfo {
private String minGroupId;
private long totalUsersSynced;
private long totalGroupsSynced;
+ private long totalUsersDeleted;
+ private long totalGroupsDeleted;
public String getMinGroupId() {
return minGroupId;
@@ -93,6 +95,22 @@ public class UnixSyncSourceInfo {
this.totalGroupsSynced = totalGroupsSynced;
}
+ public long getTotalUsersDeleted() {
+ return totalUsersDeleted;
+ }
+
+ public void setTotalUsersDeleted(long totalUsersDeleted) {
+ this.totalUsersDeleted = totalUsersDeleted;
+ }
+
+ public long getTotalGroupsDeleted() {
+ return totalGroupsDeleted;
+ }
+
+ public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+ this.totalGroupsDeleted = totalGroupsDeleted;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@@ -109,6 +127,8 @@ public class UnixSyncSourceInfo {
sb.append(", minGroupId= ").append(minGroupId);
sb.append(", totalUsersSynced= ").append(totalUsersSynced);
sb.append(", totalGroupsSynced= ").append(totalGroupsSynced);
+ sb.append(", totalUsersDeleted= ").append(totalUsersDeleted);
+ sb.append(", totalGroupsDeleted= ").append(totalGroupsDeleted);
sb.append("]");
return sb;
}
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 7e9a364..cb071cd 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
@@ -125,6 +125,8 @@ public class PolicyMgrUserGroupBuilder extends
AbstractUserGroupSource implement
private int noOfNewGroups;
private int noOfModifiedUsers;
private int noOfModifiedGroups;
+ private int noOfDeletedUsers = 0;
+ private int noOfDeletedGroups = 0;
private boolean userNameCaseConversionFlag;
private boolean groupNameCaseConversionFlag;
@@ -246,14 +248,20 @@ public class PolicyMgrUserGroupBuilder extends
AbstractUserGroupSource implement
case "LDAP/AD":
ugsyncAuditInfo.getLdapSyncSourceInfo().setTotalUsersSynced(noOfCachedUsers);
ugsyncAuditInfo.getLdapSyncSourceInfo().setTotalGroupsSynced(noOfCachedGroups);
+
ugsyncAuditInfo.getLdapSyncSourceInfo().setTotalUsersDeleted(noOfDeletedUsers);
+
ugsyncAuditInfo.getLdapSyncSourceInfo().setTotalGroupsDeleted(noOfDeletedGroups);
break;
case "Unix":
ugsyncAuditInfo.getUnixSyncSourceInfo().setTotalUsersSynced(noOfCachedUsers);
ugsyncAuditInfo.getUnixSyncSourceInfo().setTotalGroupsSynced(noOfCachedGroups);
+
ugsyncAuditInfo.getUnixSyncSourceInfo().setTotalUsersDeleted(noOfDeletedUsers);
+
ugsyncAuditInfo.getUnixSyncSourceInfo().setTotalGroupsDeleted(noOfDeletedGroups);
break;
case "File" :
ugsyncAuditInfo.getFileSyncSourceInfo().setTotalUsersSynced(noOfCachedUsers);
ugsyncAuditInfo.getFileSyncSourceInfo().setTotalGroupsSynced(noOfCachedGroups);
+
ugsyncAuditInfo.getFileSyncSourceInfo().setTotalUsersDeleted(noOfDeletedUsers);
+
ugsyncAuditInfo.getFileSyncSourceInfo().setTotalGroupsDeleted(noOfDeletedGroups);
break;
default:
break;
@@ -1615,6 +1623,8 @@ public class PolicyMgrUserGroupBuilder extends
AbstractUserGroupSource implement
throw new Exception(msg);
}
}
+ LOG.info("No. of groups marked for delete = " +
deletedGroups.size());
+ noOfDeletedGroups += deletedGroups.size();
}
private void computeDeletedGroups(Map<String, Map<String, String>>
sourceGroups) {
@@ -1629,8 +1639,12 @@ public class PolicyMgrUserGroupBuilder extends
AbstractUserGroupSource implement
if (StringUtils.isNotEmpty(groupDN) &&
!sourceGroups.containsKey(groupDN)
&&
StringUtils.equalsIgnoreCase(groupOtherAttrs.get(UgsyncCommonConstants.SYNC_SOURCE),
currentSyncSource)
&&
StringUtils.equalsIgnoreCase(groupOtherAttrs.get(UgsyncCommonConstants.LDAP_URL),
ldapUrl)) {
- groupInfo.setIsVisible(ISHIDDEN);
- deletedGroups.put(groupInfo.getName(),
groupInfo);
+ if (groupInfo.getIsVisible() != ISHIDDEN) {
+ groupInfo.setIsVisible(ISHIDDEN);
+ deletedGroups.put(groupInfo.getName(),
groupInfo);
+ } else {
+ LOG.info("group " + groupInfo.getName()
+ " already marked for delete ");
+ }
}
}
if (LOG.isDebugEnabled()) {
@@ -1730,6 +1744,8 @@ public class PolicyMgrUserGroupBuilder extends
AbstractUserGroupSource implement
throw new Exception(msg);
}
}
+ LOG.info("No. of users marked for delete = " +
deletedUsers.size());
+ noOfDeletedUsers += deletedUsers.size();
}
private void computeDeletedUsers(Map<String, Map<String, String>>
sourceUsers) {
@@ -1744,8 +1760,12 @@ public class PolicyMgrUserGroupBuilder extends
AbstractUserGroupSource implement
if (StringUtils.isNotEmpty(userDN) &&
!sourceUsers.containsKey(userDN)
&&
StringUtils.equalsIgnoreCase(userOtherAttrs.get(UgsyncCommonConstants.SYNC_SOURCE),
currentSyncSource)
&&
StringUtils.equalsIgnoreCase(userOtherAttrs.get(UgsyncCommonConstants.LDAP_URL),
ldapUrl)) {
- userInfo.setIsVisible(ISHIDDEN);
- deletedUsers.put(userInfo.getName(), userInfo);
+ if (userInfo.getIsVisible() != ISHIDDEN) {
+ userInfo.setIsVisible(ISHIDDEN);
+ deletedUsers.put(userInfo.getName(),
userInfo);
+ } else {
+ LOG.info("user " + userInfo.getName() +
" already marked for delete ");
+ }
}
}
if (LOG.isDebugEnabled()) {