Skip to content

Filter ACLs by host permissions #1477

@Gleb-Shipilov

Description

@Gleb-Shipilov

Issue submitter TODO list

  • I've searched for an already existing issues here
  • I'm running a supported version of the application which is listed here and the feature is not present there

Is your proposal related to a problem?

No response

Describe the feature you're interested in

User story

As a Kafka UI user,
I want to be able to filter ACLs by host,
So that I can quickly find and audit permissions tied to specific network locations.

Background:

Given I am an authenticated user on the "ACL" page
And a filter control for the "Host" column is available
And multiple ACLs exist with different host permissions:

Principal Resource Type Resource Name Operation Permission Host
User:app1 TOPIC "payments" READ ALLOW 192.168.1.100
User:app2 TOPIC "orders" READ ALLOW app-server.prod.local
User:etl GROUP "etl-group" READ ALLOW *
User:mon CLUSTER "kafka-cluster" DESCRIBE ALLOW 192.168.1.150

Scenario: Filter by a specific IP Address

Given I am viewing the full list of ACLs
When I enter "192.168.1.100" into the "Host" filter
Then the grid should only display the ACL for "User:app1" on "payments"
And other ACLs (e.g., for "User:app2", "User:etl") should not be visible

Scenario: Filter by a specific Hostname

Given I am viewing the full list of ACLs
When I enter "app-server.prod.local" into the "Host" filter
Then the grid should only display the ACL for "User:app2" on "orders"
And other ACLs should not be visible

Scenario: Filter by the wildcard Host

Given I am viewing the full list of ACLs
When I enter "*" into the "Host" filter
Then the grid should only display the ACL for "User:etl" on "etl-group"
And ACLs with specific IPs or hostnames should not be visible

Scenario: Filter using a partial match (e.g., subnet)

Given I am viewing the full list of ACLs
When I enter "192.168.1" into the "Host" filter (assuming partial string matching)
Then the grid should display the ACLs for "User:app1" (Host "192.168.1.100") and "User:mon" (Host "192.168.1.150")
And other ACLs (e.g., for "User:app2", "User:etl") should not be visible

Scenario: Filter resulting in no matches

Given I am viewing the full list of ACLs
When I enter "10.0.0.1" into the "Host" filter, which matches no existing ACLs
Then the grid should become empty
And a "No results found" or similar message should be displayed

Scenario: Clear the Host filter

Given I have an active filter on the "Host" column for "*"
And I can only see the ACL for "User:etl"
When I clear the "Host" filter
Then I should see all ACLs again, including those for "User:app1", "User:app2", "User:etl", and "User:mon"

Describe alternatives you've considered

No response

Version you're running

6474fb6

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions