You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ni...@apache.org on 2020/09/16 10:07:59 UTC

[ranger] branch ranger-2.2 updated (0118548 -> c570ffb)

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

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


    from 0118548  RANGER-2997: Fixed role assignment code to assign only one role to a user - ranger-2.2 branch
     new 2644fa2  RANGER-2988 : Role Name Search filter is not available on policy listing page
     new c570ffb  RANGER-2767 : Ranger showing only 100 services in ranger admin ui

The 2 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:
 .../ranger/plugin/store/AbstractPredicateUtil.java | 59 ++++++++++++++++++++++
 .../org/apache/ranger/common/RangerSearchUtil.java |  1 +
 .../main/webapp/scripts/controllers/Controller.js  |  3 ++
 .../main/webapp/scripts/controllers/NController.js |  3 ++
 .../webapp/scripts/modules/globalize/message/en.js |  1 +
 .../views/policies/NRangerPolicyTableLayout.js     | 11 ++--
 .../views/policies/RangerPolicyTableLayout.js      |  3 +-
 .../scripts/views/policymanager/ServiceLayout.js   |  2 +-
 .../views/policymanager/ServiceLayoutSidebar.js    |  2 +-
 .../webapp/scripts/views/reports/AuditLayout.js    |  2 +-
 10 files changed, 80 insertions(+), 7 deletions(-)


[ranger] 02/02: RANGER-2767 : Ranger showing only 100 services in ranger admin ui

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

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

commit c570ffb0b9fcd2f577ae332e4c826ed94adf8497
Author: Nitin Galave <ni...@apache.org>
AuthorDate: Wed Sep 16 11:55:55 2020 +0530

    RANGER-2767 : Ranger showing only 100 services in ranger admin ui
---
 security-admin/src/main/webapp/scripts/controllers/Controller.js       | 3 +++
 security-admin/src/main/webapp/scripts/controllers/NController.js      | 3 +++
 .../src/main/webapp/scripts/views/policies/NRangerPolicyTableLayout.js | 2 +-
 .../src/main/webapp/scripts/views/policymanager/ServiceLayout.js       | 2 +-
 .../main/webapp/scripts/views/policymanager/ServiceLayoutSidebar.js    | 2 +-
 security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js    | 2 +-
 6 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/security-admin/src/main/webapp/scripts/controllers/Controller.js b/security-admin/src/main/webapp/scripts/controllers/Controller.js
index f21b16c..b026b33 100755
--- a/security-admin/src/main/webapp/scripts/controllers/Controller.js
+++ b/security-admin/src/main/webapp/scripts/controllers/Controller.js
@@ -529,6 +529,7 @@ define(function(require) {
             var RangerZoneList = require('collections/RangerZoneList');
             var rangerServiceList = new RangerServiceList();
             var rangerZoneList = new RangerZoneList();
+            rangerServiceList.setPageSize(200);
             rangerServiceList.fetch({
                 cache: false,
                 async: false
@@ -554,6 +555,7 @@ define(function(require) {
             var RangerZoneList = require('collections/RangerZoneList');
             var zoneSerivesColl = new RangerZoneList();
             var rangerServiceList = new RangerServiceList();
+            rangerServiceList.setPageSize(200);
             rangerServiceList.fetch({
                 cache: false,
             }).done(function() {
@@ -581,6 +583,7 @@ define(function(require) {
                 id: zoneId
             })
             var zoneSerivesColl = new RangerZoneList();
+            rangerServiceList.setPageSize(200);
             rangerServiceList.fetch({
                 cache: false,
                 async: false,
diff --git a/security-admin/src/main/webapp/scripts/controllers/NController.js b/security-admin/src/main/webapp/scripts/controllers/NController.js
index d27acc0..f6c291e 100644
--- a/security-admin/src/main/webapp/scripts/controllers/NController.js
+++ b/security-admin/src/main/webapp/scripts/controllers/NController.js
@@ -506,6 +506,7 @@ define(function(require) {
             var RangerZoneList = require('collections/RangerZoneList');
             var rangerServiceList = new RangerServiceList();
             var rangerZoneList = new RangerZoneList();
+            rangerServiceList.setPageSize(200);
             rangerServiceList.fetch({
                 cache: false,
                 async: false
@@ -547,6 +548,7 @@ define(function(require) {
             var zoneSerivesColl = new RangerZoneList();
             var rangerServiceList = new RangerServiceList();
             this.rSidebarContentHideAndShow('SecurityZone');
+            rangerServiceList.setPageSize(200);
             rangerServiceList.fetch({
                 cache: false,
             }).done(function() {
@@ -575,6 +577,7 @@ define(function(require) {
             })
             var zoneSerivesColl = new RangerZoneList();
             this.rSidebarContentHideAndShow('SecurityZone');
+            rangerServiceList.setPageSize(200);
             rangerServiceList.fetch({
                 cache: false,
                 async: false,
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 53e9865..f55565a 100644
--- a/security-admin/src/main/webapp/scripts/views/policies/NRangerPolicyTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/policies/NRangerPolicyTableLayout.js
@@ -176,7 +176,7 @@ define(function(require) {
 
             initializeServices: function() {
                 this.services = new RangerServiceList();
-                this.services.setPageSize(100);
+                this.services.setPageSize(200);
                 this.services.fetch({
                     cache: false,
                     async: false
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 3053e4b..11d4711 100644
--- a/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js
@@ -145,7 +145,7 @@ define(function(require){
 		},
 
 		initializeServices : function(){
-			this.services.setPageSize(100);
+			this.services.setPageSize(200);
 			this.services.fetch({
 			   cache : false,
 			   async : false
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 78737d3..42722b0 100644
--- a/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayoutSidebar.js
+++ b/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayoutSidebar.js
@@ -274,7 +274,7 @@ define(function(require){
 
         initializeServices : function(){
             this.services = new RangerServiceList();
-            this.services.setPageSize(100);
+            this.services.setPageSize(200);
             this.services.fetch({
                cache : false,
                async : false
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 6bad295..043d725 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
@@ -181,7 +181,7 @@ define(function(require) {
 				data :{'pageSource':'Audit'}
 			});
             this.serviceList = new RangerServiceList();
-            this.serviceList.setPageSize(100)
+            this.serviceList.setPageSize(200)
             this.serviceList.fetch({
                 cache : false,
                 async:false,


[ranger] 01/02: RANGER-2988 : Role Name Search filter is not available on policy listing page

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

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

commit 2644fa26f375dbd0f719971a62d9d2ad31bfe4a9
Author: Nitin Galave <ni...@apache.org>
AuthorDate: Mon Sep 14 17:49:01 2020 +0530

    RANGER-2988 : Role Name Search filter is not available on policy listing page
    
    Change-Id: I3252349576cb5e66f4f807d19f096fe0876a1dcf
---
 .../ranger/plugin/store/AbstractPredicateUtil.java | 59 ++++++++++++++++++++++
 .../org/apache/ranger/common/RangerSearchUtil.java |  1 +
 .../webapp/scripts/modules/globalize/message/en.js |  1 +
 .../views/policies/NRangerPolicyTableLayout.js     |  9 +++-
 .../views/policies/RangerPolicyTableLayout.js      |  3 +-
 5 files changed, 70 insertions(+), 3 deletions(-)

diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java
index 85fa213..38d6b03 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java
@@ -92,6 +92,7 @@ public class AbstractPredicateUtil {
 		// addPredicateForTagServiceId(filter.getParam(SearchFilter.TAG_SERVICE_ID), predicates); // not supported
 		addPredicateForUserName(filter.getParam(SearchFilter.USER), predicates);
 		addPredicateForGroupName(filter.getParam(SearchFilter.GROUP), predicates);
+		addPredicateForRoleName(filter.getParam(SearchFilter.ROLE), predicates);
 		addPredicateForResources(filter.getParamsWithPrefix(SearchFilter.RESOURCE_PREFIX, true), predicates);
 		addPredicateForPolicyResource(filter.getParam(SearchFilter.POL_RESOURCE), predicates);
 		addPredicateForPartialPolicyName(filter.getParam(SearchFilter.POLICY_NAME_PARTIAL), predicates);
@@ -564,6 +565,64 @@ public class AbstractPredicateUtil {
 		return ret;
 	}
 
+	private Predicate addPredicateForRoleName(final String roleName, List<Predicate> predicates) {
+		if(StringUtils.isEmpty(roleName)) {
+			return null;
+		}
+
+		Predicate ret = new Predicate() {
+			@Override
+			public boolean evaluate(Object object) {
+				if(object == null) {
+					return false;
+				}
+
+				boolean ret = false;
+
+				if(object instanceof RangerPolicy) {
+					RangerPolicy policy = (RangerPolicy)object;
+
+					List<?>[] policyItemsList = new List<?>[] { policy.getPolicyItems(),
+																policy.getDenyPolicyItems(),
+																policy.getAllowExceptions(),
+																policy.getDenyExceptions(),
+																policy.getDataMaskPolicyItems(),
+																policy.getRowFilterPolicyItems()
+															};
+					for(List<?> policyItemsObj : policyItemsList) {
+						@SuppressWarnings("unchecked")
+						List<RangerPolicyItem> policyItems = (List<RangerPolicyItem>)policyItemsObj;
+
+						for(RangerPolicyItem policyItem : policyItems) {
+							if(! policyItem.getRoles().isEmpty()) {
+								for(String role : policyItem.getRoles()) {
+									if(StringUtils.containsIgnoreCase(role, roleName)) {
+										ret = true;
+										break;
+									}
+								}
+							}
+						}
+						if (ret) {
+							break;
+						}
+					}
+				}else {
+					ret = true;
+				}
+
+				return ret;
+			}
+		};
+
+		if(predicates != null) {
+			predicates.add(ret);
+		}
+
+		return ret;
+
+	}
+
 	private Predicate addPredicateForIsEnabled(final String status, List<Predicate> predicates) {
 		if(StringUtils.isEmpty(status)) {
 			return null;
diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
index 98a8596..7006214 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
@@ -65,6 +65,7 @@ public class RangerSearchUtil extends SearchUtil {
 		ret.setParam(SearchFilter.IS_RECURSIVE, request.getParameter(SearchFilter.IS_RECURSIVE));
 		ret.setParam(SearchFilter.USER, request.getParameter(SearchFilter.USER));
 		ret.setParam(SearchFilter.GROUP, request.getParameter(SearchFilter.GROUP));
+		ret.setParam(SearchFilter.ROLE, request.getParameter(SearchFilter.ROLE));
 		ret.setParam(SearchFilter.POL_RESOURCE, request.getParameter(SearchFilter.POL_RESOURCE));
 		ret.setParam(SearchFilter.RESOURCE_SIGNATURE, request.getParameter(SearchFilter.RESOURCE_SIGNATURE));
 		ret.setParam(SearchFilter.POLICY_TYPE, request.getParameter(SearchFilter.POLICY_TYPE));
diff --git a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
index f92e985..0989976 100644
--- a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
+++ b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
@@ -360,6 +360,7 @@ define(function(require) {
                 serviceTypeMsg              :'Select type of service.',
                 startDate                   :'Set start date.',
                 userMsg                     :'Name of User.',
+                roleMsg                     :'Name of Role.',
                 application                 :'Application.',
                 tagsMsg                     :'Tag Name.',
                 endDate                     :'Set end date.',
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 79632cf..53e9865 100644
--- a/security-admin/src/main/webapp/scripts/views/policies/NRangerPolicyTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/policies/NRangerPolicyTableLayout.js
@@ -522,7 +522,7 @@ define(function(require) {
                     };
                 });
 
-                var searchOpt = ['Policy Name', 'Group Name', 'User Name', 'Status', 'Policy Label']; //,'Start Date','End Date','Today'];
+                var searchOpt = ['Policy Name', 'Group Name', 'User Name', 'Status', 'Policy Label', 'Role Name']; //,'Start Date','End Date','Today'];
                 searchOpt = _.union(searchOpt, _.map(resourceSearchOpt, function(opt) {
                     return opt.label
                 }))
@@ -553,7 +553,12 @@ define(function(require) {
                     label: "policyLabelsPartial",
                     info: localization.tt('h.policyLabelsinfo'),
                     urlLabel: 'policyLabel'
-                }, ];
+                }, {
+                    text : "Role Name",
+                    label :"role" ,
+                    info :localization.tt('h.roleMsg'),
+                    urlLabel : 'roleName'
+                }];
                 // {text : 'Start Date',label :'startDate'},{text : 'End Date',label :'endDate'},
                 //  {text : 'Today',label :'today'}];
                 var info = {
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 9656fb5..9ab925b 100644
--- a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
@@ -468,12 +468,13 @@ define(function(require){
                         });
 			var PolicyStatusValue = _.map(XAEnums.ActiveStatus, function(status) { return { 'label': status.label, 'value': Boolean(status.value)}; });
 	
-                        var searchOpt = ['Policy Name','Group Name','User Name','Status', 'Policy Label'];//,'Start Date','End Date','Today'];
+                        var searchOpt = ['Policy Name','Group Name','User Name','Status', 'Policy Label', 'Role Name'];//,'Start Date','End Date','Today'];
                         searchOpt = _.union(searchOpt, _.map(resourceSearchOpt, function(opt){ return opt.label }))
                         var serverAttrName  = [{text : "Group Name",  label :"group",   info:localization.tt('h.groupNameMsg'), urlLabel : 'groupName'},
                                                {text : "Policy Name", label :"policyNamePartial",  info :localization.tt('msg.policyNameMsg'), urlLabel : 'policyName'},
                                                {text : "Status",      info : localization.tt('msg.statusMsg') ,  label :"isEnabled",'multiple' : true, 'optionsArr' : PolicyStatusValue, urlLabel : 'status'},
                                                {text : "User Name",   label :"user" ,  info :localization.tt('h.userMsg'), urlLabel : 'userName'},
+                                               {text : "Role Name",   label :"role" ,  info :localization.tt('h.roleMsg'), urlLabel : 'roleName'},
                                                {text : "Policy Label",   label :"policyLabelsPartial" ,  info :localization.tt('h.policyLabelsinfo'), urlLabel : 'policyLabel'},
                                                ];
 			                     // {text : 'Start Date',label :'startDate'},{text : 'End Date',label :'endDate'},