Challenge - 5 Problems
Redis ACL Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ query_result
intermediate2:00remaining
What is the output of this ACL command?
Given the ACL rule
ACL SETUSER alice on >password ~* +@all, what will be the result of the command ACL LIST for user alice?Redis
ACL LIST
Attempts:
2 left
💡 Hint
Remember that
on means the user is enabled and +@all grants all command categories.✗ Incorrect
The ACL rule enables user alice with password authentication, allows access to all keys (~*), and grants all command categories (+@all).
🧠 Conceptual
intermediate1:30remaining
Which ACL category allows keyspace notifications commands?
In Redis ACL categories, which category includes commands related to keyspace notifications?
Attempts:
2 left
💡 Hint
Keyspace notifications use the publish/subscribe system.
✗ Incorrect
The @pubsub category includes commands related to publish/subscribe messaging, which covers keyspace notifications.
📝 Syntax
advanced2:30remaining
Which ACL SETUSER command syntax is valid to allow only read commands on keys starting with 'cache:'?
Select the correct ACL SETUSER command that enables a user with password 'secret', allows only read commands, and restricts keys to those starting with 'cache:'.
Attempts:
2 left
💡 Hint
The key pattern must end with a colon and asterisk to match keys starting with 'cache:'.
✗ Incorrect
Option A correctly uses the pattern '~cache:*' to restrict keys and '+@read' to allow only read commands.
🔧 Debug
advanced3:00remaining
Why does this ACL rule fail to restrict commands properly?
Consider the ACL rule:
ACL SETUSER eve on >pass123 ~* +@write. Why can user 'eve' still run read commands?Attempts:
2 left
💡 Hint
ACL rules add permissions but do not remove existing ones unless explicitly revoked.
✗ Incorrect
The +@write category adds write commands but does not remove read commands, so read commands remain allowed unless explicitly revoked.
❓ optimization
expert3:00remaining
Optimizing ACL rules for minimal permissions
You want to create an ACL user that can only run the commands
GET and SET on keys starting with 'app:'. Which ACL rule is the most minimal and correct?Attempts:
2 left
💡 Hint
Use explicit command names to limit permissions precisely.
✗ Incorrect
Option D grants only GET and SET commands explicitly, restricting keys to 'app:*', which is minimal and correct.