Bird
Raised Fist0
Redisquery~5 mins

ACL rules and categories in Redis - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does ACL stand for in Redis?
ACL stands for Access Control List. It is used to manage user permissions in Redis.
Click to reveal answer
beginner
Name the three main categories of ACL rules in Redis.
The three main categories are: Command categories, Key categories, and User flags.
Click to reveal answer
intermediate
What is the purpose of command categories in Redis ACL?
Command categories group Redis commands by function, allowing users to be granted or denied access to whole groups of commands easily.
Click to reveal answer
intermediate
How do key categories work in Redis ACL rules?
Key categories define patterns of keys a user can access, controlling which keys a user can read or write.
Click to reveal answer
intermediate
What are user flags in Redis ACL and give an example?
User flags are special permissions or states for users, such as 'on' to enable the user or 'allkeys' to allow access to all keys.
Click to reveal answer
Which Redis ACL rule category controls which commands a user can run?
ACommand categories
BKey categories
CUser flags
DConnection limits
What does the key category in Redis ACL specify?
AWhich keys a user can access
BWhich commands are allowed
CUser password complexity
DUser connection timeout
Which flag would you use to enable a Redis user account?
Aoff
Ballkeys
Con
Dnopass
If you want a user to access all keys without restrictions, which flag is used?
Aoff
Breadonly
Creset
Dallkeys
What is the default state of a new Redis user if no ACL rules are set?
AEnabled with full access
BDisabled
CEnabled but no command access
DEnabled with read-only access
Explain the three main categories of ACL rules in Redis and their roles.
Think about commands, keys, and user settings.
You got /3 concepts.
    Describe how you would enable a Redis user and allow them to access only read commands on specific keys.
    Consider flags, command categories, and key patterns.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of ACL rules in Redis?
      easy
      A. To control user access to commands and keys
      B. To store data persistently on disk
      C. To optimize query performance
      D. To backup the database automatically

      Solution

      1. Step 1: Understand ACL rules function

        ACL rules define what commands and keys a user can access in Redis.
      2. Step 2: Compare options with ACL purpose

        Only To control user access to commands and keys matches the control of user access, others describe unrelated features.
      3. Final Answer:

        To control user access to commands and keys -> Option A
      4. Quick Check:

        ACL rules = control access [OK]
      Hint: ACL rules control access permissions in Redis [OK]
      Common Mistakes:
      • Confusing ACL rules with data storage
      • Thinking ACL rules optimize performance
      • Mixing ACL with backup features
      2. Which of the following is the correct syntax to add a user with ACL rules in Redis?
      easy
      A. ACL SETUSER alice on >password ~* +@all
      B. ACL CREATEUSER alice on >password ~* +@all
      C. ACL ADDUSER alice on >password ~* +@all
      D. ACL NEWUSER alice on >password ~* +@all

      Solution

      1. Step 1: Recall Redis ACL command for user creation

        The correct command to create or update a user is ACL SETUSER.
      2. Step 2: Check each option's command

        Only ACL SETUSER alice on >password ~* +@all uses ACL SETUSER, others use invalid commands.
      3. Final Answer:

        ACL SETUSER alice on >password ~* +@all -> Option A
      4. Quick Check:

        Use ACL SETUSER to add/update users [OK]
      Hint: Use ACL SETUSER to add or update users [OK]
      Common Mistakes:
      • Using ACL ADDUSER instead of ACL SETUSER
      • Using ACL CREATEUSER or ACL NEWUSER which don't exist
      • Confusing command names
      3. Given the ACL rule ACL SETUSER bob on >mypassword ~cache:* +@read, which commands can user 'bob' execute?
      medium
      A. Only write commands on any keys
      B. All commands including write commands
      C. Only read commands on keys starting with 'cache:'
      D. No commands because the user is off

      Solution

      1. Step 1: Analyze the ACL rule components

        User 'bob' is enabled (on), password set, keys limited to pattern 'cache:*', and allowed commands are in category '@read'.
      2. Step 2: Determine allowed commands and keys

        Only read commands (+@read) on keys matching 'cache:*' are allowed.
      3. Final Answer:

        Only read commands on keys starting with 'cache:' -> Option C
      4. Quick Check:

        ACL keys + command categories limit access [OK]
      Hint: Check key pattern and command category for user permissions [OK]
      Common Mistakes:
      • Assuming all commands are allowed
      • Ignoring key pattern restrictions
      • Thinking user is disabled
      4. You run ACL SETUSER alice on >pass123 ~* +@write but Alice cannot execute SET commands. What is the likely issue?
      medium
      A. The user is not enabled
      B. The command category @write does not include SET
      C. The key pattern ~* is too restrictive
      D. The password is incorrect

      Solution

      1. Step 1: Verify user status and rules

        User 'alice' is enabled (on), password set, keys unrestricted (~*), commands allowed in @write category.
      2. Step 2: Check if SET is in @write category

        SET command belongs to @string category, not @write, so permission is missing.
      3. Final Answer:

        The command category @write does not include SET -> Option B
      4. Quick Check:

        Command categories must include needed commands [OK]
      Hint: Confirm command category includes the command you want [OK]
      Common Mistakes:
      • Assuming @write includes all write commands
      • Thinking key pattern restricts commands
      • Ignoring user enabled status
      5. You want to create a Redis user 'cacheAdmin' who can run all commands related to caching and keys starting with 'cache:'. Which ACL rule is correct?
      hard
      A. ACL SETUSER cacheAdmin on >secret ~cache:* +@read +@write
      B. ACL SETUSER cacheAdmin on >secret ~cache:* +@all
      C. ACL SETUSER cacheAdmin on >secret ~* +@cache
      D. ACL SETUSER cacheAdmin on >secret ~cache:* +@cache +@keyspace

      Solution

      1. Step 1: Identify key pattern restriction

        User must access keys starting with 'cache:', so pattern ~cache:* is needed.
      2. Step 2: Select command categories for caching

        Commands related to caching are in @cache and key management in @keyspace categories.
      3. Step 3: Evaluate options

        ACL SETUSER cacheAdmin on >secret ~cache:* +@cache +@keyspace correctly combines key pattern and relevant categories; others either allow too much or wrong keys.
      4. Final Answer:

        ACL SETUSER cacheAdmin on >secret ~cache:* +@cache +@keyspace -> Option D
      5. Quick Check:

        Use key pattern + relevant categories for precise access [OK]
      Hint: Combine key patterns with correct categories for precise ACL [OK]
      Common Mistakes:
      • Using ~* allows all keys, not just cache keys
      • Using +@all grants too many permissions
      • Missing key pattern restriction
      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