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/05/19 00:06:56 UTC

[3/3] incubator-ranger git commit: RANGER-274: tag-based-policies: updated policy-download to include tag-based-policies

RANGER-274: tag-based-policies: updated policy-download to include tag-based-policies


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/79a4f9db
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/79a4f9db
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/79a4f9db

Branch: refs/heads/tag-policy
Commit: 79a4f9dbd62900459959a7183fe173ffb8d95865
Parents: 49d1fdb
Author: Madhan Neethiraj <ma...@apache.org>
Authored: Mon May 18 15:06:00 2015 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Mon May 18 15:06:00 2015 -0700

----------------------------------------------------------------------
 .../apache/ranger/plugin/util/SearchFilter.java |   2 +
 .../ranger/plugin/util/ServicePolicies.java     | 113 ++++++++++++++++++-
 .../org/apache/ranger/biz/ServiceDBStore.java   |  24 ++++
 .../service/RangerServiceServiceBase.java       |   3 +
 4 files changed, 141 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/79a4f9db/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 17738be..ae6b7a8 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
@@ -36,6 +36,8 @@ public class SearchFilter {
 	public static final String POLICY_ID       = "policyId";      // search, sort
 	public static final String IS_ENABLED      = "isEnabled";     // search
 	public static final String IS_RECURSIVE    = "isRecursive";   // search
+	public static final String TAG_SERVICE_NAME = "tagServiceName";  // search
+	public static final String TAG_SERVICE_ID  = "tagServiceId";  // search
 	public static final String USER            = "user";          // search
 	public static final String GROUP           = "group";         // search
 	public static final String RESOURCE_PREFIX = "resource:";     // search

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/79a4f9db/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
index 015c081..a1c6397 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
@@ -50,7 +50,7 @@ public class ServicePolicies implements java.io.Serializable {
 	private Date               policyUpdateTime;
 	private List<RangerPolicy> policies;
 	private RangerServiceDef   serviceDef;
-
+	private TagPolicies        tagPolicies;
 
 	/**
 	 * @return the serviceName
@@ -124,6 +124,18 @@ public class ServicePolicies implements java.io.Serializable {
 	public void setServiceDef(RangerServiceDef serviceDef) {
 		this.serviceDef = serviceDef;
 	}
+	/**
+	 * @return the tagPolicies
+	 */
+	public ServicePolicies.TagPolicies getTagPolicies() {
+		return tagPolicies;
+	}
+	/**
+	 * @param tagPolicies the tagPolicies to set
+	 */
+	public void setTagPolicies(ServicePolicies.TagPolicies tagPolicies) {
+		this.tagPolicies = tagPolicies;
+	}
 	
 	@Override
 	public String toString() {
@@ -134,6 +146,105 @@ public class ServicePolicies implements java.io.Serializable {
 			.add("policyUpdateTime", policyUpdateTime)
 			.add("policies", policies)
 			.add("serviceDef", serviceDef)
+			.add("tagPolicies", tagPolicies)
 			.toString();
 	}
+
+	@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
+	@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+	@JsonIgnoreProperties(ignoreUnknown=true)
+	@XmlRootElement
+	@XmlAccessorType(XmlAccessType.FIELD)
+	public static class TagPolicies {
+		private String             serviceName;
+		private Long               serviceId;
+		private Long               policyVersion;
+		private Date               policyUpdateTime;
+		private List<RangerPolicy> policies;
+		private RangerServiceDef   serviceDef;
+		/**
+		 * @return the serviceName
+		 */
+		public String getServiceName() {
+			return serviceName;
+		}
+		/**
+		 * @param serviceName the serviceName to set
+		 */
+		public void setServiceName(String serviceName) {
+			this.serviceName = serviceName;
+		}
+		/**
+		 * @return the serviceId
+		 */
+		public Long getServiceId() {
+			return serviceId;
+		}
+		/**
+		 * @param serviceId the serviceId to set
+		 */
+		public void setServiceId(Long serviceId) {
+			this.serviceId = serviceId;
+		}
+		/**
+		 * @return the policyVersion
+		 */
+		public Long getPolicyVersion() {
+			return policyVersion;
+		}
+		/**
+		 * @param policyVersion the policyVersion to set
+		 */
+		public void setPolicyVersion(Long policyVersion) {
+			this.policyVersion = policyVersion;
+		}
+		/**
+		 * @return the policyUpdateTime
+		 */
+		public Date getPolicyUpdateTime() {
+			return policyUpdateTime;
+		}
+		/**
+		 * @param policyUpdateTime the policyUpdateTime to set
+		 */
+		public void setPolicyUpdateTime(Date policyUpdateTime) {
+			this.policyUpdateTime = policyUpdateTime;
+		}
+		/**
+		 * @return the policies
+		 */
+		public List<RangerPolicy> getPolicies() {
+			return policies;
+		}
+		/**
+		 * @param policies the policies to set
+		 */
+		public void setPolicies(List<RangerPolicy> policies) {
+			this.policies = policies;
+		}
+		/**
+		 * @return the serviceDef
+		 */
+		public RangerServiceDef getServiceDef() {
+			return serviceDef;
+		}
+		/**
+		 * @param serviceDef the serviceDef to set
+		 */
+		public void setServiceDef(RangerServiceDef serviceDef) {
+			this.serviceDef = serviceDef;
+		}
+
+		@Override
+		public String toString() {
+			return Objects.toStringHelper(this.getClass())
+				.add("serviceName", serviceName)
+				.add("serviceId", serviceId)
+				.add("policyVersion", policyVersion)
+				.add("policyUpdateTime", policyUpdateTime)
+				.add("policies", policies)
+				.add("serviceDef", serviceDef)
+				.toString();
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/79a4f9db/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index 009cbf8..91fafa4 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -1608,6 +1608,29 @@ public class ServiceDBStore implements ServiceStore {
 				throw new Exception("service-def does not exist. id=" + serviceDbObj.getType());
 			}
 
+			ServicePolicies.TagPolicies tagPolicies = null;
+
+			if(serviceDbObj.getTagService() != null) {
+				XXService tagServiceDbObj = daoMgr.getXXService().getById(serviceDbObj.getTagService());
+
+				if(tagServiceDbObj != null) {
+					RangerServiceDef tagServiceDef = getServiceDef(tagServiceDbObj.getType());
+
+					if(tagServiceDef == null) {
+						throw new Exception("service-def does not exist. id=" + tagServiceDbObj.getType());
+					}
+
+					tagPolicies = new ServicePolicies.TagPolicies();
+
+					tagPolicies.setServiceId(tagServiceDbObj.getId());
+					tagPolicies.setServiceName(tagServiceDbObj.getName());
+					tagPolicies.setPolicyVersion(tagServiceDbObj.getPolicyVersion());
+					tagPolicies.setPolicyUpdateTime(tagServiceDbObj.getPolicyUpdateTime());
+					tagPolicies.setPolicies(getServicePolicies(tagServiceDbObj.getName(), null));
+					tagPolicies.setServiceDef(tagServiceDef);
+				}
+			}
+
 			List<RangerPolicy> policies = getServicePolicies(serviceName, null);
 
 			ret = new ServicePolicies();
@@ -1618,6 +1641,7 @@ public class ServiceDBStore implements ServiceStore {
 			ret.setPolicyUpdateTime(serviceDbObj.getPolicyUpdateTime());
 			ret.setPolicies(policies);
 			ret.setServiceDef(serviceDef);
+			ret.setTagPolicies(tagPolicies);
 		}
 
 		if(LOG.isDebugEnabled()) {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/79a4f9db/security-admin/src/main/java/org/apache/ranger/service/RangerServiceServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceServiceBase.java b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceServiceBase.java
index 4388a78..57e6ac8 100755
--- a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceServiceBase.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceServiceBase.java
@@ -50,6 +50,9 @@ public abstract class RangerServiceServiceBase<T extends XXServiceBase, V extend
 		searchFields.add(new SearchField(SearchFilter.SERVICE_NAME, "obj.name", DATA_TYPE.STRING, SEARCH_TYPE.FULL));
 		searchFields.add(new SearchField(SearchFilter.SERVICE_ID, "obj.id", DATA_TYPE.INTEGER, SEARCH_TYPE.FULL));
 		searchFields.add(new SearchField(SearchFilter.IS_ENABLED, "obj.isEnabled", DATA_TYPE.BOOLEAN, SEARCH_TYPE.FULL));
+		searchFields.add(new SearchField(SearchFilter.TAG_SERVICE_ID, "obj.tag_service", DATA_TYPE.INTEGER, SEARCH_TYPE.FULL));
+		searchFields.add(new SearchField(SearchFilter.TAG_SERVICE_NAME, "xTagSvc.name", DATA_TYPE.STRING,
+				SEARCH_TYPE.FULL, "XXServiceBase xTagSvc", "obj.tag_service = xTagSvc.id"));
 		
 		sortFields.add(new SortField(SearchFilter.CREATE_TIME, "obj.createTime"));
 		sortFields.add(new SortField(SearchFilter.UPDATE_TIME, "obj.updateTime"));