A developer is building a mobile application that allows users to register, log in, and upload photos directly to a private Amazon S3 bucket. The developer wants to use Amazon Cognito for user management and secure access. Which TWO options represent the correct configuration of Amazon Cognito services required to meet these objectives?
- Amazon Cognito User Pools to handle user sign-up, sign-in, and authentication token issuanceAnswer
- Amazon Cognito Identity Pools to federate user identity and obtain temporary AWS credentials for Amazon S3 accessAnswer
- CAmazon Cognito User Pools to directly map users to IAM roles and issue temporary S3 credentials
- DAmazon API Gateway Lambda Authorizer to validate user credentials and return temporary IAM credentials to the client
- EStatic IAM user access keys hardcoded in the application client to perform the S3 photo upload
Answer
Amazon Cognito User Pools are used to manage user authentication and token issuance, while Amazon Cognito Identity Pools are used to exchange these tokens for temporary AWS credentials to access AWS resources such as Amazon S3.
The correct options are the ones implementing Cognito User Pools for user authentication and directory management, and Cognito Identity Pools for exchanging the resulting tokens into temporary AWS credentials for S3 access.
Step-by-Step Solution
Key Concept
The separation of concerns between Amazon Cognito User Pools (authentication/user directory) and Identity Pools (authorization/temporary credentials).
Estimated Time:1m 0s