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 2020/08/12 05:49:51 UTC

[ranger] branch ranger-2.1 updated (f51d386 -> 321e6b4)

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

mehul pushed a change to branch ranger-2.1
in repository https://gitbox.apache.org/repos/asf/ranger.git.


    from f51d386  RANGER-2945: fix to handle missing password in Presto service-config
     new 90877c6  RANGER-2876: allow-exception policy-items are not correctly handled when access-type is '_any'
     new d62368a  RANGER-2939 : Search functionality with Cluster name is not working on Audit>>Access and Plugins tab
     new 321e6b4  RANGER-2941: master branch version updated to 3.0.0-SNAPSHOT

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 agents-audit/pom.xml                               |   2 +-
 agents-common/pom.xml                              |   4 +-
 .../RangerDefaultPolicyEvaluator.java              | 105 ++++++++++++++++-----
 .../RangerDefaultPolicyItemEvaluator.java          |  45 +--------
 .../test_policyengine_descendant_tags.json         |   4 +-
 .../policyengine/test_policyengine_hive.json       |  26 +++++
 .../policyengine/test_policyengine_tag_hive.json   |  10 +-
 .../test_policyengine_tag_hive_filebased.json      |   4 +-
 agents-cred/pom.xml                                |   2 +-
 agents-installer/pom.xml                           |   2 +-
 credentialbuilder/pom.xml                          |   2 +-
 distro/pom.xml                                     |   2 +-
 docs/pom.xml                                       |   2 +-
 embeddedwebserver/pom.xml                          |   2 +-
 hbase-agent/pom.xml                                |   2 +-
 hdfs-agent/pom.xml                                 |   2 +-
 hive-agent/pom.xml                                 |   2 +-
 intg/pom.xml                                       |   4 +-
 jisql/pom.xml                                      |   2 +-
 kms/pom.xml                                        |   2 +-
 knox-agent/pom.xml                                 |   2 +-
 plugin-atlas/pom.xml                               |   2 +-
 plugin-elasticsearch/pom.xml                       |   2 +-
 plugin-kafka/pom.xml                               |   2 +-
 plugin-kms/pom.xml                                 |   2 +-
 plugin-kudu/pom.xml                                |   2 +-
 plugin-kylin/pom.xml                               |   4 +-
 plugin-nifi-registry/pom.xml                       |   2 +-
 plugin-nifi/pom.xml                                |   2 +-
 plugin-ozone/pom.xml                               |   2 +-
 plugin-presto/pom.xml                              |   4 +-
 plugin-schema-registry/pom.xml                     |   2 +-
 plugin-solr/pom.xml                                |   2 +-
 plugin-sqoop/pom.xml                               |   2 +-
 plugin-yarn/pom.xml                                |   2 +-
 pom.xml                                            |   2 +-
 ranger-atlas-plugin-shim/pom.xml                   |   2 +-
 ranger-elasticsearch-plugin-shim/pom.xml           |   4 +-
 ranger-examples/conditions-enrichers/pom.xml       |   2 +-
 ranger-examples/distro/pom.xml                     |   2 +-
 ranger-examples/plugin-sampleapp/pom.xml           |   2 +-
 ranger-examples/pom.xml                            |   2 +-
 ranger-examples/sample-client/pom.xml              |   4 +-
 ranger-examples/sampleapp/pom.xml                  |   2 +-
 ranger-hbase-plugin-shim/pom.xml                   |   2 +-
 ranger-hdfs-plugin-shim/pom.xml                    |   2 +-
 ranger-hive-plugin-shim/pom.xml                    |   2 +-
 ranger-kafka-plugin-shim/pom.xml                   |   2 +-
 ranger-kms-plugin-shim/pom.xml                     |   2 +-
 ranger-knox-plugin-shim/pom.xml                    |   2 +-
 ranger-kylin-plugin-shim/pom.xml                   |   4 +-
 ranger-ozone-plugin-shim/pom.xml                   |   2 +-
 ranger-plugin-classloader/pom.xml                  |   2 +-
 ranger-presto-plugin-shim/pom.xml                  |   4 +-
 ranger-solr-plugin-shim/pom.xml                    |   2 +-
 ranger-sqoop-plugin-shim/pom.xml                   |   4 +-
 ranger-storm-plugin-shim/pom.xml                   |   2 +-
 ranger-tools/pom.xml                               |   2 +-
 ranger-util/pom.xml                                |   2 +-
 ranger-yarn-plugin-shim/pom.xml                    |   2 +-
 security-admin/pom.xml                             |   2 +-
 .../main/webapp/scripts/controllers/Controller.js  |   5 -
 .../main/webapp/scripts/controllers/NController.js |   5 -
 .../src/main/webapp/scripts/modules/XAOverrides.js |   6 ++
 .../src/main/webapp/scripts/utils/XAUtils.js       |   6 ++
 .../webapp/scripts/views/kms/KMSTableLayout.js     |   3 +-
 .../views/permissions/ModulePermsTableLayout.js    |   3 +-
 .../views/policies/NRangerPolicyTableLayout.js     |   4 +-
 .../views/policies/RangerPolicyTableLayout.js      |   3 +-
 .../scripts/views/policymanager/ServiceLayout.js   |  13 ++-
 .../views/policymanager/ServiceLayoutSidebar.js    |   7 +-
 .../webapp/scripts/views/reports/AuditLayout.js    |   5 +-
 .../scripts/views/reports/UserAccessLayout.js      |   3 +-
 .../webapp/scripts/views/users/UserTableLayout.js  |   3 +-
 storm-agent/pom.xml                                |   2 +-
 tagsync/pom.xml                                    |   2 +-
 ugsync/ldapconfigchecktool/ldapconfigcheck/pom.xml |   2 +-
 ugsync/pom.xml                                     |   2 +-
 unixauthclient/pom.xml                             |   2 +-
 unixauthnative/pom.xml                             |   2 +-
 unixauthpam/pom.xml                                |   2 +-
 unixauthservice/pom.xml                            |   2 +-
 82 files changed, 231 insertions(+), 173 deletions(-)


[ranger] 02/03: RANGER-2939 : Search functionality with Cluster name is not working on Audit>>Access and Plugins tab

Posted by me...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit d62368a45e8ed435e308c3ca9e79cdfde1a57a2c
Author: Nitin Galave <ni...@apache.org>
AuthorDate: Mon Aug 3 17:27:44 2020 +0530

    RANGER-2939 : Search functionality with Cluster name is not working on Audit>>Access and Plugins tab
    
    Signed-off-by: Mehul Parikh <me...@apache.org>
---
 .../src/main/webapp/scripts/controllers/Controller.js       |  5 -----
 .../src/main/webapp/scripts/controllers/NController.js      |  5 -----
 .../src/main/webapp/scripts/modules/XAOverrides.js          |  6 ++++++
 security-admin/src/main/webapp/scripts/utils/XAUtils.js     |  6 ++++++
 .../src/main/webapp/scripts/views/kms/KMSTableLayout.js     |  3 ++-
 .../scripts/views/permissions/ModulePermsTableLayout.js     |  3 ++-
 .../scripts/views/policies/NRangerPolicyTableLayout.js      |  4 +++-
 .../scripts/views/policies/RangerPolicyTableLayout.js       |  3 ++-
 .../webapp/scripts/views/policymanager/ServiceLayout.js     | 13 ++++++-------
 .../scripts/views/policymanager/ServiceLayoutSidebar.js     |  7 +++----
 .../src/main/webapp/scripts/views/reports/AuditLayout.js    |  5 +++--
 .../main/webapp/scripts/views/reports/UserAccessLayout.js   |  3 ++-
 .../src/main/webapp/scripts/views/users/UserTableLayout.js  |  3 ++-
 13 files changed, 37 insertions(+), 29 deletions(-)

diff --git a/security-admin/src/main/webapp/scripts/controllers/Controller.js b/security-admin/src/main/webapp/scripts/controllers/Controller.js
index 0580340..f21b16c 100755
--- a/security-admin/src/main/webapp/scripts/controllers/Controller.js
+++ b/security-admin/src/main/webapp/scripts/controllers/Controller.js
@@ -76,7 +76,6 @@ define(function(require) {
                 collection: new RangerPolicyList(),
                 groupList: new VXGroupList(),
                 userList: new VXUserList(),
-                urlQueryParams: tab.indexOf("?") !== -1 ? tab.substring(tab.indexOf("?") + 1) : undefined,
             }));
         },
         auditReportAction: function(tab) {
@@ -138,7 +137,6 @@ define(function(require) {
             App.rContent.show(new view({
                 collection: userList,
                 tab: tab.split('?')[0],
-                urlQueryParams: tab.indexOf("?") !== -1 ? tab.substring(tab.indexOf("?") + 1) : undefined,
             }));
         },
         userCreateAction: function() {
@@ -380,7 +378,6 @@ define(function(require) {
                 App.rContent.show(new view({
                     rangerService: rangerService,
                     collection: rangerPolicyList,
-                    urlQueryParams: policyType.indexOf("?") !== -1 ? policyType.substring(policyType.indexOf("?") + 1) : undefined,
                 }));
             });
         },
@@ -460,7 +457,6 @@ define(function(require) {
 
             App.rContent.show(new view({
                 collection: new ModulePermissionList(),
-                urlQueryParams: argument.indexOf("?") !== -1 ? argument.substring(argument.indexOf("?") + 1) : undefined,
             }));
 
         },
@@ -505,7 +501,6 @@ define(function(require) {
                 collection: new KmsKeyList(),
                 kmsServiceName: kmsServiceName.split("?")[0],
                 kmsManagePage: kmsManagePage,
-                urlQueryParams: kmsServiceName.indexOf("?") !== -1 ? kmsServiceName.substring(kmsServiceName.indexOf("?") + 1) : undefined,
             }));
         },
         kmsKeyCreateAction: function(kmsServiceName) {
diff --git a/security-admin/src/main/webapp/scripts/controllers/NController.js b/security-admin/src/main/webapp/scripts/controllers/NController.js
index 1c7a7f1..8dc78c6 100644
--- a/security-admin/src/main/webapp/scripts/controllers/NController.js
+++ b/security-admin/src/main/webapp/scripts/controllers/NController.js
@@ -80,7 +80,6 @@ define(function(require) {
                 collection: new RangerPolicyList(),
                 groupList: new VXGroupList(),
                 userList: new VXUserList(),
-                urlQueryParams: tab.indexOf("?") !== -1 ? tab.substring(tab.indexOf("?") + 1) : undefined,
             }));
         },
         auditReportAction: function(tab) {
@@ -147,7 +146,6 @@ define(function(require) {
             App.rContent.show(new view({
                 collection: userList,
                 tab: tab.split('?')[0],
-                urlQueryParams: tab.indexOf("?") !== -1 ? tab.substring(tab.indexOf("?") + 1) : undefined,
             }));
         },
         userCreateAction: function() {
@@ -367,7 +365,6 @@ define(function(require) {
                 App.rContent.show(new view({
                     rangerService: rangerService,
                     collection: rangerPolicyList,
-                    urlQueryParams: policyType.indexOf("?") !== -1 ? policyType.substring(policyType.indexOf("?") + 1) : undefined,
                 }));
             });
         },
@@ -452,7 +449,6 @@ define(function(require) {
             App.rSideBar.currentView.selectedList(argument.split('?')[0]);
             App.rContent.show(new view({
                 collection: new ModulePermissionList(),
-                urlQueryParams: argument.indexOf("?") !== -1 ? argument.substring(argument.indexOf("?") + 1) : undefined,
             }));
 
         },
@@ -499,7 +495,6 @@ define(function(require) {
                 collection: new KmsKeyList(),
                 kmsServiceName: kmsServiceName.split("?")[0],
                 kmsManagePage: kmsManagePage,
-                urlQueryParams: kmsServiceName.indexOf("?") !== -1 ? kmsServiceName.substring(kmsServiceName.indexOf("?") + 1) : undefined,
             }));
         },
         kmsKeyCreateAction: function(kmsServiceName) {
diff --git a/security-admin/src/main/webapp/scripts/modules/XAOverrides.js b/security-admin/src/main/webapp/scripts/modules/XAOverrides.js
index 5721ba3..d6b8281 100644
--- a/security-admin/src/main/webapp/scripts/modules/XAOverrides.js
+++ b/security-admin/src/main/webapp/scripts/modules/XAOverrides.js
@@ -27,6 +27,12 @@
 	require('backgrid');
 	require('jquery-toggles');
 
+	Backbone.history.getHash = function(window) {
+		var pathStripper = /#.*$/;
+		var match = (window || this).location.href.match(/#(.*)$/);
+		return match ? this.decodeFragment(match[1].replace(pathStripper, '')) : '';
+	};
+
 	window.onbeforeunload = function(e) {
 		if (window._preventNavigation) {
 			var message = 'Are you sure you want to refresh the page? Unsaved changes will be lost.';
diff --git a/security-admin/src/main/webapp/scripts/utils/XAUtils.js b/security-admin/src/main/webapp/scripts/utils/XAUtils.js
index 31eb1b3..58b305b 100644
--- a/security-admin/src/main/webapp/scripts/utils/XAUtils.js
+++ b/security-admin/src/main/webapp/scripts/utils/XAUtils.js
@@ -1894,5 +1894,11 @@ define(function(require) {
         }
     }
 
+    //Separate query parameters string from URL hash
+    XAUtils.urlQueryParams = function() {
+    	var urlHash = Backbone.history.location.hash;
+    	return urlHash.indexOf("?") !== -1 ? urlHash.substring(urlHash.indexOf("?") + 1) : undefined;
+    }
+
 	return XAUtils;
 });
\ No newline at end of file
diff --git a/security-admin/src/main/webapp/scripts/views/kms/KMSTableLayout.js b/security-admin/src/main/webapp/scripts/views/kms/KMSTableLayout.js
index 3cb83d4..5f8d068 100755
--- a/security-admin/src/main/webapp/scripts/views/kms/KMSTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/kms/KMSTableLayout.js
@@ -79,7 +79,8 @@ define(function(require){
 		*/
 		initialize: function(options) {
 			console.log("initialized a KmsTableLayout Layout");
-                        _.extend(this, _.pick(options, 'tab','kmsServiceName','kmsManagePage', 'urlQueryParams'));
+            _.extend(this, _.pick(options, 'tab','kmsServiceName','kmsManagePage'));
+            this.urlQueryParams = XAUtil.urlQueryParams();
 			this.showKeyList = true;
 			this.isKnownKmsServicePage =  this.kmsManagePage == 'new' ? false : true;
 			this.initializeKMSServices();
diff --git a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
index d3227ff..aefcf45 100644
--- a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
@@ -84,7 +84,8 @@ define(function(require){
 		initialize: function(options) {
 			console.log("initialized a ModulePermsTableLayout Layout");
 			
-                _.extend(this, _.pick(options, 'urlQueryParams'));
+                _.extend(this, _.pick(options));
+                this.urlQueryParams = XAUtil.urlQueryParams();
 			this.bindEvents();
 		},
 
diff --git a/security-admin/src/main/webapp/scripts/views/policies/NRangerPolicyTableLayout.js b/security-admin/src/main/webapp/scripts/views/policies/NRangerPolicyTableLayout.js
index af0decd..a4e8c86 100644
--- a/security-admin/src/main/webapp/scripts/views/policies/NRangerPolicyTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/policies/NRangerPolicyTableLayout.js
@@ -132,7 +132,8 @@ define(function(require) {
              */
             initialize: function(options) {
                 console.log("initialized a NRangerPolicyTableLayout Layout");
-                _.extend(this, _.pick(options, 'rangerService', 'urlQueryParams'));
+                _.extend(this, _.pick(options, 'rangerService'));
+                this.urlQueryParams = XAUtil.urlQueryParams();
                 this.bindEvents();
                 this.initializeServiceDef();
                 this.initializeServices();
@@ -148,6 +149,7 @@ define(function(require) {
                     var searchFregment = XAUtil.changeUrlToSearchQuery(decodeURIComponent(this.urlQueryParams));
                     if (_.has(searchFregment, 'securityZone')) {
                         App.vZone.vZoneName = searchFregment['securityZone'];
+                        App.rSideBar.currentView.render();
                         searchFregment = _.omit(searchFregment, 'securityZone');
                         if (_.isEmpty(searchFregment)) {
                             this.urlQueryParams = '';
diff --git a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
index 9920d0e..fa94d6c 100644
--- a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
@@ -112,7 +112,8 @@ define(function(require){
 		*/
 		initialize: function(options) {
 			console.log("initialized a RangerPolicyTableLayout Layout");
-                        _.extend(this, _.pick(options,'rangerService', 'urlQueryParams'));
+			_.extend(this, _.pick(options,'rangerService', 'urlQueryParams'));
+			this.urlQueryParams = XAUtil.urlQueryParams(); 
 			this.bindEvents();
 			this.initializeServiceDef();
 			if(_.isUndefined(App.vZone)) {
diff --git a/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js b/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js
index 9bbead9..2787019 100644
--- a/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js
@@ -112,13 +112,12 @@ define(function(require){
                     vZoneName: ""
                 }
             }
-            if(this.type && this.type.split('?')[1]) {
-                var searchFregment = XAUtil.changeUrlToSearchQuery(decodeURIComponent(this.type.substring(this.type.indexOf("?") + 1)));
-                console.log(searchFregment);
-                if(_.has(searchFregment, 'securityZone')) {
-                        App.vZone.vZoneName = searchFregment['securityZone'];
-                }
-            }
+			if (!_.isUndefined(XAUtil.urlQueryParams())) {
+				var searchFregment = XAUtil.changeUrlToSearchQuery(decodeURIComponent(XAUtil.urlQueryParams()));
+				if(_.has(searchFregment, 'securityZone')) {
+					App.vZone.vZoneName = searchFregment['securityZone'];
+				}
+			}
         },
 
 		/** all events binding here */
diff --git a/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayoutSidebar.js b/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayoutSidebar.js
index de56fe8..452858d 100644
--- a/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayoutSidebar.js
+++ b/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayoutSidebar.js
@@ -152,11 +152,10 @@ define(function(require){
                     vZoneName: ""
                 }
             }
-            if(this.type && this.type.split('?')[1]) {
-                var searchFregment = XAUtil.changeUrlToSearchQuery(decodeURIComponent(this.type.substring(this.type.indexOf("?") + 1)));
-                console.log(searchFregment);
+            if (!_.isUndefined(XAUtil.urlQueryParams())) {
+                var searchFregment = XAUtil.changeUrlToSearchQuery(decodeURIComponent(XAUtil.urlQueryParams()));
                 if(_.has(searchFregment, 'securityZone')) {
-                        App.vZone.vZoneName = searchFregment['securityZone'];
+                    App.vZone.vZoneName = searchFregment['securityZone'];
                 }
             }
             this.initialCall = true;
diff --git a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
index 9fcffab..bdabe6f 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
@@ -138,9 +138,10 @@ define(function(require) {
                 App.vsHistory = {'bigData':[], 'admin':[], 'loginSession':[], 'agent':[],'pluginStatus':[], 'userSync': []};
             }
             //Add url params to vsHistory
-            if(!_.isUndefined(this.tab.split('?')[1])) {
+           	this.urlQueryParams = XAUtils.urlQueryParams();
+            if(!_.isUndefined(this.urlQueryParams)) {
                 App.vsHistory[that.tab.split('?')[0]] = [];
-                var searchFregment = XAUtils.changeUrlToSearchQuery(decodeURIComponent(this.tab.substring(this.tab.indexOf("?") + 1)));
+                var searchFregment = XAUtils.changeUrlToSearchQuery(decodeURIComponent(this.urlQueryParams));
                 _.map (searchFregment, function(val, key) {
                     if (key !== "sortBy" && key !== "sortType" && key !== "sortKey") {
                         if (_.isArray(val)) {
diff --git a/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js b/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
index a815add..166eca0 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
@@ -112,7 +112,8 @@ define(function(require) {'use strict';
 		 */
 		initialize : function(options) {
 			console.log("initialized a UserAccessLayout Layout");
-			_.extend(this, _.pick(options, 'groupList','userList', 'urlQueryParams'));
+			_.extend(this, _.pick(options, 'groupList','userList'));
+			this.urlQueryParams = XAUtil.urlQueryParams();
 			this.bindEvents();
 			this.previousSearchUrl = '';
 			this.searchedFlag = false;
diff --git a/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js b/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
index 557e0e3..cc3bf80 100755
--- a/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
@@ -99,7 +99,8 @@ define(function(require){
 		initialize: function(options) {
 			console.log("initialized a UserTableLayout Layout");
 
-                        _.extend(this, _.pick(options, 'groupList','tab', 'roleList', 'urlQueryParams'));
+			_.extend(this, _.pick(options, 'groupList','tab', 'roleList'));
+			this.urlQueryParams = XAUtil.urlQueryParams();
 			this.showUsers = this.tab == 'usertab' ? true : false;
                         this.showGroups = this.tab == 'grouptab' ? true : false;
 			this.chgFlags = [];


[ranger] 01/03: RANGER-2876: allow-exception policy-items are not correctly handled when access-type is '_any'

Posted by me...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 90877c6d3364cacb13b1ef29541da6505d13cc2a
Author: Abhay Kulkarni <ab...@apache.org>
AuthorDate: Mon Aug 10 21:04:50 2020 -0700

    RANGER-2876: allow-exception policy-items are not correctly handled when access-type is '_any'
    
    Signed-off-by: Mehul Parikh <me...@apache.org>
---
 .../RangerDefaultPolicyEvaluator.java              | 105 ++++++++++++++++-----
 .../RangerDefaultPolicyItemEvaluator.java          |  45 +--------
 .../test_policyengine_descendant_tags.json         |   4 +-
 .../policyengine/test_policyengine_hive.json       |  26 +++++
 .../policyengine/test_policyengine_tag_hive.json   |  10 +-
 .../test_policyengine_tag_hive_filebased.json      |   4 +-
 6 files changed, 122 insertions(+), 72 deletions(-)

diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
index d75bf46..24cb424 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
@@ -45,6 +45,7 @@ import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerAccessTypeDef;
 import org.apache.ranger.plugin.model.RangerValiditySchedule;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.apache.ranger.plugin.policyengine.RangerAccessRequestImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResource;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngine;
@@ -685,44 +686,36 @@ public class RangerDefaultPolicyEvaluator extends RangerAbstractPolicyEvaluator
 		return ret;
 	}
 
-	private Integer getAccessResultForAnyAccess(Map<String, PolicyACLSummary.AccessResult> accessses) {
-		Integer ret = null;
+	private Integer getAccessResultForAnyAccess(Map<String, PolicyACLSummary.AccessResult> accesses) {
+		final Integer ret;
 
 		int allowedAccessCount = 0;
 		int deniedAccessCount = 0;
-		int undeterminedAccessCount = 0;
-		int accessesSize = 0;
 
-		for (Map.Entry<String, PolicyACLSummary.AccessResult> entry : accessses.entrySet()) {
+		for (Map.Entry<String, PolicyACLSummary.AccessResult> entry : accesses.entrySet()) {
 			if (StringUtils.equals(entry.getKey(), RangerPolicyEngine.ADMIN_ACCESS)) {
-				// Dont count admin access if present
+				// Don't count admin access if present
 				continue;
 			}
 			PolicyACLSummary.AccessResult accessResult = entry.getValue();
 			if (accessResult.getResult() == RangerPolicyEvaluator.ACCESS_ALLOWED) {
 				allowedAccessCount++;
+				break;
 			} else if (accessResult.getResult() == RangerPolicyEvaluator.ACCESS_DENIED) {
 				deniedAccessCount++;
-			} else if (accessResult.getResult() == RangerPolicyEvaluator.ACCESS_UNDETERMINED && !accessResult.getHasSeenDeny()) {
-			    undeterminedAccessCount++;
 			}
-			accessesSize++;
 		}
 
-		int accessTypeCount = getServiceDef().getAccessTypes().size();
-
-		if (accessTypeCount == accessesSize) {
-			// All permissions are represented
-			if (deniedAccessCount > 0 || undeterminedAccessCount == accessTypeCount) {
-				// at least one is denied or all are undetermined
-				ret = RangerPolicyEvaluator.ACCESS_DENIED;
-			}
-		}
-		if (ret == null) {
-			if (allowedAccessCount > 0 || undeterminedAccessCount > 0) {
-				ret = RangerPolicyEvaluator.ACCESS_ALLOWED;
-			}
+		if (allowedAccessCount > 0) {
+			// At least one access allowed
+			ret = RangerPolicyEvaluator.ACCESS_ALLOWED;
+		} else if (deniedAccessCount == getServiceDef().getAccessTypes().size()) {
+			// All accesses explicitly denied
+			ret = RangerPolicyEvaluator.ACCESS_DENIED;
+		} else {
+			ret = null;
 		}
+
 		return ret;
 	}
 
@@ -1102,11 +1095,8 @@ public class RangerDefaultPolicyEvaluator extends RangerAbstractPolicyEvaluator
 
 		switch (policyType) {
 			case RangerPolicy.POLICY_TYPE_ACCESS: {
-				ret = getMatchingPolicyItem(request, denyEvaluators, denyExceptionEvaluators);
+				ret = getMatchingPolicyItemForAccessPolicy(request, result);
 
-				if(ret == null && !result.getIsAccessDetermined()) { // a deny policy could have set isAllowed=true, but in such case it wouldn't set isAccessDetermined=true
-					ret = getMatchingPolicyItem(request, allowEvaluators, allowExceptionEvaluators);
-				}
 				break;
 			}
 			case RangerPolicy.POLICY_TYPE_DATAMASK: {
@@ -1124,6 +1114,69 @@ public class RangerDefaultPolicyEvaluator extends RangerAbstractPolicyEvaluator
 		return ret;
 	}
 
+	protected RangerPolicyItemEvaluator getMatchingPolicyItemForAccessPolicy(RangerAccessRequest request, RangerAccessResult result) {
+		RangerPolicyItemEvaluator ret = null;
+
+		if (request.isAccessTypeAny()) {
+			RangerPolicyItemEvaluator denyingPolicyItemEvaluator = null;
+			int                       deniedAccessesCount        = 0;
+			int                       accessDefsCount            = 0;
+
+			List<RangerAccessTypeDef> allAccessDefs = getServiceDef().getAccessTypes();
+
+			for (RangerAccessTypeDef accessTypeDef : allAccessDefs) {
+				RangerAccessRequestImpl newRequest = new RangerAccessRequestImpl();
+				newRequest.setResource(request.getResource());
+				newRequest.setUser(request.getUser());
+				newRequest.setUserGroups(request.getUserGroups());
+				newRequest.setUserRoles(request.getUserRoles());
+				newRequest.setForwardedAddresses(request.getForwardedAddresses());
+				newRequest.setAccessTime(request.getAccessTime());
+				newRequest.setRemoteIPAddress(request.getRemoteIPAddress());
+				newRequest.setClientType(request.getClientType());
+				newRequest.setAction(request.getAction());
+				newRequest.setRequestData(request.getRequestData());
+				newRequest.setSessionId(request.getSessionId());
+				newRequest.setContext(request.getContext());
+				newRequest.setClusterName(request.getClusterName());
+
+				newRequest.setAccessType(accessTypeDef.getName());
+
+				ret = getMatchingPolicyItemForAccessPolicyForSpecificAccess(newRequest, result);
+
+				if (ret != null) {
+					if (ret.getPolicyItemType() == RangerPolicyItemEvaluator.POLICY_ITEM_TYPE_ALLOW) {
+						break;
+					} else if (ret.getPolicyItemType() == RangerPolicyItemEvaluator.POLICY_ITEM_TYPE_DENY) {
+						if (denyingPolicyItemEvaluator == null) {
+							denyingPolicyItemEvaluator = ret;
+						}
+						ret = null;
+						deniedAccessesCount++;
+					}
+				}
+				accessDefsCount++;
+			}
+			if (ret == null && denyingPolicyItemEvaluator != null && deniedAccessesCount == accessDefsCount) {
+				ret = denyingPolicyItemEvaluator;
+			}
+		} else {
+			ret = getMatchingPolicyItemForAccessPolicyForSpecificAccess(request, result);
+		}
+
+		return ret;
+	}
+
+	protected RangerPolicyItemEvaluator getMatchingPolicyItemForAccessPolicyForSpecificAccess(RangerAccessRequest request, RangerAccessResult result) {
+		RangerPolicyItemEvaluator ret = getMatchingPolicyItem(request, denyEvaluators, denyExceptionEvaluators);
+
+		if(ret == null && !result.getIsAccessDetermined()) { // a deny policy could have set isAllowed=true, but in such case it wouldn't set isAccessDetermined=true
+			ret = getMatchingPolicyItem(request, allowEvaluators, allowExceptionEvaluators);
+		}
+
+		return ret;
+	}
+
 	protected <T extends RangerPolicyItemEvaluator> T getMatchingPolicyItem(RangerAccessRequest request, List<T> evaluators) {
 		T ret = getMatchingPolicyItem(request, evaluators, null);
 
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyItemEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyItemEvaluator.java
index 90d96d9..8f2d3f1 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyItemEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyItemEvaluator.java
@@ -19,7 +19,6 @@
 package org.apache.ranger.plugin.policyevaluator;
 
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
@@ -52,7 +51,6 @@ public class RangerDefaultPolicyItemEvaluator extends RangerAbstractPolicyItemEv
 
 	private boolean hasCurrentUser;
 	private boolean hasResourceOwner;
-	private boolean hasAllPerms;
 
 	public RangerDefaultPolicyItemEvaluator(RangerServiceDef serviceDef, RangerPolicy policy, RangerPolicyItem policyItem, int policyItemType, int policyItemIndex, RangerPolicyEngineOptions options) {
 		super(serviceDef, policy, policyItem, policyItemType, policyItemIndex, options);
@@ -63,26 +61,6 @@ public class RangerDefaultPolicyItemEvaluator extends RangerAbstractPolicyItemEv
 			LOG.debug("==> RangerDefaultPolicyItemEvaluator(policyId=" + policyId + ", policyItem=" + policyItem + ", serviceType=" + getServiceType() + ", conditionsDisabled=" + getConditionsDisabledOption() + ")");
 		}
 
-		Set<String> accessPerms    = new HashSet<String>();
-
-		List<RangerPolicy.RangerPolicyItemAccess> policyItemAccesses = policyItem.getAccesses();
-		for(RangerPolicy.RangerPolicyItemAccess policyItemAccess : policyItemAccesses) {
-
-			if (policyItemAccess.getIsAllowed()) {
-				accessPerms.add(policyItemAccess.getType());
-			}
-		}
-
-		hasAllPerms = true;
-		List<RangerServiceDef.RangerAccessTypeDef> serviceAccessTypes = serviceDef.getAccessTypes();
-		for (RangerServiceDef.RangerAccessTypeDef serviceAccessType : serviceAccessTypes) {
-			String serviceAccessTypeName = serviceAccessType.getName();
-			if (!accessPerms.contains(serviceAccessTypeName)) {
-				hasAllPerms = false;
-				break;
-			}
-		}
-
 		RangerCustomConditionEvaluator rangerCustomConditionEvaluator = new RangerCustomConditionEvaluator();
 
 		conditionEvaluators = rangerCustomConditionEvaluator.getPolicyItemConditionEvaluator(policy,policyItem,serviceDef,options,policyItemIndex);
@@ -119,25 +97,10 @@ public class RangerDefaultPolicyItemEvaluator extends RangerAbstractPolicyItemEv
 				} else if (CollectionUtils.isNotEmpty(policyItem.getAccesses())) {
 					boolean isAccessTypeMatched = false;
 
-					if (request.isAccessTypeAny()) {
-						if (getPolicyItemType() == POLICY_ITEM_TYPE_DENY || getPolicyItemType() == POLICY_ITEM_TYPE_DENY_EXCEPTIONS) {
-							if (hasAllPerms) {
-								isAccessTypeMatched = true;
-							}
-						} else {
-							for (RangerPolicy.RangerPolicyItemAccess access : policyItem.getAccesses()) {
-								if (access.getIsAllowed()) {
-									isAccessTypeMatched = true;
-									break;
-								}
-							}
-						}
-					} else {
-						for (RangerPolicy.RangerPolicyItemAccess access : policyItem.getAccesses()) {
-							if (access.getIsAllowed() && StringUtils.equalsIgnoreCase(access.getType(), request.getAccessType())) {
-								isAccessTypeMatched = true;
-								break;
-							}
+					for (RangerPolicy.RangerPolicyItemAccess access : policyItem.getAccesses()) {
+						if (access.getIsAllowed() && StringUtils.equalsIgnoreCase(access.getType(), request.getAccessType())) {
+							isAccessTypeMatched = true;
+							break;
 						}
 					}
 
diff --git a/agents-common/src/test/resources/policyengine/test_policyengine_descendant_tags.json b/agents-common/src/test/resources/policyengine/test_policyengine_descendant_tags.json
index a2ec460..934655b 100644
--- a/agents-common/src/test/resources/policyengine/test_policyengine_descendant_tags.json
+++ b/agents-common/src/test/resources/policyengine/test_policyengine_descendant_tags.json
@@ -156,7 +156,7 @@
       {"id":2,"name":"PII_TAG_POLICY","isEnabled":true,"isAuditEnabled":true,
         "resources":{"tag":{"values":["PII"],"isRecursive":false}},
         "policyItems":[
-          {"accesses":[{"type":"hive:select","isAllowed":true}],"users":["hive", "user1"],"groups":[],"delegateAdmin":false}
+          {"accesses":[{"type":"hive:select","isAllowed":true}, {"type":"hive:update","isAllowed":true}],"users":["hive", "user1"],"groups":[],"delegateAdmin":false}
           ,
           {"accesses":[{"type":"hive:all","isAllowed":true}],"users":["user2"],"groups":[],"delegateAdmin":false}
         ],
@@ -170,7 +170,7 @@
       {"id":3,"name":"EXPIRES_ON_TAG_POLICY","isEnabled":true,"isAuditEnabled":true,
         "resources":{"tag":{"values":["EXPIRES_ON"],"isRecursive":false}},
         "policyItems":[
-          {"accesses":[{"type":"hive:select","isAllowed":true}],"users":["user", "user1"],"groups":[],"delegateAdmin":false}
+          {"accesses":[{"type":"hive:select","isAllowed":true}, {"type":"hive:update","isAllowed":true}],"users":["user", "user1"],"groups":[],"delegateAdmin":false}
         ],
         "denyPolicyItems":[
           {"accesses":[{"type":"hive:select","isAllowed":true}],"users":["user"],"groups":[],"delegateAdmin":false}
diff --git a/agents-common/src/test/resources/policyengine/test_policyengine_hive.json b/agents-common/src/test/resources/policyengine/test_policyengine_hive.json
index ba5a53c..52864a0 100644
--- a/agents-common/src/test/resources/policyengine/test_policyengine_hive.json
+++ b/agents-common/src/test/resources/policyengine/test_policyengine_hive.json
@@ -99,10 +99,36 @@
       "policyItems":[
         {"accesses":[{"type":"create","isAllowed":true}],"users":["user1","user2"],"groups":["group1","group2"],"delegateAdmin":false}
       ]
+    },
+    {"id":8,"name":"db=dummy; table=*; column=*","isEnabled":true,"isAuditEnabled":true,
+      "resources":{"database":{"values":["dummy"]},"table":{"values":["*"]},"column":{"values":["*"]}},
+      "policyItems":[
+        {"accesses":[{"type":"create","isAllowed":true},{"type":"update","isAllowed":true},{"type":"drop","isAllowed":true}],"users":["user1","user2"],"groups":[],"delegateAdmin":false}
+      ],
+      "allowExceptions":[
+        {"accesses":[{"type":"create","isAllowed":true}, {"type":"update","isAllowed":true}],"users":["user1"],"groups":[],"delegateAdmin":false},
+        {"accesses":[{"type":"create","isAllowed":true}, {"type":"update","isAllowed":true},{"type":"drop","isAllowed":true}],"users":["user2"],"groups":[],"delegateAdmin":false}
+      ]
     }
   ],
 
   "tests":[
+    {"name":"ALLOW 'any dummy/*/*;' for user1",
+      "request":{
+        "resource":{"elements":{"database":"dummy", "table": "dummy", "column": "dummy"}},
+        "accessType":"","user":"user1","userGroups":["users"],"requestData":"any dummy/dummy/dummy for user1"
+      },
+      "result":{"isAudited":true,"isAllowed":true,"policyId":8}
+    }
+    ,
+    {"name":"DENY 'any dummy/*/*;' for user2",
+      "request":{
+        "resource":{"elements":{"database":"dummy", "table": "dummy", "column": "dummy"}},
+        "accessType":"","user":"user2","userGroups":["users"],"requestData":"any dummy/dummy/dummy for user2"
+      },
+      "result":{"isAudited":true,"isAllowed":false,"policyId":-1}
+    }
+  ,
     {"name":"ALLOW 'read s3a://qe-s3-bucket-mst/demo;' for user1",
       "request":{
         "resource":{"elements":{"url":"s3a://qe-s3-bucket-mst/demo"}},
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 79417a0..a8ec027 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
@@ -322,13 +322,21 @@
       },
       "result":{"isAudited":true,"isAllowed":false,"policyId":3}
     },
+    {"name":"DENY 'desc default.table1;' for testuser",
+      "request":{
+        "resource":{"elements":{"database":"default", "table":"table1"}},
+        "accessType":"","user":"testuser","userGroups":[],"requestData":"desc default.table1;' for testuser",
+        "context": {"TAGS":"[{\"type\":\"PII-FINAL\", \"attributes\":{\"expiry\":\"2026/06/15\"}}]"}
+      },
+      "result":{"isAudited":true,"isAllowed":false,"policyId":-1}
+    },
     {"name":"ALLOW 'use default;' for hive",
       "request":{
         "resource":{"elements":{"database":"default"}},
         "accessType":"","user":"hive","userGroups":[],"requestData":"use default",
         "context": {"TAGS":"[{\"type\":\"PII-FINAL\", \"attributes\":{\"expiry\":\"2026/06/15\"}}]"}
       },
-      "result":{"isAudited":true,"isAllowed":false,"policyId":3}
+      "result":{"isAudited":true,"isAllowed":true,"policyId":101}
     },
     {"name":"DENY 'use default;' for user1",
       "request":{
diff --git a/agents-common/src/test/resources/policyengine/test_policyengine_tag_hive_filebased.json b/agents-common/src/test/resources/policyengine/test_policyengine_tag_hive_filebased.json
index 73fe540..21d936a 100644
--- a/agents-common/src/test/resources/policyengine/test_policyengine_tag_hive_filebased.json
+++ b/agents-common/src/test/resources/policyengine/test_policyengine_tag_hive_filebased.json
@@ -283,12 +283,12 @@
       },
       "result":{"isAudited":true,"isAllowed":true,"policyId":2}
     },
-    {"name":"DENY 'desc default.table1;' for hive using PII, PII-FINAL tags",
+    {"name":"ALLOW 'desc default.table1;' for hive using PII, PII-FINAL tags",
       "request":{
         "resource":{"elements":{"database":"default", "table":"table1"}},
         "accessType":"","user":"hive","userGroups":[],"requestData":"desc default.table1;' for hive"
       },
-      "result":{"isAudited":true,"isAllowed":false,"policyId":3}
+      "result":{"isAudited":true,"isAllowed":true,"policyId":101}
     },
     {"name":"DENY 'desc default.table2;' for user1 using PII-FINAL tag",
       "request":{


[ranger] 03/03: RANGER-2941: master branch version updated to 3.0.0-SNAPSHOT

Posted by me...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 321e6b412f45bd3c348732fcf5bb1cbbc22f7892
Author: Madhan Neethiraj <ma...@apache.org>
AuthorDate: Wed Aug 5 15:25:51 2020 -0700

    RANGER-2941: master branch version updated to 3.0.0-SNAPSHOT
    
    Signed-off-by: Mehul Parikh <me...@apache.org>
---
 agents-audit/pom.xml                               | 2 +-
 agents-common/pom.xml                              | 4 ++--
 agents-cred/pom.xml                                | 2 +-
 agents-installer/pom.xml                           | 2 +-
 credentialbuilder/pom.xml                          | 2 +-
 distro/pom.xml                                     | 2 +-
 docs/pom.xml                                       | 2 +-
 embeddedwebserver/pom.xml                          | 2 +-
 hbase-agent/pom.xml                                | 2 +-
 hdfs-agent/pom.xml                                 | 2 +-
 hive-agent/pom.xml                                 | 2 +-
 intg/pom.xml                                       | 4 ++--
 jisql/pom.xml                                      | 2 +-
 kms/pom.xml                                        | 2 +-
 knox-agent/pom.xml                                 | 2 +-
 plugin-atlas/pom.xml                               | 2 +-
 plugin-elasticsearch/pom.xml                       | 2 +-
 plugin-kafka/pom.xml                               | 2 +-
 plugin-kms/pom.xml                                 | 2 +-
 plugin-kudu/pom.xml                                | 2 +-
 plugin-kylin/pom.xml                               | 4 ++--
 plugin-nifi-registry/pom.xml                       | 2 +-
 plugin-nifi/pom.xml                                | 2 +-
 plugin-ozone/pom.xml                               | 2 +-
 plugin-presto/pom.xml                              | 4 ++--
 plugin-schema-registry/pom.xml                     | 2 +-
 plugin-solr/pom.xml                                | 2 +-
 plugin-sqoop/pom.xml                               | 2 +-
 plugin-yarn/pom.xml                                | 2 +-
 pom.xml                                            | 2 +-
 ranger-atlas-plugin-shim/pom.xml                   | 2 +-
 ranger-elasticsearch-plugin-shim/pom.xml           | 4 ++--
 ranger-examples/conditions-enrichers/pom.xml       | 2 +-
 ranger-examples/distro/pom.xml                     | 2 +-
 ranger-examples/plugin-sampleapp/pom.xml           | 2 +-
 ranger-examples/pom.xml                            | 2 +-
 ranger-examples/sample-client/pom.xml              | 4 ++--
 ranger-examples/sampleapp/pom.xml                  | 2 +-
 ranger-hbase-plugin-shim/pom.xml                   | 2 +-
 ranger-hdfs-plugin-shim/pom.xml                    | 2 +-
 ranger-hive-plugin-shim/pom.xml                    | 2 +-
 ranger-kafka-plugin-shim/pom.xml                   | 2 +-
 ranger-kms-plugin-shim/pom.xml                     | 2 +-
 ranger-knox-plugin-shim/pom.xml                    | 2 +-
 ranger-kylin-plugin-shim/pom.xml                   | 4 ++--
 ranger-ozone-plugin-shim/pom.xml                   | 2 +-
 ranger-plugin-classloader/pom.xml                  | 2 +-
 ranger-presto-plugin-shim/pom.xml                  | 4 ++--
 ranger-solr-plugin-shim/pom.xml                    | 2 +-
 ranger-sqoop-plugin-shim/pom.xml                   | 4 ++--
 ranger-storm-plugin-shim/pom.xml                   | 2 +-
 ranger-tools/pom.xml                               | 2 +-
 ranger-util/pom.xml                                | 2 +-
 ranger-yarn-plugin-shim/pom.xml                    | 2 +-
 security-admin/pom.xml                             | 2 +-
 storm-agent/pom.xml                                | 2 +-
 tagsync/pom.xml                                    | 2 +-
 ugsync/ldapconfigchecktool/ldapconfigcheck/pom.xml | 2 +-
 ugsync/pom.xml                                     | 2 +-
 unixauthclient/pom.xml                             | 2 +-
 unixauthnative/pom.xml                             | 2 +-
 unixauthpam/pom.xml                                | 2 +-
 unixauthservice/pom.xml                            | 2 +-
 63 files changed, 72 insertions(+), 72 deletions(-)

diff --git a/agents-audit/pom.xml b/agents-audit/pom.xml
index e11cb0b..461081c 100644
--- a/agents-audit/pom.xml
+++ b/agents-audit/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/agents-common/pom.xml b/agents-common/pom.xml
index e44b7f6..39efb0c 100644
--- a/agents-common/pom.xml
+++ b/agents-common/pom.xml
@@ -39,7 +39,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
@@ -108,7 +108,7 @@
         <dependency>
             <groupId>org.apache.ranger</groupId>
             <artifactId>ranger-plugin-classloader</artifactId>
-            <version>2.1.0-SNAPSHOT</version>
+            <version>${project.version}</version>
             <scope>compile</scope>
         </dependency>
     </dependencies>
diff --git a/agents-cred/pom.xml b/agents-cred/pom.xml
index cd1b8f3..254d0c1 100644
--- a/agents-cred/pom.xml
+++ b/agents-cred/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/agents-installer/pom.xml b/agents-installer/pom.xml
index cbda5dd..a970115 100644
--- a/agents-installer/pom.xml
+++ b/agents-installer/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/credentialbuilder/pom.xml b/credentialbuilder/pom.xml
index 4055a47..b59d978 100644
--- a/credentialbuilder/pom.xml
+++ b/credentialbuilder/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/distro/pom.xml b/distro/pom.xml
index 6c4fdae..6d78e8e 100644
--- a/distro/pom.xml
+++ b/distro/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
 
diff --git a/docs/pom.xml b/docs/pom.xml
index 0d592eb..c6ae20f 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -24,7 +24,7 @@
     <url>http://ranger.apache.org/</url>
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.ranger</groupId>
-    <version>2.1.0-SNAPSHOT</version>
+    <version>3.0.0-SNAPSHOT</version>
     <artifactId>ranger</artifactId>
     <packaging>pom</packaging>
     <licenses>
diff --git a/embeddedwebserver/pom.xml b/embeddedwebserver/pom.xml
index 7f23965..1d1128c 100644
--- a/embeddedwebserver/pom.xml
+++ b/embeddedwebserver/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/hbase-agent/pom.xml b/hbase-agent/pom.xml
index d4cf0b1..df260b7 100644
--- a/hbase-agent/pom.xml
+++ b/hbase-agent/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/hdfs-agent/pom.xml b/hdfs-agent/pom.xml
index 5fe8a41..bb8e498 100644
--- a/hdfs-agent/pom.xml
+++ b/hdfs-agent/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/hive-agent/pom.xml b/hive-agent/pom.xml
index f219a37..e29a433 100644
--- a/hive-agent/pom.xml
+++ b/hive-agent/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/intg/pom.xml b/intg/pom.xml
index da8b910..c8eb330 100644
--- a/intg/pom.xml
+++ b/intg/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>ranger</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -48,4 +48,4 @@
             <artifactId>mockito-core</artifactId>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/jisql/pom.xml b/jisql/pom.xml
index 481bbee..c614e63 100644
--- a/jisql/pom.xml
+++ b/jisql/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/kms/pom.xml b/kms/pom.xml
index 3bf20fd..e2936b6 100644
--- a/kms/pom.xml
+++ b/kms/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <dependencies>
         <dependency>
diff --git a/knox-agent/pom.xml b/knox-agent/pom.xml
index 4466c6f..87eb836 100644
--- a/knox-agent/pom.xml
+++ b/knox-agent/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/plugin-atlas/pom.xml b/plugin-atlas/pom.xml
index 5c3da99..fe864b8 100644
--- a/plugin-atlas/pom.xml
+++ b/plugin-atlas/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/plugin-elasticsearch/pom.xml b/plugin-elasticsearch/pom.xml
index fa373d3..396ecb4 100644
--- a/plugin-elasticsearch/pom.xml
+++ b/plugin-elasticsearch/pom.xml
@@ -29,7 +29,7 @@
 	<parent>
 		<groupId>org.apache.ranger</groupId>
 		<artifactId>ranger</artifactId>
-		<version>2.1.0-SNAPSHOT</version>
+		<version>3.0.0-SNAPSHOT</version>
 		<relativePath>..</relativePath>
 	</parent>
 	<dependencies>
diff --git a/plugin-kafka/pom.xml b/plugin-kafka/pom.xml
index 91ecfe8..010707d 100644
--- a/plugin-kafka/pom.xml
+++ b/plugin-kafka/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/plugin-kms/pom.xml b/plugin-kms/pom.xml
index 189976f..8e33b4c 100644
--- a/plugin-kms/pom.xml
+++ b/plugin-kms/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/plugin-kudu/pom.xml b/plugin-kudu/pom.xml
index fd13b90..497c1c2 100644
--- a/plugin-kudu/pom.xml
+++ b/plugin-kudu/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/plugin-kylin/pom.xml b/plugin-kylin/pom.xml
index 1a83ba8..f2c93c0 100644
--- a/plugin-kylin/pom.xml
+++ b/plugin-kylin/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
@@ -94,4 +94,4 @@
 			<scope>test</scope>
 		</dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/plugin-nifi-registry/pom.xml b/plugin-nifi-registry/pom.xml
index b9b71c7..785f85f 100644
--- a/plugin-nifi-registry/pom.xml
+++ b/plugin-nifi-registry/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <artifactId>ranger</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/plugin-nifi/pom.xml b/plugin-nifi/pom.xml
index 8bb6f4d..f786d4d 100644
--- a/plugin-nifi/pom.xml
+++ b/plugin-nifi/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/plugin-ozone/pom.xml b/plugin-ozone/pom.xml
index 8335242..a310560 100644
--- a/plugin-ozone/pom.xml
+++ b/plugin-ozone/pom.xml
@@ -30,7 +30,7 @@ limitations under the License.
     <parent>
         <artifactId>ranger</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/plugin-presto/pom.xml b/plugin-presto/pom.xml
index 07a8cf4..3246eda 100644
--- a/plugin-presto/pom.xml
+++ b/plugin-presto/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
@@ -78,4 +78,4 @@
             </testResource>
         </testResources>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/plugin-schema-registry/pom.xml b/plugin-schema-registry/pom.xml
index 9e9cdb9..8ff8159 100644
--- a/plugin-schema-registry/pom.xml
+++ b/plugin-schema-registry/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
 
diff --git a/plugin-solr/pom.xml b/plugin-solr/pom.xml
index ae3584f..d1ebf38 100644
--- a/plugin-solr/pom.xml
+++ b/plugin-solr/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/plugin-sqoop/pom.xml b/plugin-sqoop/pom.xml
index 5411e41..89c7163 100644
--- a/plugin-sqoop/pom.xml
+++ b/plugin-sqoop/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/plugin-yarn/pom.xml b/plugin-yarn/pom.xml
index e4a4887..498fb10 100644
--- a/plugin-yarn/pom.xml
+++ b/plugin-yarn/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/pom.xml b/pom.xml
index eaf98da..06ca0b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     </parent>
     <groupId>org.apache.ranger</groupId>
     <artifactId>ranger</artifactId>
-    <version>2.1.0-SNAPSHOT</version>
+    <version>3.0.0-SNAPSHOT</version>
     <description>Security for Enforcing Enterprise Policies</description>
     <packaging>pom</packaging>
     <name>ranger</name>
diff --git a/ranger-atlas-plugin-shim/pom.xml b/ranger-atlas-plugin-shim/pom.xml
index 7d2d174..980de1c 100644
--- a/ranger-atlas-plugin-shim/pom.xml
+++ b/ranger-atlas-plugin-shim/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/ranger-elasticsearch-plugin-shim/pom.xml b/ranger-elasticsearch-plugin-shim/pom.xml
index 6802a56..c40c4b8 100644
--- a/ranger-elasticsearch-plugin-shim/pom.xml
+++ b/ranger-elasticsearch-plugin-shim/pom.xml
@@ -29,7 +29,7 @@
 	<parent>
 		<groupId>org.apache.ranger</groupId>
 		<artifactId>ranger</artifactId>
-		<version>2.1.0-SNAPSHOT</version>
+		<version>3.0.0-SNAPSHOT</version>
 		<relativePath>..</relativePath>
 	</parent>
 	<dependencies>
@@ -63,4 +63,4 @@
 			<scope>runtime</scope>
 		</dependency>
 	</dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/ranger-examples/conditions-enrichers/pom.xml b/ranger-examples/conditions-enrichers/pom.xml
index f1ce8f0..1fff9e7 100644
--- a/ranger-examples/conditions-enrichers/pom.xml
+++ b/ranger-examples/conditions-enrichers/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>ranger-examples</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <dependencies>
         <dependency>
diff --git a/ranger-examples/distro/pom.xml b/ranger-examples/distro/pom.xml
index 91849e5..6600dae 100644
--- a/ranger-examples/distro/pom.xml
+++ b/ranger-examples/distro/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger-examples</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
 
diff --git a/ranger-examples/plugin-sampleapp/pom.xml b/ranger-examples/plugin-sampleapp/pom.xml
index 231de07..0480a6d 100644
--- a/ranger-examples/plugin-sampleapp/pom.xml
+++ b/ranger-examples/plugin-sampleapp/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <artifactId>ranger-examples</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <dependencies>
         <dependency>
diff --git a/ranger-examples/pom.xml b/ranger-examples/pom.xml
index ed35be8..f3a4262 100644
--- a/ranger-examples/pom.xml
+++ b/ranger-examples/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <artifactId>ranger</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>ranger-examples</artifactId>
diff --git a/ranger-examples/sample-client/pom.xml b/ranger-examples/sample-client/pom.xml
index 1e205a4..b102e38 100644
--- a/ranger-examples/sample-client/pom.xml
+++ b/ranger-examples/sample-client/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>ranger-examples</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <packaging>jar</packaging>
     <modelVersion>4.0.0</modelVersion>
@@ -57,4 +57,4 @@
             <version>${slf4j-api.version}</version>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/ranger-examples/sampleapp/pom.xml b/ranger-examples/sampleapp/pom.xml
index 494fea3..f816236 100644
--- a/ranger-examples/sampleapp/pom.xml
+++ b/ranger-examples/sampleapp/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <artifactId>ranger-examples</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <dependencies>
         <dependency>
diff --git a/ranger-hbase-plugin-shim/pom.xml b/ranger-hbase-plugin-shim/pom.xml
index 0a5aabb..dceb4ff 100644
--- a/ranger-hbase-plugin-shim/pom.xml
+++ b/ranger-hbase-plugin-shim/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/ranger-hdfs-plugin-shim/pom.xml b/ranger-hdfs-plugin-shim/pom.xml
index 3b87993..6a036c1 100644
--- a/ranger-hdfs-plugin-shim/pom.xml
+++ b/ranger-hdfs-plugin-shim/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/ranger-hive-plugin-shim/pom.xml b/ranger-hive-plugin-shim/pom.xml
index c276470..7e913d5 100644
--- a/ranger-hive-plugin-shim/pom.xml
+++ b/ranger-hive-plugin-shim/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/ranger-kafka-plugin-shim/pom.xml b/ranger-kafka-plugin-shim/pom.xml
index 3fab2b8..fd1dc3c 100644
--- a/ranger-kafka-plugin-shim/pom.xml
+++ b/ranger-kafka-plugin-shim/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/ranger-kms-plugin-shim/pom.xml b/ranger-kms-plugin-shim/pom.xml
index 09ac410..52e30d5 100644
--- a/ranger-kms-plugin-shim/pom.xml
+++ b/ranger-kms-plugin-shim/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/ranger-knox-plugin-shim/pom.xml b/ranger-knox-plugin-shim/pom.xml
index c67e28b..a1d3804 100644
--- a/ranger-knox-plugin-shim/pom.xml
+++ b/ranger-knox-plugin-shim/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/ranger-kylin-plugin-shim/pom.xml b/ranger-kylin-plugin-shim/pom.xml
index 7005595..65410fd 100644
--- a/ranger-kylin-plugin-shim/pom.xml
+++ b/ranger-kylin-plugin-shim/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
@@ -69,4 +69,4 @@
             <version>${project.version}</version>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/ranger-ozone-plugin-shim/pom.xml b/ranger-ozone-plugin-shim/pom.xml
index 8296138..1d66fda 100644
--- a/ranger-ozone-plugin-shim/pom.xml
+++ b/ranger-ozone-plugin-shim/pom.xml
@@ -30,7 +30,7 @@
     <parent>
         <artifactId>ranger</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/ranger-plugin-classloader/pom.xml b/ranger-plugin-classloader/pom.xml
index ed97685..b8f7aa0 100644
--- a/ranger-plugin-classloader/pom.xml
+++ b/ranger-plugin-classloader/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <dependencies>
         <dependency>
diff --git a/ranger-presto-plugin-shim/pom.xml b/ranger-presto-plugin-shim/pom.xml
index 599ff21..4117b03 100644
--- a/ranger-presto-plugin-shim/pom.xml
+++ b/ranger-presto-plugin-shim/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
@@ -144,4 +144,4 @@
         </dependency>
 
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/ranger-solr-plugin-shim/pom.xml b/ranger-solr-plugin-shim/pom.xml
index bf379c2..1469b98 100644
--- a/ranger-solr-plugin-shim/pom.xml
+++ b/ranger-solr-plugin-shim/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/ranger-sqoop-plugin-shim/pom.xml b/ranger-sqoop-plugin-shim/pom.xml
index b2aad97..312a33c 100644
--- a/ranger-sqoop-plugin-shim/pom.xml
+++ b/ranger-sqoop-plugin-shim/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
@@ -59,4 +59,4 @@
             <version>${project.version}</version>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/ranger-storm-plugin-shim/pom.xml b/ranger-storm-plugin-shim/pom.xml
index 08f22f3..3cab3bd 100644
--- a/ranger-storm-plugin-shim/pom.xml
+++ b/ranger-storm-plugin-shim/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/ranger-tools/pom.xml b/ranger-tools/pom.xml
index 49a70f1..f2bbde6 100644
--- a/ranger-tools/pom.xml
+++ b/ranger-tools/pom.xml
@@ -19,7 +19,7 @@
     <parent>
         <artifactId>ranger</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>ranger-tools</artifactId>
diff --git a/ranger-util/pom.xml b/ranger-util/pom.xml
index 79e4fc5..3fb81c1 100644
--- a/ranger-util/pom.xml
+++ b/ranger-util/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <artifactId>ranger-util</artifactId>
     <name>Ranger Util</name>
diff --git a/ranger-yarn-plugin-shim/pom.xml b/ranger-yarn-plugin-shim/pom.xml
index 7b72bd7..7fda7aa 100644
--- a/ranger-yarn-plugin-shim/pom.xml
+++ b/ranger-yarn-plugin-shim/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/security-admin/pom.xml b/security-admin/pom.xml
index 745dbfe..0a0692d 100644
--- a/security-admin/pom.xml
+++ b/security-admin/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <properties>
         <skipJSTests>false</skipJSTests>
diff --git a/storm-agent/pom.xml b/storm-agent/pom.xml
index ea76ddb..31f7888 100644
--- a/storm-agent/pom.xml
+++ b/storm-agent/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <dependencies>
diff --git a/tagsync/pom.xml b/tagsync/pom.xml
index b8340c0..d3afd07 100644
--- a/tagsync/pom.xml
+++ b/tagsync/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <artifactId>ranger</artifactId>
         <groupId>org.apache.ranger</groupId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
diff --git a/ugsync/ldapconfigchecktool/ldapconfigcheck/pom.xml b/ugsync/ldapconfigchecktool/ldapconfigcheck/pom.xml
index b0cff6a..e543dc9 100644
--- a/ugsync/ldapconfigchecktool/ldapconfigcheck/pom.xml
+++ b/ugsync/ldapconfigchecktool/ldapconfigcheck/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <artifactId>ldapconfigcheck</artifactId>
diff --git a/ugsync/pom.xml b/ugsync/pom.xml
index b1d695a..8a1431c 100644
--- a/ugsync/pom.xml
+++ b/ugsync/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>unixusersync</artifactId>
diff --git a/unixauthclient/pom.xml b/unixauthclient/pom.xml
index fa5d409..1e3c0d1 100644
--- a/unixauthclient/pom.xml
+++ b/unixauthclient/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>unixauthclient</artifactId>
diff --git a/unixauthnative/pom.xml b/unixauthnative/pom.xml
index 8cc2295..89dc99f 100644
--- a/unixauthnative/pom.xml
+++ b/unixauthnative/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>credValidator</artifactId>
diff --git a/unixauthpam/pom.xml b/unixauthpam/pom.xml
index 1f25759..4d5b05e 100644
--- a/unixauthpam/pom.xml
+++ b/unixauthpam/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>pamCredValidator</artifactId>
diff --git a/unixauthservice/pom.xml b/unixauthservice/pom.xml
index 7cd6aec..214ad5f 100644
--- a/unixauthservice/pom.xml
+++ b/unixauthservice/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.apache.ranger</groupId>
         <artifactId>ranger</artifactId>
-        <version>2.1.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>unixauthservice</artifactId>