You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2015/08/19 09:59:48 UTC

incubator-ranger git commit: RANGER-610: Update Audit page to add 'Tags' column

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 <ma...@apache.org>


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 <gb...@gmail.com>
Authored: Wed Aug 19 12:31:30 2015 +0530
Committer: Madhan Neethiraj <ma...@apache.org>
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);
 		},