Browse Source

BE: Exempt appconfig from rbac check (#3647)

Roman Zabaluev 2 years ago
parent
commit
b3240d9057

+ 4 - 1
kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/Permission.java

@@ -1,5 +1,6 @@
 package com.provectus.kafka.ui.model.rbac;
 package com.provectus.kafka.ui.model.rbac;
 
 
+import static com.provectus.kafka.ui.model.rbac.Resource.APPLICATIONCONFIG;
 import static com.provectus.kafka.ui.model.rbac.Resource.CLUSTERCONFIG;
 import static com.provectus.kafka.ui.model.rbac.Resource.CLUSTERCONFIG;
 import static com.provectus.kafka.ui.model.rbac.Resource.KSQL;
 import static com.provectus.kafka.ui.model.rbac.Resource.KSQL;
 
 
@@ -25,6 +26,8 @@ import org.springframework.util.Assert;
 @EqualsAndHashCode
 @EqualsAndHashCode
 public class Permission {
 public class Permission {
 
 
+  private static final List<Resource> RBAC_ACTION_EXEMPT_LIST = List.of(KSQL, CLUSTERCONFIG, APPLICATIONCONFIG);
+
   Resource resource;
   Resource resource;
   List<String> actions;
   List<String> actions;
 
 
@@ -50,7 +53,7 @@ public class Permission {
 
 
   public void validate() {
   public void validate() {
     Assert.notNull(resource, "resource cannot be null");
     Assert.notNull(resource, "resource cannot be null");
-    if (!List.of(KSQL, CLUSTERCONFIG).contains(this.resource)) {
+    if (!RBAC_ACTION_EXEMPT_LIST.contains(this.resource)) {
       Assert.notNull(value, "permission value can't be empty for resource " + resource);
       Assert.notNull(value, "permission value can't be empty for resource " + resource);
     }
     }
   }
   }