AWS Certified Security – Specialty — Question 492
An application uses Amazon Cognito to manage end users' permissions when directly accessing AWS resources, including Amazon DynamoDB. A new feature request reads as follows:
Provide a mechanism to mark customers as suspended pending investigation or suspended permanently. Customers should still be able to log in when suspended, but should not be able to make changes.
The priorities are to reduce complexity and avoid potential for future security issues.
Which approach will meet these requirements and priorities?
Answer options
- A. Create a new database field ג€suspended_statusג€ and modify the application logic to validate that field when processing requests.
- B. Add suspended customers to second Cognito user pool and update the application login flow to check both user pools.
- C. Use Amazon Cognito Sync to push out a ג€suspension_statusג€ parameter and split the IAM policy into normal users and suspended users.
- D. Move suspended customers to a second Cognito group and define an appropriate IAM access policy for the group.
Correct answer: D
Explanation
Moving suspended users to a dedicated Amazon Cognito group allows you to easily map them to a specific IAM role with read-only permissions, ensuring secure and centralized access control. This approach minimizes complexity and avoids potential security loopholes that might arise from custom application-level validation. Other options, such as managing multiple user pools or relying on application logic checks, significantly increase architectural complexity and the risk of misconfiguration.