Skip to content

Commit b32ab01

Browse files
authored
BE: Implement audit log level (#4103)
1 parent fa9547b commit b32ab01

File tree

17 files changed

+213
-20
lines changed

17 files changed

+213
-20
lines changed

kafka-ui-api/src/main/java/com/provectus/kafka/ui/config/ClustersProperties.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,13 @@ public static class AuditProperties {
152152
Integer auditTopicsPartitions;
153153
Boolean topicAuditEnabled;
154154
Boolean consoleAuditEnabled;
155+
LogLevel level;
155156
Map<String, String> auditTopicProperties;
157+
158+
public enum LogLevel {
159+
ALL,
160+
ALTER_ONLY //default
161+
}
156162
}
157163

158164
@PostConstruct
Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
package com.provectus.kafka.ui.model.rbac.permission;
22

3+
import java.util.Set;
34
import org.apache.commons.lang3.EnumUtils;
45
import org.jetbrains.annotations.Nullable;
56

67
public enum AclAction implements PermissibleAction {
78

89
VIEW,
9-
EDIT;
10+
EDIT
11+
12+
;
13+
14+
public static final Set<AclAction> ALTER_ACTIONS = Set.of(EDIT);
1015

1116
@Nullable
1217
public static AclAction fromString(String name) {
1318
return EnumUtils.getEnum(AclAction.class, name);
1419
}
20+
21+
@Override
22+
public boolean isAlter() {
23+
return ALTER_ACTIONS.contains(this);
24+
}
1525
}

kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/permission/ApplicationConfigAction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.provectus.kafka.ui.model.rbac.permission;
22

3+
import java.util.Set;
34
import org.apache.commons.lang3.EnumUtils;
45
import org.jetbrains.annotations.Nullable;
56

@@ -10,9 +11,15 @@ public enum ApplicationConfigAction implements PermissibleAction {
1011

1112
;
1213

14+
public static final Set<ApplicationConfigAction> ALTER_ACTIONS = Set.of(EDIT);
15+
1316
@Nullable
1417
public static ApplicationConfigAction fromString(String name) {
1518
return EnumUtils.getEnum(ApplicationConfigAction.class, name);
1619
}
1720

21+
@Override
22+
public boolean isAlter() {
23+
return ALTER_ACTIONS.contains(this);
24+
}
1825
}
Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
11
package com.provectus.kafka.ui.model.rbac.permission;
22

3+
import java.util.Set;
34
import org.apache.commons.lang3.EnumUtils;
45
import org.jetbrains.annotations.Nullable;
56

67
public enum AuditAction implements PermissibleAction {
78

8-
VIEW;
9+
VIEW
10+
11+
;
12+
13+
private static final Set<AuditAction> ALTER_ACTIONS = Set.of();
914

1015
@Nullable
1116
public static AuditAction fromString(String name) {
1217
return EnumUtils.getEnum(AuditAction.class, name);
1318
}
19+
20+
@Override
21+
public boolean isAlter() {
22+
return ALTER_ACTIONS.contains(this);
23+
}
1424
}

kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/permission/ClusterConfigAction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.provectus.kafka.ui.model.rbac.permission;
22

3+
import java.util.Set;
34
import org.apache.commons.lang3.EnumUtils;
45
import org.jetbrains.annotations.Nullable;
56

@@ -10,9 +11,15 @@ public enum ClusterConfigAction implements PermissibleAction {
1011

1112
;
1213

14+
public static final Set<ClusterConfigAction> ALTER_ACTIONS = Set.of(EDIT);
15+
1316
@Nullable
1417
public static ClusterConfigAction fromString(String name) {
1518
return EnumUtils.getEnum(ClusterConfigAction.class, name);
1619
}
1720

21+
@Override
22+
public boolean isAlter() {
23+
return ALTER_ACTIONS.contains(this);
24+
}
1825
}

kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/permission/ConnectAction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.provectus.kafka.ui.model.rbac.permission;
22

3+
import java.util.Set;
34
import org.apache.commons.lang3.EnumUtils;
45
import org.jetbrains.annotations.Nullable;
56

@@ -12,9 +13,15 @@ public enum ConnectAction implements PermissibleAction {
1213

1314
;
1415

16+
public static final Set<ConnectAction> ALTER_ACTIONS = Set.of(CREATE, EDIT, RESTART);
17+
1518
@Nullable
1619
public static ConnectAction fromString(String name) {
1720
return EnumUtils.getEnum(ConnectAction.class, name);
1821
}
1922

23+
@Override
24+
public boolean isAlter() {
25+
return ALTER_ACTIONS.contains(this);
26+
}
2027
}
Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
11
package com.provectus.kafka.ui.model.rbac.permission;
22

3+
import java.util.Set;
34
import org.apache.commons.lang3.EnumUtils;
45
import org.jetbrains.annotations.Nullable;
56

67
public enum ConsumerGroupAction implements PermissibleAction {
78

89
VIEW,
910
DELETE,
10-
1111
RESET_OFFSETS
1212

1313
;
1414

15+
public static final Set<ConsumerGroupAction> ALTER_ACTIONS = Set.of(DELETE, RESET_OFFSETS);
16+
1517
@Nullable
1618
public static ConsumerGroupAction fromString(String name) {
1719
return EnumUtils.getEnum(ConsumerGroupAction.class, name);
1820
}
1921

22+
@Override
23+
public boolean isAlter() {
24+
return ALTER_ACTIONS.contains(this);
25+
}
2026
}
Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
package com.provectus.kafka.ui.model.rbac.permission;
22

3+
import java.util.Set;
34
import org.apache.commons.lang3.EnumUtils;
45
import org.jetbrains.annotations.Nullable;
56

67
public enum KsqlAction implements PermissibleAction {
78

8-
EXECUTE;
9+
EXECUTE
10+
11+
;
12+
13+
public static final Set<KsqlAction> ALTER_ACTIONS = Set.of(EXECUTE);
914

1015
@Nullable
1116
public static KsqlAction fromString(String name) {
1217
return EnumUtils.getEnum(KsqlAction.class, name);
1318
}
1419

20+
@Override
21+
public boolean isAlter() {
22+
return ALTER_ACTIONS.contains(this);
23+
}
1524
}

kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/permission/PermissibleAction.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,9 @@ public sealed interface PermissibleAction permits
55
ConsumerGroupAction, SchemaAction,
66
ConnectAction, ClusterConfigAction,
77
KsqlAction, TopicAction, AuditAction {
8+
9+
String name();
10+
11+
boolean isAlter();
12+
813
}

kafka-ui-api/src/main/java/com/provectus/kafka/ui/model/rbac/permission/SchemaAction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.provectus.kafka.ui.model.rbac.permission;
22

3+
import java.util.Set;
34
import org.apache.commons.lang3.EnumUtils;
45
import org.jetbrains.annotations.Nullable;
56

@@ -13,9 +14,15 @@ public enum SchemaAction implements PermissibleAction {
1314

1415
;
1516

17+
public static final Set<SchemaAction> ALTER_ACTIONS = Set.of(CREATE, DELETE, EDIT, MODIFY_GLOBAL_COMPATIBILITY);
18+
1619
@Nullable
1720
public static SchemaAction fromString(String name) {
1821
return EnumUtils.getEnum(SchemaAction.class, name);
1922
}
2023

24+
@Override
25+
public boolean isAlter() {
26+
return ALTER_ACTIONS.contains(this);
27+
}
2128
}

0 commit comments

Comments
 (0)