Repository: incubator-ranger Updated Branches: refs/heads/tag-policy 6f972e9cf -> 722a5ba49
RANGER-610: Update Audit page to add 'Tags' column Signed-off-by: Madhan Neethiraj <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/722a5ba4 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/722a5ba4 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/722a5ba4 Branch: refs/heads/tag-policy Commit: 722a5ba49709f6a87263d06559866f4bcc0e11d7 Parents: 6f972e9 Author: Gautam Borad <[email protected]> Authored: Wed Aug 19 12:31:30 2015 +0530 Committer: Madhan Neethiraj <[email protected]> Committed: Wed Aug 19 00:59:24 2015 -0700 ---------------------------------------------------------------------- .../apache/ranger/plugin/util/SearchFilter.java | 2 ++ .../apache/ranger/common/RangerSearchUtil.java | 1 + .../org/apache/ranger/entity/XXAccessAudit.java | 20 +++++++++++++++++++ .../java/org/apache/ranger/rest/AssetREST.java | 2 ++ .../ranger/service/RangerPolicyServiceBase.java | 1 + .../ranger/service/XAccessAuditService.java | 3 +++ .../ranger/solr/SolrAccessAuditsService.java | 6 ++++++ .../org/apache/ranger/view/VXAccessAudit.java | 21 +++++++++++++++++++- .../webapp/scripts/views/reports/AuditLayout.js | 14 +++++++++++-- 9 files changed, 67 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java ---------------------------------------------------------------------- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java index 154d1c3..a55a760 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java @@ -56,6 +56,8 @@ public class SearchFilter { public static final String TAG_RESOURCE_SERVICE_NAME = "tagResourceServiceName"; // search public static final String TAG_RESOURCE_TIMESTAMP = "tagResourceTimestamp"; // search + public static final String POLICY_TYPE = "policyType"; // search + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java index 897ed5d..141e634 100644 --- a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java +++ b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java @@ -64,6 +64,7 @@ public class RangerSearchUtil extends SearchUtil { ret.setParam(SearchFilter.GROUP, request.getParameter(SearchFilter.GROUP)); ret.setParam(SearchFilter.POL_RESOURCE, request.getParameter(SearchFilter.POL_RESOURCE)); ret.setParam(SearchFilter.RESOURCE_SIGNATURE, request.getParameter(SearchFilter.RESOURCE_SIGNATURE)); + ret.setParam(SearchFilter.POLICY_TYPE, request.getParameter(SearchFilter.POLICY_TYPE)); for (Map.Entry<String, String[]> e : request.getParameterMap().entrySet()) { String name = e.getKey(); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java b/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java index 6e35fa4..96859a7 100644 --- a/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java +++ b/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java @@ -250,6 +250,9 @@ public class XXAccessAudit extends XXDBBase implements java.io.Serializable { @Column(name="EVENT_DUR_MS") protected long eventDuration; + @Column(name="tags") + protected String tags; + /** * Default constructor. This will set all the attributes to default value. */ @@ -588,6 +591,19 @@ public class XXAccessAudit extends XXDBBase implements java.io.Serializable { public void setEventDuration(long eventDuration) { this.eventDuration = eventDuration; } + + /** + * @return the tags + */ + public String getTags() { + return tags; + } + /** + * @param tags the tags to set + */ + public void setTags(String tags) { + this.tags = tags; + } /** * This return the bean content in string format * @return formatedStr @@ -617,6 +633,7 @@ public class XXAccessAudit extends XXDBBase implements java.io.Serializable { str += "sequenceNumber={" + sequenceNumber + "}"; str += "eventCount={" + eventCount + "}"; str += "eventDuration={" + eventDuration + "}"; + str += "tags={" + tags + "}"; str += "}"; return str; } @@ -677,6 +694,9 @@ public class XXAccessAudit extends XXDBBase implements java.io.Serializable { if ((this.resourceType == null && other.resourceType != null) || (this.resourceType != null && !this.resourceType.equals(other.resourceType))) { return false; } + if ((this.tags == null && other.tags != null) || (this.tags != null && !this.tags.equals(other.tags))) { + return false; + } return true; } public static String getEnumName(String fieldName ) { http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java ---------------------------------------------------------------------- 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 e5de160..b931f7b 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 @@ -632,6 +632,8 @@ public class AssetREST { "startDate", "MM/dd/yyyy"); searchUtil.extractDate(request, searchCriteria, "endDate", "endDate", "MM/dd/yyyy"); + + searchUtil.extractStringList(request, searchCriteria, "tags", "Tag List", "tags", null, null); return assetMgr.getAccessLogs(searchCriteria); } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java index 9584c3d..1f73504 100644 --- a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java +++ b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java @@ -83,6 +83,7 @@ public abstract class RangerPolicyServiceBase<T extends XXPolicyBase, V extends "resMap.resourceId = polRes.id and polRes.policyId = obj.id")); searchFields.add(new SearchField(SearchFilter.POLICY_NAME_PARTIAL, "obj.name", DATA_TYPE.STRING, SEARCH_TYPE.PARTIAL)); + searchFields.add(new SearchField(SearchFilter.POLICY_TYPE, "obj.policyType", DATA_TYPE.INTEGER, SEARCH_TYPE.FULL)); sortFields.add(new SortField(SearchFilter.CREATE_TIME, "obj.createTime")); sortFields.add(new SortField(SearchFilter.UPDATE_TIME, "obj.updateTime")); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java b/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java index 98c987e..20079fb 100644 --- a/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java +++ b/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java @@ -100,6 +100,7 @@ public class XAccessAuditService extends XAccessAuditServiceBase<XXAccessAudit, DATA_TYPE.DATE, SEARCH_TYPE.GREATER_EQUAL_THAN)); searchFields.add(new SearchField("endDate", "obj.eventTime", DATA_TYPE.DATE, SEARCH_TYPE.LESS_EQUAL_THAN)); + searchFields.add(new SearchField("tags", "obj.tags", DATA_TYPE.STR_LIST, SEARCH_TYPE.PARTIAL)); sortFields.add(new SortField("eventTime", "obj.eventTime", true, SORT_ORDER.DESC)); } @@ -125,6 +126,7 @@ public class XAccessAuditService extends XAccessAuditServiceBase<XXAccessAudit, mObj.setSequenceNumber( vObj.getSequenceNumber()); mObj.setEventCount( vObj.getEventCount()); mObj.setEventDuration( vObj.getEventDuration()); + mObj.setTags(vObj.getTags()); return mObj; } @@ -149,6 +151,7 @@ public class XAccessAuditService extends XAccessAuditServiceBase<XXAccessAudit, vObj.setSequenceNumber( mObj.getSequenceNumber()); vObj.setEventCount( mObj.getEventCount()); vObj.setEventDuration( mObj.getEventDuration()); + vObj.setTags(mObj.getTags()); XXService xService = daoManager.getXXService().findByName(mObj.getRepoName()); if (xService != null) { http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java ---------------------------------------------------------------------- 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 5fc45d2..2b3cd09 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 @@ -114,6 +114,8 @@ public class SolrAccessAuditsService { searchFields.add(new SearchField("endDate", "evtTime", DATA_TYPE.DATE, SEARCH_TYPE.LESS_EQUAL_THAN)); + searchFields.add(new SearchField("tags", "obj.tags", DATA_TYPE.STR_LIST, SEARCH_TYPE.PARTIAL)); + sortFields.add(new SortField("eventTime", "evtTime", true, SORT_ORDER.DESC)); } @@ -259,6 +261,10 @@ public class SolrAccessAuditsService { if (value != null) { accessAudit.setEventDuration(solrUtil.toLong(value)); } + value = doc.getFieldValue("tags"); + if (value != null) { + accessAudit.setTags(value.toString()); + } return accessAudit; } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java index bcffd4d..9f0a97c 100644 --- a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java +++ b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java @@ -128,9 +128,12 @@ public class VXAccessAudit extends VXDataObject implements java.io.Serializable protected long sequenceNumber; protected long eventCount; - + //event duration in ms protected long eventDuration; + + protected String tags; + /** * Default constructor. This will set all the attributes to default value. */ @@ -482,6 +485,21 @@ public class VXAccessAudit extends VXDataObject implements java.io.Serializable this.eventDuration = eventDuration; } + /** + * @return the tags + */ + public String getTags() { + return tags; + } + + /** + * @param tags + * the tags to set + */ + public void setTags(String tags) { + this.tags = tags; + } + @Override public int getMyClassType( ) { return AppConstants.CLASS_TYPE_XA_ACCESS_AUDIT; @@ -516,6 +534,7 @@ public class VXAccessAudit extends VXDataObject implements java.io.Serializable str += "sequenceNumber={" + sequenceNumber + "}"; str += "eventCount={" + eventCount + "}"; str += "eventDuration={" + eventDuration + "}"; + str += "tags={" + tags + "}"; str += "}"; return str; } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js ---------------------------------------------------------------------- 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 b3147ee..2af43bc 100644 --- a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js +++ b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js @@ -181,6 +181,7 @@ define(function(require) { <th class="renderable cip"> </th>\ <th class="renderable aip" > </th>\ <th class="renderable aip" > </th>\ + <th class="renderable ruser"></th>\ </tr>'); }, renderDateFields : function(){ @@ -273,8 +274,9 @@ define(function(require) { {text : 'Result',label :'accessResult', 'multiple' : true, 'optionsArr' : XAUtils.enumToSelectLabelValuePairs(XAEnums.AccessResult)}, {text : 'Access Type',label :'accessType'},{text : 'Access Enforcer',label :'aclEnforcer'}, {text : 'Audit Type',label :'auditType'},{text : 'Session ID',label :'sessionId'}, - {text : 'Client IP',label :'clientIP'},{text : 'Client Type',label :'clientType'}]; - var searchOpt = ['Start Date','End Date','User','Service Name','Service Type','Resource Name','Access Type','Result','Access Enforcer','Client IP'];//,'Policy ID' + {text : 'Client IP',label :'clientIP'},{text : 'Client Type',label :'clientType'}, + {text : 'Tags',label :'tags'}]; + var searchOpt = ['Start Date','End Date','User','Service Name','Service Type','Resource Name','Access Type','Result','Access Enforcer','Client IP','Tags'];//,'Policy ID' this.clearVisualSearch(this.accessAuditList, serverAttrName); //'Resource Type','Audit Type','Session IP','Client Type','Today', @@ -917,6 +919,14 @@ define(function(require) { sortable:false, editable:false }, + tags : { + label : 'Tags', + cell: "string", + click : false, + drag : false, + sortable:false, + editable:false + }, }; return this.accessAuditList.constructor.getTableCols(cols, this.accessAuditList); },
