You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by me...@apache.org on 2020/10/27 09:23:03 UTC
[ranger] 02/03: RANGER-3057: Support Audit search based on Audit ID
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 <ki...@gmail.com>
AuthorDate: Fri Oct 23 20:27:22 2020 +0530
RANGER-3057: Support Audit search based on Audit ID
Signed-off-by: Mehul Parikh <me...@apache.org>
---
.../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());