This is an automated email from the ASF dual-hosted git repository. mehul pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ranger.git
commit e394f970864636a66e984e3efc56e2c1a6e1d547 Author: Kishor Gollapalliwar <[email protected]> AuthorDate: Fri Oct 23 20:27:22 2020 +0530 RANGER-3057: Support Audit search based on Audit ID Signed-off-by: Mehul Parikh <[email protected]> --- .../main/java/org/apache/ranger/rest/AssetREST.java | 20 ++++++++++---------- .../apache/ranger/solr/SolrAccessAuditsService.java | 6 ++++++ .../main/webapp/scripts/views/reports/AuditLayout.js | 3 ++- .../java/org/apache/ranger/rest/TestAssetREST.java | 4 ++-- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java index fd6e738..51d000e 100644 --- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java +++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java @@ -641,24 +641,24 @@ public class AssetREST { "Resource Type", StringUtil.VALIDATION_TEXT); searchUtil.extractString(request,searchCriteria,"excludeServiceUser", "Exclude Service User",StringUtil.VALIDATION_TEXT); + searchUtil.extractInt(request, searchCriteria, "auditType", "Audit Type"); - searchUtil.extractInt(request, searchCriteria, "accessResult", "Result"); + searchUtil.extractInt(request, searchCriteria, "accessResult", "Result"); searchUtil.extractInt(request, searchCriteria, "assetId", "Asset ID"); searchUtil.extractLong(request, searchCriteria, "policyId", "Policy ID"); - searchUtil.extractInt(request, searchCriteria, "repoType", "Service Type"); - - searchUtil.extractDate(request, searchCriteria, "startDate", - "Start Date", "MM/dd/yyyy"); - searchUtil.extractDate(request, searchCriteria, "endDate", "End Date", - "MM/dd/yyyy"); + searchUtil.extractInt(request, searchCriteria, "repoType", "Service Type"); + + searchUtil.extractDate(request, searchCriteria, "startDate","Start Date", "MM/dd/yyyy"); + searchUtil.extractDate(request, searchCriteria, "endDate", "End Date", "MM/dd/yyyy"); searchUtil.extractString(request, searchCriteria, "tags", "tags", null); searchUtil.extractString(request, searchCriteria, "cluster", "Cluster Name", StringUtil.VALIDATION_TEXT); - searchUtil.extractStringList(request, searchCriteria, "zoneName", "Zone Name List", "zoneName", null, - null); + searchUtil.extractStringList(request, searchCriteria, "zoneName", "Zone Name List", "zoneName", null, null); searchUtil.extractString(request, searchCriteria, "agentHost", "Agent Host Name", StringUtil.VALIDATION_TEXT); - + + searchUtil.extractString(request, searchCriteria, "eventId", "Event Id", null); + boolean isKeyAdmin = msBizUtil.isKeyAdmin(); boolean isAuditKeyAdmin = msBizUtil.isAuditKeyAdmin(); XXServiceDef xxServiceDef = daoManager.getXXServiceDef().findByName(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_KMS_NAME); diff --git a/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java b/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java index 4b1cf5b..0aea46d 100644 --- a/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java +++ b/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java @@ -75,6 +75,12 @@ public class SolrAccessAuditsService extends AccessAuditsService { List<VXAccessAudit> xAccessAuditList = new ArrayList<VXAccessAudit>(); Map<String, Object> paramList = searchCriteria.getParamList(); + + Object eventIdObj = paramList.get("eventId"); + if (eventIdObj != null) { + paramList.put("id", eventIdObj.toString()); + } + updateUserExclusion(paramList); QueryResponse response = solrUtil.searchResources(searchCriteria, diff --git a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js index 16b70f4..a068ad8 100644 --- a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js +++ b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js @@ -431,10 +431,11 @@ define(function(require) { {text : 'Cluster Name',label : 'cluster', urlLabel : 'clusterName'}, {text : 'Zone Name',label : 'zoneName', urlLabel : 'zoneName'}, {text : localization.tt("lbl.agentHost"), label :"agentHost", urlLabel : 'agentHost'}, + {text : 'Audit ID', label : 'eventId', urlLabel : 'eventId'} //{text : localization.tt("lbl.permission"), label :'action', urlLabel : 'permission'} ]; var searchOpt = ['Resource Type','Start Date','End Date','Application','User','Service Name','Service Type','Resource Name','Access Type','Result','Access Enforcer', - 'Client IP','Tags','Cluster Name', 'Zone Name', 'Exclude User', localization.tt("lbl.agentHost"), 'Policy ID'];//, localization.tt("lbl.permission")]; + 'Client IP','Tags','Cluster Name', 'Zone Name', 'Exclude User', localization.tt("lbl.agentHost"), 'Policy ID', 'Audit ID'];//, localization.tt("lbl.permission")]; this.clearVisualSearch(this.accessAuditList, serverAttrName); this.searchInfoArr =[{text :'Access Enforcer', info :localization.tt('msg.accessEnforcer')}, {text :'Access Type' , info :localization.tt('msg.accessTypeMsg')}, diff --git a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java index c4844cf..abd4b1c 100644 --- a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java +++ b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java @@ -762,7 +762,7 @@ public class TestAssetREST { Mockito.verify(msBizUtil).isKeyAdmin(); Mockito.verify(assetMgr).getAccessLogs(searchCriteria); Mockito.verify(daoManager).getXXServiceDef(); - Mockito.verify(searchUtil, Mockito.times(13)).extractString((HttpServletRequest) Mockito.any(), + Mockito.verify(searchUtil, Mockito.times(14)).extractString((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.nullable(String.class)); Mockito.verify(searchUtil, Mockito.times(4)).extractInt((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString()); @@ -818,7 +818,7 @@ public class TestAssetREST { Mockito.verify(msBizUtil).isKeyAdmin(); Mockito.verify(assetMgr).getAccessLogs(searchCriteria); Mockito.verify(daoManager).getXXServiceDef(); - Mockito.verify(searchUtil, Mockito.times(13)).extractString((HttpServletRequest) Mockito.any(), + Mockito.verify(searchUtil, Mockito.times(14)).extractString((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.nullable(String.class)); Mockito.verify(searchUtil, Mockito.times(4)).extractInt((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString());
