This is an automated email from the ASF dual-hosted git repository.
abhay pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new 4344fcf RANGER-2521: Masking policies not picked from the zone of the
accessed resource
4344fcf is described below
commit 4344fcff44c1bfd7e7a32ad58c426c0c2f00c8b0
Author: Abhay Kulkarni <[email protected]>
AuthorDate: Sun Jul 28 22:44:28 2019 -0700
RANGER-2521: Masking policies not picked from the zone of the accessed
resource
---
.../main/java/org/apache/ranger/db/XXSecurityZoneDao.java | 12 +++++++++++-
.../src/main/java/org/apache/ranger/rest/ServiceREST.java | 2 +-
.../src/main/resources/META-INF/jpa_named_queries.xml | 6 ++++++
3 files changed, 18 insertions(+), 2 deletions(-)
diff --git
a/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java
b/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java
index 78296e2..46ff16f 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java
@@ -72,7 +72,17 @@ public class XXSecurityZoneDao extends
BaseDao<XXSecurityZone> {
return Collections.emptyList();
}
}
-
+ public List<String> findZonesByTagServiceName(String tagServiceName) {
+ if (tagServiceName == null) {
+ return Collections.emptyList();
+ }
+ try {
+ return
getEntityManager().createNamedQuery("XXSecurityZone.findByTagServiceName",
String.class)
+ .setParameter("tagServiceName",
tagServiceName).getResultList();
+ } catch (NoResultException e) {
+ return Collections.emptyList();
+ }
+ }
public List<String> findZoneNamesByUserId(Long userId) {
if (userId == null) {
return Collections.emptyList();
diff --git
a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
index 990fc2b..e59845f 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
@@ -3968,7 +3968,7 @@ public class ServiceREST {
try {
RangerService tagService =
svcStore.getServiceByName(tagServiceName);
if (tagService != null &&
tagService.getIsEnabled()) {
- zonesInAssociatedTagService =
daoManager.getXXSecurityZoneDao().findZonesByServiceName(tagServiceName);
+ zonesInAssociatedTagService =
daoManager.getXXSecurityZoneDao().findZonesByTagServiceName(tagServiceName);
}
} catch (Exception exception) {
LOG.warn("Could not get service
associated with [" + tagServiceName + "]", exception);
diff --git a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
index 328cf26..4ea2ad6 100755
--- a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
+++ b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
@@ -1336,6 +1336,12 @@
</query>
</named-query>
+ <named-query name="XXSecurityZone.findByTagServiceName">
+ <query>
+ select obj.name from XXSecurityZone obj where obj.id in
(select ref.zoneId from XXSecurityZoneRefTagService ref where
ref.tagServiceName = :tagServiceName)
+ </query>
+ </named-query>
+
<named-query name="XXSecurityZoneRefGroup.findByZoneId">
<query>
select obj from XXSecurityZoneRefGroup obj where obj.zoneId =
:zoneId