You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by me...@apache.org on 2021/05/17 05:38:25 UTC
[ranger] branch master updated: RANGER-3238: Incorrect response for
'ranger_metric denyconditions' in Collect Diagnostic Data
This is an automated email from the ASF dual-hosted git repository.
mehul pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new 6149013 RANGER-3238: Incorrect response for 'ranger_metric denyconditions' in Collect Diagnostic Data
6149013 is described below
commit 61490135f100ab91ac6cb98392759e1ec7e4f8dc
Author: BHAGYASHRI KOKATE <bh...@freestoneinfotech.com>
AuthorDate: Fri Apr 30 23:43:19 2021 +0530
RANGER-3238: Incorrect response for 'ranger_metric denyconditions' in Collect Diagnostic Data
Signed-off-by: Mehul Parikh <me...@apache.org>
---
.../src/main/java/org/apache/ranger/plugin/util/SearchFilter.java | 4 +++-
.../src/main/java/org/apache/ranger/biz/ServiceDBStore.java | 6 ++++--
.../src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java | 1 +
.../java/org/apache/ranger/service/RangerServiceDefServiceBase.java | 5 +++--
4 files changed, 11 insertions(+), 5 deletions(-)
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 c17c63b..c5f13b5 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
@@ -86,8 +86,10 @@ public class SearchFilter {
public static final String PLUGIN_ENTITY_TYPE = "pluginEntityType";
public static final String PLUGIN_IP_ADDRESS = "pluginIpAddress";
public static final String CLUSTER_NAME = "clusterName";
- public static final String FETCH_ZONE_UNZONE_POLICIES = "fetchZoneAndUnzonePolicies";
+ public static final String FETCH_ZONE_UNZONE_POLICIES= "fetchZoneAndUnzonePolicies";
public static final String FETCH_TAG_POLICIES = "fetchTagPolicies";
+ public static final String FETCH_ZONE_NAME = "zoneName";
+ public static final String FETCH_DENY_CONDITION = "denyCondition";
public static final String SERVICE_DISPLAY_NAME = "serviceDisplayName"; // search, sort
public static final String SERVICE_DISPLAY_NAME_PARTIAL = "serviceDisplayNamePartial"; // search
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 50eeb20..50ab32f 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
@@ -2447,7 +2447,8 @@ public class ServiceDBStore extends AbstractServiceStore {
if(LOG.isDebugEnabled()) {
LOG.debug("==> ServiceDBStore.getServicePolicies(" + serviceId + ")");
}
- String zoneName = filter.getParam("zoneName");
+ String zoneName = filter.getParam(SearchFilter.FETCH_ZONE_NAME);
+ String denyCondition = filter.getParam(SearchFilter.FETCH_DENY_CONDITION);
XXService service = daoMgr.getXXService().getById(serviceId);
if (service == null) {
@@ -2456,7 +2457,7 @@ public class ServiceDBStore extends AbstractServiceStore {
List<RangerPolicy> ret = getServicePolicies(service, filter);
if(!"true".equalsIgnoreCase(filter.getParam(SearchFilter.FETCH_ZONE_UNZONE_POLICIES))) {
- if(StringUtils.isBlank(zoneName)) {
+ if(StringUtils.isBlank(zoneName) && StringUtils.isBlank(denyCondition)) {
ret = noZoneFilter(ret);
}
}
@@ -5269,6 +5270,7 @@ public class ServiceDBStore extends AbstractServiceStore {
policyFilter1.setGetCount(true);
policyFilter1.setSortBy("serviceId");
policyFilter1.setSortType("asc");
+ policyFilter1.setParam("denyCondition", "true");
int denyCount = 0;
Map<String, Integer> denyconditionsonMap = new HashMap<String, Integer>();
PList<RangerServiceDef> paginatedSvcDefs = getPaginatedServiceDefs(policyFilter1);
diff --git a/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java b/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java
index 9c0af02..ac584d3 100644
--- a/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java
+++ b/security-admin/src/main/java/org/apache/ranger/patch/cliutil/MetricUtil.java
@@ -381,6 +381,7 @@ public class MetricUtil extends BaseLoader {
String serviceDef = rangerServiceDef.getName();
if (!StringUtils.isEmpty(serviceDef)) {
policyFilter1.setParam("serviceType", serviceDef);
+ policyFilter1.setParam("denyCondition", "true");
PList<RangerPolicy> policiesList = svcStore.getPaginatedPolicies(policyFilter1);
if (policiesList != null && policiesList.getListSize() > 0) {
int policyListCount = policiesList.getListSize();
diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
index d8ecd5f..4fe19c4 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefServiceBase.java
@@ -582,9 +582,10 @@ public abstract class RangerServiceDefServiceBase<T extends XXServiceDefBase, V
RangerServiceDefList retList = new RangerServiceDefList();
int startIndex = searchFilter.getStartIndex();
int pageSize = searchFilter.getMaxRows();
+ String denyCondition = searchFilter.getParam(SearchFilter.FETCH_DENY_CONDITION);
searchFilter.setStartIndex(0);
searchFilter.setMaxRows(Integer.MAX_VALUE);
-
+
boolean isAuditPage=false;
if(searchFilter.getParam("pageSource")!=null){
isAuditPage=true;
@@ -593,7 +594,7 @@ public abstract class RangerServiceDefServiceBase<T extends XXServiceDefBase, V
retList);
List<T> permittedServiceDefs = new ArrayList<T>();
for (T xSvcDef : xSvcDefList) {
- if (bizUtil.hasAccess(xSvcDef, null) || (bizUtil.isAdmin() && isAuditPage) ) {
+ if ((bizUtil.hasAccess(xSvcDef, null) || (bizUtil.isAdmin() && isAuditPage)) || ("true".equals(denyCondition))) {
permittedServiceDefs.add(xSvcDef);
}
}