Correct answer - "Cognito Identity Pools" : Amazon Cognito identity pools provide temporary AWS
credentials for users who are guests (unauthenticated) and for users who have been authenticated
and received a token. Identity pools provide AWS credentials to grant your users access to other
AWS services
"Cognito User Pools" - AWS Cognito User Pools is there to authenticate users for your
applications which looks similar to Cognito Identity Pools. The difference is that Identity
Pools allows a way to authorize your users to use the various AWS services and User Pools is not
about authorizing to AWS services but to provide add sign-up and sign-in functionality to web
and mobile applications
"Cognito Sync" - You can use it to synchronize user profile data across mobile devices and the
web without requiring your own backend. The client libraries cache data locally so your app can
read and write data regardless of device connectivity status
"IAM" - Not a good solution because it would require you to have a IAM user for each mobile
device which is not a good practice or manageable way of handling deployment