Bird
Raised Fist0

Which JSON snippet correctly defines an API key with read-only access to the "products" index?

easy📝 Syntax Q3 of Q15
Elasticsearch - Security
Which JSON snippet correctly defines an API key with read-only access to the "products" index?
A{ "name": "read-products", "role_descriptors": { "read_role": { "index": [{ "names": ["products"], "privileges": ["read"] }] } } }
B{ "name": "read-products", "role_descriptors": { "read_role": { "cluster": ["read"], "index": ["products"] } } }
C{ "name": "read-products", "role_descriptors": { "read_role": { "index": { "names": "products", "privileges": "read" } } } }
D{ "name": "read-products", "role_descriptors": { "read_role": { "cluster": ["all"], "index": [{ "names": ["products"], "privileges": ["write"] }] } } }
Step-by-Step Solution
Solution:
  1. Step 1: Review correct role descriptor format

    The role_descriptors field requires an object with index privileges as an array of objects specifying names and privileges.
  2. Step 2: Analyze options

    { "name": "read-products", "role_descriptors": { "read_role": { "index": [{ "names": ["products"], "privileges": ["read"] }] } } } correctly uses an array for index with names and privileges arrays. { "name": "read-products", "role_descriptors": { "read_role": { "cluster": ["read"], "index": ["products"] } } } incorrectly assigns cluster privileges and index as a string array. { "name": "read-products", "role_descriptors": { "read_role": { "index": { "names": "products", "privileges": "read" } } } } uses incorrect types (strings instead of arrays). { "name": "read-products", "role_descriptors": { "read_role": { "cluster": ["all"], "index": [{ "names": ["products"], "privileges": ["write"] }] } } } grants cluster all and write privileges, which is incorrect for read-only.
  3. Final Answer:

    Option A -> Option A
  4. Quick Check:

    Role descriptors require arrays for names and privileges [OK]
Quick Trick: Use arrays for index names and privileges in role descriptors [OK]
Common Mistakes:
MISTAKES
  • Using strings instead of arrays for names or privileges
  • Assigning cluster privileges instead of index privileges
  • Granting write instead of read privileges for read-only keys

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Elasticsearch Quizzes