Skip to content

Display ACLs of Kafka topics #1479

@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 see ACLs on a details page of a topic, so I can understand which service are potential producers / consumers of the topic

Background:

Given I am an authenticated user with permissions to view topics and ACLs
And I am on the "Topic Details" page for a specific topic named "payment_transactions"
And the following ACLs exist in Kafka:

Principal Resource Name Operation Permission Host
User:payment-writer TOPIC "payment_transactions" WRITE ALLOW 10.0.1.10
User:payment-reader TOPIC "payment_transactions" READ ALLOW 10.0.2.20
User:auditor TOPIC "payment_transactions" DESCRIBE ALLOW *
User:fraud-detector TOPIC "fraud_reports" WRITE ALLOW 10.0.3.30
User:admin CLUSTER "kafka-cluster" ALTER ALLOW *

Scenario: Viewing the ACLs for a topic

Given I am on the "Topic Details" page for "payment_transactions"
When I look at the page, I should see a new tab or section labeled "ACLs"
And this "ACLs" tab/section should show a count of "3" (the number of ACLs for this topic)

When I click on the "ACLs" tab
Then I should see a grid of ACLs
And this grid MUST be pre-filtered to show only ACLs for the "payment_transactions" topic
And I should see the row for "User:payment-writer" (WRITE)
And I should see the row for "User:payment-reader" (READ)
And I should see the row for "User:auditor" (DESCRIBE)
And I should NOT see the ACL for "User:fraud-detector" (which is for "fraud_reports")
And I should NOT see the CLUSTER ACL for "User:admin"

Scenario: Viewing a topic with no ACLs

Given I navigate to the "Topic Details" page for a topic named "new_unsecured_topic"
And this topic has no ACLs associated with it
When I click on the "ACLs" tab
Then I should not see a grid of ACLs
And I should see a clear message, such as "No ACLs configured for this topic."

Scenario: Filtering the topic's ACLs

Given I am on the "ACLs" tab for the "payment_transactions" topic
And I can see all 3 ACLs for this topic
And I want to find only the potential producers
When I use a filter control within this tab to filter by Operation "WRITE"
Then the grid should update to show only the ACL for "User:payment-writer"
And the ACLs for "User:payment-reader" and "User:auditor" should be hidden

Scenario: Sorting the topic's ACLs

Given I am on the "ACLs" tab for the "payment_transactions" topic
When I click the header for the "Principal" column to sort it
Then the order of the rows in the grid should change (e.g., alphabetically by Principal name)

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