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"));