Bird
Raised Fist0
Kafkadevops~5 mins

ACL-based authorization in Kafka - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does ACL stand for in Kafka's authorization?
ACL stands for Access Control List. It is a list that defines who can access Kafka resources and what actions they can perform.
Click to reveal answer
beginner
How does Kafka use ACLs to control access?
Kafka checks ACLs to decide if a user or client is allowed to perform an action like reading or writing on a topic or group.
Click to reveal answer
beginner
Name two common Kafka resource types that ACLs can protect.
Topics and Consumer Groups are two common Kafka resources protected by ACLs.
Click to reveal answer
intermediate
What is the command to add an ACL in Kafka for a user to write to a topic?
Use kafka-acls.sh with --add, --allow-principal, --operation=Write, and --topic options. Example: kafka-acls.sh --add --allow-principal User:Alice --operation Write --topic my-topic
Click to reveal answer
beginner
Why is ACL-based authorization important in Kafka?
It protects Kafka data by ensuring only authorized users or applications can read or write data, preventing unauthorized access and data leaks.
Click to reveal answer
What does an ACL in Kafka specify?
AThe replication factor of topics
BThe network settings for Kafka brokers
CWho can perform which actions on Kafka resources
DThe data format of Kafka messages
Which Kafka resource can you protect with ACLs?
ANetwork routers
BOperating system files
CDatabase tables
DTopic
Which command option is used to add an ACL in Kafka?
A--remove
B--add
C--list
D--describe
What operation would you specify to allow a user to read from a topic?
ARead
BWrite
CDelete
DCreate
If no ACL exists for a user on a topic, what happens when they try to access it?
AAccess is denied
BAccess is granted by default
CKafka crashes
DUser is prompted for a password
Explain how ACL-based authorization works in Kafka and why it is important.
Think about who can do what with Kafka topics and why controlling this matters.
You got /4 concepts.
    Describe the steps to add an ACL that allows a user to write to a Kafka topic.
    Focus on the command and options needed.
    You got /5 concepts.

      Practice

      (1/5)
      1. What is the main purpose of ACL-based authorization in Kafka?
      easy
      A. To control who can access Kafka topics and perform operations
      B. To speed up message processing in Kafka
      C. To store messages in a compressed format
      D. To monitor Kafka cluster health

      Solution

      1. Step 1: Understand ACL-based authorization

        ACL-based authorization is used to manage permissions for users or clients in Kafka.
      2. Step 2: Identify its main role

        Its main role is to control access to Kafka topics and operations, ensuring security.
      3. Final Answer:

        To control who can access Kafka topics and perform operations -> Option A
      4. Quick Check:

        ACL controls access = B [OK]
      Hint: ACL means controlling access rights in Kafka [OK]
      Common Mistakes:
      • Confusing ACL with performance tuning
      • Thinking ACL compresses data
      • Assuming ACL monitors cluster health
      2. Which of the following is the correct command to add an ACL for a user named alice to read from topic orders?
      easy
      A. kafka-acls --add --allow-principal User:alice --operation Read --topic orders
      B. kafka-acls --remove --allow-principal User:alice --operation Read --topic orders
      C. kafka-acls --add --deny-principal User:alice --operation Write --topic orders
      D. kafka-acls --add --allow-principal User:bob --operation Read --topic orders

      Solution

      1. Step 1: Identify the command to add ACL

        The command to add an ACL uses --add and specifies the principal and operation.
      2. Step 2: Match user, operation, and topic

        We want to add read permission for user alice on topic orders, so the command must include these exactly.
      3. Final Answer:

        kafka-acls --add --allow-principal User:alice --operation Read --topic orders -> Option A
      4. Quick Check:

        Add ACL for alice to read orders = D [OK]
      Hint: Add ACL uses --add and --allow-principal [OK]
      Common Mistakes:
      • Using --remove instead of --add
      • Using deny instead of allow
      • Specifying wrong user or operation
      3. Given the following ACLs:
      kafka-acls --add --allow-principal User:bob --operation Write --topic payments
      kafka-acls --add --allow-principal User:bob --operation Read --topic payments
      What will happen if user bob tries to consume messages from topic payments?
      medium
      A. Bob can only produce messages but not consume
      B. Bob will get a permission denied error when consuming messages
      C. Bob can neither produce nor consume messages
      D. Bob will be able to consume messages from the payments topic

      Solution

      1. Step 1: Analyze the ACLs for user bob

        Bob has both Write and Read permissions on the payments topic.
      2. Step 2: Understand consuming messages requires Read permission

        Since Bob has Read permission, he can consume messages from the payments topic.
      3. Final Answer:

        Bob will be able to consume messages from the payments topic -> Option D
      4. Quick Check:

        Read permission allows consume = C [OK]
      Hint: Read permission lets user consume messages [OK]
      Common Mistakes:
      • Assuming Write permission alone allows consuming
      • Confusing produce and consume permissions
      • Ignoring the Read permission present
      4. You run the command:
      kafka-acls --add --allow-principal User:carol --operation Read --topic sales
      But Carol still cannot read from the sales topic. What is the most likely cause?
      medium
      A. The ACL was added but the Kafka broker was not restarted
      B. Carol needs Write permission to read messages
      C. Carol's client is not authenticating as User:carol
      D. The ACL was added for the wrong user

      Solution

      1. Step 1: Check if ACL command syntax is correct

        The command correctly adds Read permission for User:carol on topic sales.
      2. Step 2: Consider authentication and identity

        If Carol cannot read despite ACL, likely her client is not authenticating as User:carol, so ACL does not apply.
      3. Final Answer:

        Carol's client is not authenticating as User:carol -> Option C
      4. Quick Check:

        ACL needs matching user identity = A [OK]
      Hint: ACLs depend on correct user authentication [OK]
      Common Mistakes:
      • Thinking Write permission is needed to read
      • Assuming Kafka broker restart is required for ACL changes
      • Confusing user names in ACL commands
      5. You want to allow a group of users to produce messages to topic logs but deny them from deleting the topic. Which ACL commands correctly achieve this?
      hard
      A. Add allow ACL for Produce operation only; deny is not needed because deny is default
      B. Add allow ACL for Produce operation and add deny ACL for Delete operation for the user group
      C. Add allow ACL for Produce and Delete operations for the user group
      D. Add deny ACL for Produce and allow ACL for Delete operations for the user group

      Solution

      1. Step 1: Understand permission requirements

        The users should be allowed to produce messages but denied from deleting the topic.
      2. Step 2: Use allow and deny ACLs appropriately

        We add an allow ACL for Produce operation and explicitly add a deny ACL for Delete operation to prevent deletion.
      3. Final Answer:

        Add allow ACL for Produce operation and add deny ACL for Delete operation for the user group -> Option B
      4. Quick Check:

        Allow produce + deny delete = A [OK]
      Hint: Use allow for produce and deny for delete explicitly [OK]
      Common Mistakes:
      • Assuming deny is default without adding deny ACL
      • Allowing delete by mistake
      • Mixing up allow and deny commands
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard