Company B is launching a new game app for mobile devices. Users will log into the game using
their existing social media account. To streamline data capture, Company B would like to directly
save player data and scoring information from the mobile app to a DynamoDB table named
ScoreData. When a user saves their game, the progress data will be stored to the GameState S3
bucket. What is the best approach for storing data to DynamoDB and S3?
A.
Use Login with Amazon allowing users to sign in with an Amazon account providing the mobile
app with access to the ScoreData DynamoDB table and the GameState S3 bucket.
B.
Use temporary security credentials that assume a role providing access to the ScoreData
DynamoDB table and the GameState S3 bucket using web identity federation
C.
Use an IAM user with access credentials assigned a role providing access to the ScoreData
DynamoDB table and the GameState S3 bucket for distribution with the mobile app
D.
Use an EC2 instance that is launched with an EC2 role providing access to the ScoreData
DynamoDB table and the GameState S3 bucket that communicates with the mobile app via web
services
Explanation:
The requirements state “Users will log into the game using their existing social media account to
streamline data capture.” This is what Cognito is used for, ie Web Identity Federation. Amazon
also recommend to “build your app so that it requests temporary AWS security credentials
dynamically when needed using web identity federation.”