Bird
0
0

A policy uses this condition: {"StringEquals": {"dynamodb:LeadingKeys": "${aws:userid}"}} but users cannot access their items. What is the most probable cause?

medium📝 Debug Q6 of 15
DynamoDB - Security and Access Control
A policy uses this condition: {"StringEquals": {"dynamodb:LeadingKeys": "${aws:userid}"}} but users cannot access their items. What is the most probable cause?
AThe IAM policy is missing the required action permissions for DynamoDB.
BThe condition key "dynamodb:LeadingKeys" requires a list, not a single string.
CThe variable "${aws:userid}" is incorrect; it should be "${aws:username}".
DThe partition key attribute name does not match "LeadingKeys".
Step-by-Step Solution
Solution:
  1. Step 1: Check Variable Usage

    "${aws:userid}" is a valid variable for user identity in IAM policies.
  2. Step 2: Validate Condition Key Usage

    "dynamodb:LeadingKeys" accepts a string or list; a single string is valid.
  3. Step 3: Consider Permissions

    Access errors often occur if the policy lacks the necessary DynamoDB action permissions (e.g., dynamodb:GetItem).
  4. Final Answer:

    The IAM policy is missing the required action permissions for DynamoDB. -> Option A
  5. Quick Check:

    Missing action permissions cause access denial [OK]
Quick Trick: Ensure both condition and action permissions are set [OK]
Common Mistakes:
MISTAKES
  • Assuming variable aws:userid is invalid
  • Believing dynamodb:LeadingKeys must be a list
  • Ignoring required DynamoDB action permissions

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More DynamoDB Quizzes