You are a developer for an application.
The application needs to make use of AWS for managing authentication.
The users should be able to authenticate using identity providers such as Facebook and Google.
At the same time, you also need to enable guest user access to limited resources.
How can you achieve this in the best possible way?
Click on the arrows to vote for the correct answer
A. B. C. D.Answer - B.
The AWS Documentation mentions the following.
Amazon Cognito identity pools support both authenticated and unauthenticated identities.
Authenticated identities belong to users who are authenticated by any supported identity provider.
Unauthenticated identities typically belong to guest users.
Option A is incorrect since this would be too much of a maintenance overhead to maintain the users.
Option C is incorrect since we don't need an IAM policy access over here.
Option D is incorrect since we don't need Sync capabilities here.
For more information on Identity pools, please refer to the below URL-
https://docs.aws.amazon.com/cognito/latest/developerguide/identity-pools.htmlThe best possible way to manage authentication for an application with identity providers such as Facebook and Google while also enabling guest user access to limited resources would be to use AWS Cognito and identity pools with both authenticated and unauthenticated identities.
Option B is the correct answer because it provides a solution that is designed to handle authentication and user management, with a high degree of flexibility, scalability, and security.
AWS Cognito is a fully managed identity service that allows developers to add user sign-up, sign-in, and access control to mobile and web applications quickly and easily. Identity pools in Cognito are used to grant users access to AWS resources, and they can be used to manage both authenticated and unauthenticated identities.
By using an identity pool with both authenticated and unauthenticated identities, you can allow users to sign in with their Facebook or Google accounts while also allowing guest access to certain resources. Guest users can be granted limited access to the application's resources without requiring them to sign in or create an account.
Option A (Use IAM users and groups) is not the best possible solution because it is designed for managing access to AWS resources and does not provide authentication services for external identity providers.
Option C (Use IAM policy) is also not the best possible solution because it is designed to manage access to AWS resources and does not provide authentication services for external identity providers.
Option D (Use AWS Cognito App Sync) is not the best possible solution because it is designed for offline data synchronization between devices and does not provide authentication services for external identity providers.
Therefore, the best possible way to achieve the given requirements is to use AWS Cognito and identity pools with both authenticated and unauthenticated identities.