This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch ranger-2.5
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.5 by this push:
     new cd7f50755 RANGER-4864: fixed incorrect admin audit log for policy 
import operation
cd7f50755 is described below

commit cd7f5075543d8b604440a2f73e2752baab6c5c9a
Author: Rakesh Gupta <rakesh.gupta.dev...@gmail.com>
AuthorDate: Tue Jul 23 17:22:49 2024 +0530

    RANGER-4864: fixed incorrect admin audit log for policy import operation
    
    Signed-off-by: Madhan Neethiraj <mad...@apache.org>
---
 .../main/java/org/apache/ranger/biz/ServiceDBStore.java    |  3 ++-
 .../apache/ranger/service/RangerAuditedModelService.java   | 14 +++++++++++++-
 .../org/apache/ranger/service/RangerTrxLogV2Service.java   |  1 +
 .../webapp/react-webapp/src/views/AuditEvent/AdminLogs.jsx |  2 +-
 4 files changed, 17 insertions(+), 3 deletions(-)

diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java 
b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index 3479d65d7..893abf516 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -4506,10 +4506,11 @@ public class ServiceDBStore extends 
AbstractServiceStore {
                Map<String, Object> metaDataInfo = new LinkedHashMap<>();
                UserSessionBase usb = ContextUtil.getCurrentUserSession();
                String userId = usb!=null ? usb.getLoginId() : null;
+               DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy 
h:mm:ss a");
 
                metaDataInfo.put(HOSTNAME, LOCAL_HOSTNAME);
                metaDataInfo.put(USER_NAME, userId);
-               metaDataInfo.put(TIMESTAMP, MiscUtil.getUTCDateForLocalDate(new 
Date()));
+               metaDataInfo.put(TIMESTAMP, 
formatter.format(MiscUtil.getUTCDateForLocalDate(new Date())));
                metaDataInfo.put(RANGER_VERSION, 
RangerVersionInfo.getVersion());
 
                return metaDataInfo;
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/RangerAuditedModelService.java
 
b/security-admin/src/main/java/org/apache/ranger/service/RangerAuditedModelService.java
index ee1eb371e..dfecf720f 100755
--- 
a/security-admin/src/main/java/org/apache/ranger/service/RangerAuditedModelService.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/RangerAuditedModelService.java
@@ -139,7 +139,9 @@ public abstract class RangerAuditedModelService<T extends 
XXDBBase, V extends Ra
                                processFieldToCreateTrxLog(trxLog, obj, oldObj, 
action, objChangeInfo);
                        }
 
-                       ret.add(new XXTrxLogV2(classType, obj.getId(), 
getObjectName(obj), getParentObjectType(obj, oldObj), getParentObjectId(obj, 
oldObj), getParentObjectName(obj, oldObj), toActionString(action), 
JsonUtilsV2.objToJson(objChangeInfo)));
+                       if(objChangeInfo.getAttributes() != null && 
objChangeInfo.getAttributes().size() > 0) {
+                               ret.add(new XXTrxLogV2(classType, obj.getId(), 
getObjectName(obj), getParentObjectType(obj, oldObj), getParentObjectId(obj, 
oldObj), getParentObjectName(obj, oldObj), toActionString(action), 
JsonUtilsV2.objToJson(objChangeInfo)));
+                       }
                } catch (Exception excp) {
                        LOG.warn("failed to get transaction log for object: 
type=" + obj.getClass().getName() + ", id=" + obj.getId(), excp);
                }
@@ -204,6 +206,12 @@ public abstract class RangerAuditedModelService<T extends 
XXDBBase, V extends Ra
                } else if (action == OPERATION_UPDATE_CONTEXT) {
                        prevValue = getTrxLogAttrValue(oldObj, trxLogAttr);
                        newValue  = value;
+               } else if (action == OPERATION_IMPORT_CREATE_CONTEXT) {
+                       prevValue = null;
+                       newValue  = value;
+               } else if (action == OPERATION_IMPORT_DELETE_CONTEXT) {
+                       prevValue = value;
+                       newValue  = null;
                } else {
                        prevValue = null;
                        newValue  = null;
@@ -224,6 +232,10 @@ public abstract class RangerAuditedModelService<T extends 
XXDBBase, V extends Ra
                                return "update";
                        case OPERATION_DELETE_CONTEXT:
                                return "delete";
+                       case OPERATION_IMPORT_CREATE_CONTEXT:
+                               return "Import Create";
+                       case OPERATION_IMPORT_DELETE_CONTEXT:
+                               return "Import Delete";
                }
 
                return "unknown";
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/RangerTrxLogV2Service.java
 
b/security-admin/src/main/java/org/apache/ranger/service/RangerTrxLogV2Service.java
index 3b9a83a95..3eb2a707e 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/RangerTrxLogV2Service.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/RangerTrxLogV2Service.java
@@ -68,6 +68,7 @@ public class RangerTrxLogV2Service {
                searchFields.add(new SearchField("objectClassType", 
"obj.objectClassType", SearchField.DATA_TYPE.INT_LIST, 
SearchField.SEARCH_TYPE.FULL));
                searchFields.add(new SearchField("objectId",        
"obj.objectId",        SearchField.DATA_TYPE.INT_LIST, 
SearchField.SEARCH_TYPE.FULL));
 
+               sortFields.add(new SortField("id", "obj.id", true, 
SortField.SORT_ORDER.DESC));
                sortFields.add(new SortField("createDate", "obj.createTime", 
true, SortField.SORT_ORDER.DESC));
        }
 
diff --git 
a/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AdminLogs.jsx
 
b/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AdminLogs.jsx
index 669266a33..96c59625d 100644
--- 
a/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AdminLogs.jsx
+++ 
b/security-admin/src/main/webapp/react-webapp/src/views/AuditEvent/AdminLogs.jsx
@@ -360,7 +360,7 @@ function Admin() {
   const getDefaultSort = React.useMemo(
     () => [
       {
-        id: "createDate",
+        id: "id",
         desc: true
       }
     ],

Reply via email to