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 2023/03/02 21:35:00 UTC

[ranger] branch ranger-2.4 updated: RANGER-4114: updated plugin to use consistent property-prefix across all references

This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch ranger-2.4
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.4 by this push:
     new c14a7cec7 RANGER-4114: updated plugin to use consistent property-prefix across all references
c14a7cec7 is described below

commit c14a7cec73298594a8cea0a278d0f598f86ee2e1
Author: Madhan Neethiraj <ma...@apache.org>
AuthorDate: Fri Feb 10 22:42:18 2023 -0800

    RANGER-4114: updated plugin to use consistent property-prefix across all references
    
    (cherry picked from commit 6b5628fbd76d4c2c407a54d4e98b937eec21df1c)
---
 .../RangerAbstractContextEnricher.java                |  6 ++++++
 .../plugin/contextenricher/RangerTagEnricher.java     |  4 ++--
 .../contextenricher/RangerUserStoreEnricher.java      |  4 ++--
 .../ranger/plugin/util/RangerRolesProvider.java       |  5 +++--
 .../ranger/plugin/policyengine/TestPolicyEngine.java  | 19 ++++++++++---------
 .../policyengine/TestPolicyEngineForDeltas.java       | 19 ++++++++++---------
 6 files changed, 33 insertions(+), 24 deletions(-)

diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
index f65a0cf88..8714a9625 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
@@ -204,6 +204,12 @@ public abstract class RangerAbstractContextEnricher implements RangerContextEnri
 		}
 	}
 
+	public String getPropertyPrefix() {
+		RangerPluginConfig pluginConfig = getPluginConfig();
+
+		return pluginConfig != null ? pluginConfig.getPropertyPrefix() : "ranger.plugin." + serviceDef.getName();
+	}
+
 	public String getConfig(String configName, String defaultValue) {
 		RangerPluginContext pluginContext = this.pluginContext;
 		String              ret           = defaultValue;
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
index 93d1e9d08..8f3410353 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
@@ -103,7 +103,7 @@ public class RangerTagEnricher extends RangerAbstractContextEnricher {
 
 		super.init();
 
-		String propertyPrefix        = "ranger.plugin." + serviceDef.getName();
+		String propertyPrefix        = getPropertyPrefix();
 		String tagRetrieverClassName = getOption(TAG_RETRIEVER_CLASSNAME_OPTION);
 		long   pollingIntervalMs     = getLongOption(TAG_REFRESHER_POLLINGINTERVAL_OPTION, 60 * 1000);
 
@@ -404,7 +404,7 @@ public class RangerTagEnricher extends RangerAbstractContextEnricher {
 	}
 
 	protected RangerReadWriteLock createLock() {
-		String             propertyPrefix        = "ranger.plugin." + serviceDef.getName();
+		String             propertyPrefix        = getPropertyPrefix();
 		RangerPluginConfig config                = getPluginConfig();
 		boolean            deltasEnabled         = config != null && config.getBoolean(propertyPrefix + RangerCommonConstants.PLUGIN_CONFIG_SUFFIX_TAG_DELTA, RangerCommonConstants.PLUGIN_CONFIG_SUFFIX_TAG_DELTA_DEFAULT);
 		boolean            inPlaceUpdatesEnabled = config != null && config.getBoolean(propertyPrefix + RangerCommonConstants.PLUGIN_CONFIG_SUFFIX_IN_PLACE_TAG_UPDATES, RangerCommonConstants.PLUGIN_CONFIG_SUFFIX_IN_PLACE_TAG_UPDATES_DEFAULT);
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java
index 34ccc766d..0ea5730aa 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java
@@ -57,10 +57,11 @@ public class RangerUserStoreEnricher extends RangerAbstractContextEnricher {
 
         super.init();
 
+        String propertyPrefix              = getPropertyPrefix();
         String userStoreRetrieverClassName = getOption(USERSTORE_RETRIEVER_CLASSNAME_OPTION);
         long   pollingIntervalMs           = getLongOption(USERSTORE_REFRESHER_POLLINGINTERVAL_OPTION, 3600 * 1000);
 
-        dedupStrings = getBooleanConfig("ranger.plugin." + serviceDef.getName() + ".dedup.strings", true);
+        dedupStrings = getBooleanConfig(propertyPrefix + ".dedup.strings", true);
 
         if (StringUtils.isNotBlank(userStoreRetrieverClassName)) {
 
@@ -81,7 +82,6 @@ public class RangerUserStoreEnricher extends RangerAbstractContextEnricher {
             }
 
             if (userStoreRetriever != null) {
-                String propertyPrefix    = "ranger.plugin." + serviceDef.getName();
                 disableCacheIfServiceNotFound = getBooleanConfig(propertyPrefix + ".disable.cache.if.servicenotfound", true);
                 String cacheDir      = getConfig(propertyPrefix + ".policy.cache.dir", null);
                 String cacheFilename = String.format("%s_%s_userstore.json", appId, serviceName);
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
index ef50b540e..7f6b4acb9 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
@@ -24,6 +24,7 @@ import com.google.gson.GsonBuilder;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.admin.client.RangerAdminClient;
+import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -57,7 +58,7 @@ public class RangerRolesProvider {
 	private boolean rangerUserGroupRolesSetInPlugin;
 	private boolean serviceDefSetInPlugin;
 
-	public RangerRolesProvider(String serviceType, String appId, String serviceName, RangerAdminClient rangerAdmin, String cacheDir, Configuration config) {
+	public RangerRolesProvider(String serviceType, String appId, String serviceName, RangerAdminClient rangerAdmin, String cacheDir, RangerPluginConfig config) {
 		if (LOG.isDebugEnabled()) {
 			LOG.debug("==> RangerRolesProvider(serviceName=" + serviceName + ").RangerRolesProvider()");
 		}
@@ -87,7 +88,7 @@ public class RangerRolesProvider {
 		}
 		this.gson = gson;
 
-		String propertyPrefix = "ranger.plugin." + serviceType;
+		String propertyPrefix = config.getPropertyPrefix();
 		disableCacheIfServiceNotFound = config.getBoolean(propertyPrefix + ".disable.cache.if.servicenotfound", true);
 
 		if (LOG.isDebugEnabled()) {
diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
index f4f7aaafb..9651a9b18 100644
--- a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
+++ b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
@@ -520,8 +520,9 @@ public class TestPolicyEngine {
 			servicePolicies.setTagPolicies(tagPolicies);
 		}
 
-		boolean useForwardedIPAddress = pluginContext.getConfig().getBoolean("ranger.plugin.hive.use.x-forwarded-for.ipaddress", false);
-		String trustedProxyAddressString = pluginContext.getConfig().get("ranger.plugin.hive.trusted.proxy.ipaddresses");
+		RangerPluginConfig config = pluginContext.getConfig();
+		boolean useForwardedIPAddress = config.getBoolean(config.getPropertyPrefix() + ".use.x-forwarded-for.ipaddress", false);
+		String trustedProxyAddressString = config.get(config.getPropertyPrefix() + ".trusted.proxy.ipaddresses");
 		String[] trustedProxyAddresses = StringUtils.split(trustedProxyAddressString, ';');
 		if (trustedProxyAddresses != null) {
 			for (int i = 0; i < trustedProxyAddresses.length; i++) {
@@ -578,18 +579,18 @@ public class TestPolicyEngine {
 
 		roles.setRangerRoles(rolesSet);
 
-        RangerPolicyEngineOptions policyEngineOptions = pluginContext.getConfig().getPolicyEngineOptions();
+        RangerPolicyEngineOptions policyEngineOptions = config.getPolicyEngineOptions();
 
         policyEngineOptions.disableAccessEvaluationWithPolicyACLSummary = true;
 
-        setPluginConfig(pluginContext.getConfig(), ".super.users", testCase.superUsers);
-        setPluginConfig(pluginContext.getConfig(), ".super.groups", testCase.superGroups);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.users", testCase.auditExcludedUsers);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.groups", testCase.auditExcludedGroups);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.roles", testCase.auditExcludedRoles);
+        setPluginConfig(config, ".super.users", testCase.superUsers);
+        setPluginConfig(config, ".super.groups", testCase.superGroups);
+        setPluginConfig(config, ".audit.exclude.users", testCase.auditExcludedUsers);
+        setPluginConfig(config, ".audit.exclude.groups", testCase.auditExcludedGroups);
+        setPluginConfig(config, ".audit.exclude.roles", testCase.auditExcludedRoles);
 
         // so that setSuperUsersAndGroups(), setAuditExcludedUsersGroupsRoles() will be called on the pluginConfig
-        new RangerBasePlugin(pluginContext.getConfig());
+        new RangerBasePlugin(config);
 
         RangerPolicyEngineImpl policyEngine = new RangerPolicyEngineImpl(servicePolicies, pluginContext, roles);
 
diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngineForDeltas.java b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngineForDeltas.java
index 4e1844bc6..3e5086cdf 100644
--- a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngineForDeltas.java
+++ b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngineForDeltas.java
@@ -214,8 +214,9 @@ public class TestPolicyEngineForDeltas {
 			servicePolicies.setTagPolicies(tagPolicies);
 		}
 
-		boolean useForwardedIPAddress = pluginContext.getConfig().getBoolean("ranger.plugin.hive.use.x-forwarded-for.ipaddress", false);
-		String trustedProxyAddressString = pluginContext.getConfig().get("ranger.plugin.hive.trusted.proxy.ipaddresses");
+		RangerPluginConfig config = pluginContext.getConfig();
+		boolean useForwardedIPAddress = config.getBoolean(config.getPropertyPrefix() + ".use.x-forwarded-for.ipaddress", false);
+		String trustedProxyAddressString = config.get(config.getPropertyPrefix() + ".trusted.proxy.ipaddresses");
 		String[] trustedProxyAddresses = StringUtils.split(trustedProxyAddressString, ';');
 		if (trustedProxyAddresses != null) {
 			for (int i = 0; i < trustedProxyAddresses.length; i++) {
@@ -272,18 +273,18 @@ public class TestPolicyEngineForDeltas {
 
 		roles.setRangerRoles(rolesSet);
 
-        RangerPolicyEngineOptions policyEngineOptions = pluginContext.getConfig().getPolicyEngineOptions();
+        RangerPolicyEngineOptions policyEngineOptions = config.getPolicyEngineOptions();
 
         policyEngineOptions.disableAccessEvaluationWithPolicyACLSummary = true;
 
-        setPluginConfig(pluginContext.getConfig(), ".super.users", testCase.superUsers);
-        setPluginConfig(pluginContext.getConfig(), ".super.groups", testCase.superGroups);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.users", testCase.auditExcludedUsers);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.groups", testCase.auditExcludedGroups);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.roles", testCase.auditExcludedRoles);
+        setPluginConfig(config, ".super.users", testCase.superUsers);
+        setPluginConfig(config, ".super.groups", testCase.superGroups);
+        setPluginConfig(config, ".audit.exclude.users", testCase.auditExcludedUsers);
+        setPluginConfig(config, ".audit.exclude.groups", testCase.auditExcludedGroups);
+        setPluginConfig(config, ".audit.exclude.roles", testCase.auditExcludedRoles);
 
         // so that setSuperUsersAndGroups(), setAuditExcludedUsersGroupsRoles() will be called on the pluginConfig
-        new RangerBasePlugin(pluginContext.getConfig());
+        new RangerBasePlugin(config);
 
         RangerPolicyEngineImpl policyEngine = new RangerPolicyEngineImpl(servicePolicies, pluginContext, roles);