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);
},