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/07/08 04:43:53 UTC
incubator-ranger git commit: RANGER-274: Fixed tag-servicedef-impl
and unit tests
Repository: incubator-ranger
Updated Branches:
refs/heads/tag-policy 024dfbf09 -> 4bbf3906b
RANGER-274: Fixed tag-servicedef-impl and unit tests
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/4bbf3906
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/4bbf3906
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/4bbf3906
Branch: refs/heads/tag-policy
Commit: 4bbf3906b080c9d5f31eec10344a7680ea97d8ca
Parents: 024dfbf
Author: Abhay Kulkarni <ak...@hortonworks.com>
Authored: Tue Jul 7 13:28:09 2015 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Wed Jul 8 07:28:13 2015 +0530
----------------------------------------------------------------------
.../ranger/admin/client/RangerAdminRESTClient.java | 9 +++++----
.../ranger/plugin/policyengine/TestPolicyEngine.java | 13 +++++++++++--
.../policyengine/test_policyengine_tag_hive.json | 9 ++++++---
3 files changed, 22 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/4bbf3906/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java b/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
index 4f07489..edc0e63 100644
--- a/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
+++ b/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
@@ -79,11 +79,12 @@ public class RangerAdminRESTClient implements RangerAdminClient {
String sslConfigFileName = RangerConfigPropertyRepository.getProperty(propertyPrefix + ".policy.rest.ssl.config.file");
if (url == null) {
- // Use externalurl
- if(LOG.isDebugEnabled()) {
- LOG.info("RangerAdminRESTClient.init() : null url found for property " + propertyPrefix + ".policy.rest.url, using value of ranger.externalurl property instead.");
- url = RangerConfigPropertyRepository.getProperty("ranger.externalurl");
+
+ if(LOG.isInfoEnabled()) {
+ LOG.info("RangerAdminRESTClient.init() : no such property " + propertyPrefix + ".policy.rest.url, using value of ranger.externalurl property instead.");
}
+
+ url = RangerConfigPropertyRepository.getProperty("ranger.externalurl");
}
if(LOG.isDebugEnabled()) {
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/4bbf3906/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
----------------------------------------------------------------------
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 23c8809..e5b2f77 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
@@ -214,6 +214,7 @@ public class TestPolicyEngine {
RangerAccessRequest request = null;
for(TestData test : testCase.tests) {
+
if (test.request.getContext().containsKey(RangerPolicyEngine.KEY_CONTEXT_TAGS)) {
// Create a new AccessRequest
RangerAccessRequestImpl newRequest =
@@ -244,16 +245,24 @@ public class TestPolicyEngine {
}
}
-
newRequest.setContext(context);
+ // accessResource.ServiceDef is set here, so that we can skip call to policyEngine.preProcess() which
+ // sets the serviceDef in the resource AND calls enrichers. We dont want enrichers to be called when
+ // context already contains tags -- This may change when we want enrichers to enrich request in the
+ // presence of tags!!!
+
+ // Safe cast
+ RangerAccessResourceImpl accessResource = (RangerAccessResourceImpl) test.request.getResource();
+ accessResource.setServiceDef(testCase.serviceDef);
+
request = newRequest;
}
else {
request = test.request;
+ policyEngine.preProcess(request);
}
- policyEngine.preProcess(request);
RangerAccessResult expected = test.result;
RangerAccessResultProcessor auditHandler = new RangerDefaultAuditHandler();
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/4bbf3906/agents-common/src/test/resources/policyengine/test_policyengine_tag_hive.json
----------------------------------------------------------------------
diff --git a/agents-common/src/test/resources/policyengine/test_policyengine_tag_hive.json b/agents-common/src/test/resources/policyengine/test_policyengine_tag_hive.json
index ebe788b..e6e137d 100644
--- a/agents-common/src/test/resources/policyengine/test_policyengine_tag_hive.json
+++ b/agents-common/src/test/resources/policyengine/test_policyengine_tag_hive.json
@@ -130,7 +130,7 @@
"itemId": 1,
"name" : "TagEnricher",
"enricher" : "org.apache.ranger.plugin.contextenricher.RangerTagProvider",
- "enricherOptions" : {"tagProviderType":"RANGER_ADMIN_TAG_PROVIDER", "pollingInterval":-1, "useTestTagProvider":"true", "dataFile":"/etc/ranger/data/resourceTags.txt"}
+ "enricherOptions" : {"tagProviderType":"FILESTORE_BASED_TAG_PROVIDER", "pollingInterval":-1, "useTestTagProvider":"true", "dataFile":"/etc/ranger/data/resourceTags.txt"}
}
],
"policyConditions": [
@@ -204,14 +204,17 @@
{"name":"ALLOW 'select name from employee.personal;' for user1 - no tag",
"request":{
"resource":{"elements":{"database":"employee", "table":"personal", "column":"name"}},
- "accessType":"select","user":"user1","userGroups":[],"requestData":"select name from employee.personal;' for user1"
+ "accessType":"select","user":"user1","userGroups":[],"requestData":"select name from employee.personal;' for user1",
+ "context": {"TAGS":""}
+
},
"result":{"isAudited":true,"isAllowed":true,"policyId":101}
},
{"name":"ALLOW 'select name from employee.personal;' for user2 - no tag",
"request":{
"resource":{"elements":{"database":"employee", "table":"personal", "column":"name"}},
- "accessType":"select","user":"user2","userGroups":[],"requestData":"select name from employee.personal;' for user2"
+ "accessType":"select","user":"user2","userGroups":[],"requestData":"select name from employee.personal;' for user2",
+ "context": {"TAGS":""}
},
"result":{"isAudited":true,"isAllowed":true,"policyId":101}
},