You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2026/05/14 16:38:53 UTC
(ranger) 01/01: RANGER-5597: [GDS] Validity Period is not working for project policy
This is an automated email from the ASF dual-hosted git repository.
maheshbandal15 pushed a commit to branch mb-ranger-5597
in repository https://gitbox.apache.org/repos/asf/ranger.git
commit 57a384ac8fbf57899830a461667a51f7b8383318
Author: Mahesh Bandal <ma...@apache.org>
AuthorDate: Thu May 14 22:07:19 2026 +0530
RANGER-5597: [GDS] Validity Period is not working for project policy
---
.../ranger/plugin/policyengine/gds/GdsProjectEvaluator.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/gds/GdsProjectEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/gds/GdsProjectEvaluator.java
index 52220563c..2d2e671ed 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/gds/GdsProjectEvaluator.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/gds/GdsProjectEvaluator.java
@@ -40,6 +40,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Date;
import java.util.List;
import java.util.Set;
@@ -97,7 +98,8 @@ public boolean isActive() {
}
public void evaluate(RangerAccessRequest request, GdsAccessResult result) {
- LOG.debug("==> GdsDatasetEvaluator.evaluate({}, {})", request, result);
+ LOG.debug("==> GdsProjectEvaluator.evaluate({}, {})", request, result);
+ final Date accessTime = request.getAccessTime() != null ? request.getAccessTime() : new Date();
if (isActive()) {
result.addProject(getName());
@@ -110,7 +112,11 @@ public void evaluate(RangerAccessRequest request, GdsAccessResult result) {
RangerAccessRequestUtil.setAllRequestedAccessTypes(projectRequest.getContext(), null);
RangerAccessRequestUtil.setAccessTypeACLResults(projectRequest.getContext(), null);
- policyEvaluators.forEach(e -> e.evaluate(projectRequest, projectResult));
+ policyEvaluators.forEach(e -> {
+ if (e.isApplicable(accessTime)) {
+ e.evaluate(projectRequest, projectResult);
+ }
+ });
} finally {
RangerAccessRequestUtil.setAccessTypeResults(projectRequest.getContext(), null);
RangerAccessRequestUtil.setAccessTypeACLResults(projectRequest.getContext(), null);
@@ -134,7 +140,7 @@ public void evaluate(RangerAccessRequest request, GdsAccessResult result) {
}
}
- LOG.debug("<== GdsDatasetEvaluator.evaluate({}, {})", request, result);
+ LOG.debug("<== GdsProjectEvaluator.evaluate({}, {})", request, result);
}
public void getResourceACLs(RangerAccessRequest request, RangerResourceACLs acls, boolean isConditional, Set<String> allowedAccessTypes) {