Amazon Cognito User Pools for API Gateway Authentication
Short answer
A Configure an Amazon Cognito user pool for user authentication and implement Amazon API Gateway REST APIs with a Cognito authorizer.
Question
Key Takeaways
The core concept is distinguishing between authentication (User Pools) and authorization/access to AWS resources (Identity Pools), with managed authorizers providing superior operational efficiency over custom Lambda functions.
This question addresses the most operationally efficient way to authenticate users for RESTful APIs using Amazon Cognito User Pools and API Gateway.
Common mistake: Candidates often confuse Identity Pools with User Pools or choose Lambda Authorizers, failing to recognize that User Pools are specifically designed for sign-in management and that managed integrations reduce operational overhead.
Expert Analysis
Why the Answer Is Correct
Option A is correct because Amazon Cognito User Pools are explicitly designed for user authentication and identity management. When integrated with API Gateway's built-in Cognito Authorizer, this setup provides a highly scalable, managed solution that eliminates the need to write and maintain custom code for handling user sign-ins and token validation. This directly meets the requirement for "most operational efficiency" by leveraging fully managed services.
Why the Other Options Are Wrong
Option B is incorrect because Identity Pools (Federated Identities) are used for granting temporary AWS credentials to access AWS services, not for authenticating end-users for application access. Option C involves a Lambda Authorizer, which requires managing serverless code, handling cold starts, and maintaining the logic, resulting in higher operational overhead compared to the native Cognito integration. Option D suggests using IAM users for web app authentication, which is an anti-pattern due to the complexity of credential management and security risks associated with long-lived static credentials.
Community Comment Notes
The community consensus strongly supports Option A. As noted by user 'stephensimudemy', "User pools is for Authentication and user management," highlighting the primary function of the service. Another commenter, 'sandordini', clarified the distinction: "Identity pools are for authorization... User pools are for authentication." While one user argued for HTTP APIs (Option B), they overlooked the fundamental error of using Identity Pools for authentication, reinforcing why A is the only valid choice among the options provided.
Official Reference
https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-assigning-roles.html
This link opens the official vendor documentation in a new tab.
Exam Strategy
Always look for keywords like "operational efficiency" when choosing between managed services and custom code; managed integrations (like API Gateway + Cognito Authorizer) typically win over Lambda-based solutions unless complex custom logic is strictly required.
Frequently Asked Questions
Why not use Identity Pools for user authentication?
Is Lambda Authorizer less efficient than Cognito Authorizer?
Community Votes
100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 7 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 7
-
stephensimudemy 👍 7 Answered AUser pools is for Authentication and user management
-
sandordini 👍 6 Answered AUser pools are for authentication. Your app users can sign in through the user pool, Identity pools are for authorization, give them access to other AWS services.
-
[Removed] 👍 3 Answered Auser pool vs identity pool: https://repost.aws/knowledge-center/cognito-user-pools-identity-pools
-
NayeraB 👍 2 Answered BB offers more operational efficiency imo
-
zdi561 👍 1 Answered AWhen comparing operation efficiency, a Cognito authorizer in AWS API Gateway is generally considered more performant than a Lambda authorizer for basic authentication checks, as Cognito is a managed service optimized for user authentication, while a Lambda authorizer introduces an additional layer of processing with potential cold start overhead, making it better suited for complex, custom authorization logic. But Lambda is more flexible
Show 2 more comments
-
Andy_09 👍 5Option A
-
chefKC 👍 2Answer is A
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All SAA-C03 Questions
Access 120 questions with complete answers and detailed explanations.
View Full SAA-C03 Practice Test →