| by Arround The Web | No comments

Configure the Apache Kafka ACL for Security

Access Control List (ACL) is a security mechanism that regulates the admittance to resources like files, directories, and network devices. It is a comprehensive compilation of permissions which are connected with an object or resource that defines who or what has the authorization to approach the resource and what nature of admittance they have.Typically, an ACL comprises a catalog of entries, and every entry symbolizes a specific user or group with explicit authorizations that are assigned to them. The permissions that can be granted encompass the read, write, execute, and delete access.

Various resources can be protected using ACLs such as servers, network devices, and databases. They can be integrated at various levels including the application level, file system level, and network level.

There are two main types of access control lists:

  1. Discretionary Access Control Lists (DACLs)
  2. System Access Control Lists (SACLs)

Discretionary Access Control Lists

DACLs control the admittance to an object or resource based on the identity of the user or group. They are discretionary since the owner of the object or resource can elect who has access and what kind of admittance they have. DACLs are generally employed in file systems and network devices.

System Access Control Lists

SACLs control the admittance to an object or resource based on the type of admittance being appealed. They are system-controlled since the system administrator concludes which kinds of admittance generate the audit events. SACLs are frequently utilized in auditing and compliance.

ACL security is an indispensable aspect of network and information security. It guarantees that only the authorized users have access to resources and that those users possess only the level of access they require to execute their job functions. By implementing ACLs, the organizations can enforce the principle of least privilege, diminish the risk of data breaches, and comply with industry regulations.

Does Apache Kafka Support the ACL Security?

Apache Kafka does offer Access Control Lists (ACLs) as a security measure which provides a pluggable authorization feature for organizations to integrate with their existing authorization frameworks. ACL policies dictate which users or groups have the authority to perform certain actions on Kafka resources, including but not limited to topics and consumer groups. These actions can include the read, write, describe, and alter operations.

Kafka’s ACLs can be established at various levels such as the cluster, topic, and consumer group levels. The administration of these policies can be carried out using tools such as the Kafka command-line interface (CLI) or a web-based user interface.

How to Configure ACL in Kafka

To Enable the ACL security in Kafka, start by enabling the ACL authorizer in Kafka configuration:

Set the value of the “setting authorizer.class.name” property to “kafka.security.authorizer.AclAuthorizer” in the broker configuration.

Once enabled, you can create the Kafka ACL using the CLI tool as shown in the following command to create an ACL entity:

kafka-acls --bootstrap-server localhost:9092 \

--command-config adminclient-configs.conf \

--add \

--allow-principal User:jane \

--allow-principal User:doe \

--operation read

--operation write \

--topic mytopic

The provided command adds an Access Control List (ACL) policy to the Kafka resource “mytopic” that grants the “read” and “write” operations to two specific users – “jane” and “doe”.


We explored the basics of configuring and working with Kafka ACL features. You can check the following resource to explore further:


Share Button

Source: linuxhint.com

Leave a Reply