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 <[email protected]>
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 <[email protected]>
---
.../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
}
],