From 432b74f8cb6eccb772fda9df3ae9b7a56ea4d71c Mon Sep 17 00:00:00 2001 From: Mohit Yadav <105265192+mohityadav766@users.noreply.github.com> Date: Fri, 11 Apr 2025 09:48:22 +0530 Subject: [PATCH] Add Policy validation to users (#20520) --- .../service/resources/policies/PolicyResource.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/policies/PolicyResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/policies/PolicyResource.java index dbe8a61bb34..fd839cc65ba 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/policies/PolicyResource.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/policies/PolicyResource.java @@ -67,6 +67,7 @@ import org.openmetadata.service.resources.CollectionRegistry; import org.openmetadata.service.resources.EntityResource; import org.openmetadata.service.security.Authorizer; import org.openmetadata.service.security.policyevaluator.CompiledRule; +import org.openmetadata.service.security.policyevaluator.OperationContext; import org.openmetadata.service.security.policyevaluator.RuleEvaluator; import org.openmetadata.service.util.JsonUtils; import org.openmetadata.service.util.ResultList; @@ -550,7 +551,9 @@ public class PolicyResource extends EntityResource { @Parameter(description = "Expression of validating rule", schema = @Schema(type = "string")) @PathParam("expression") String expression) { - authorizer.authorizeAdmin(securityContext); + OperationContext operationContext = + new OperationContext(entityType, MetadataOperation.EDIT_ALL); + authorizer.authorize(securityContext, operationContext, getResourceContext()); CompiledRule.validateExpression(expression, Boolean.class); } }