You are designing a photo-sharing mobile app. The application will store all pictures in a single Amazon S3
bucket.
Users will upload pictures from their mobile device directly to Amazon S3 and will be able to view and download
their own pictures directly from Amazon S3.
You want to configure security to handle potentially millions of users in the most secure manner possible. What
should your server-side application do when a new user registers on the photo-sharing mobile application?
A.
Create an IAM user. Update the bucket policy with appropriate permissions for the IAM user. Generate an
access key and secret key for the IAM user, store them in the mobile app and use these credentials to
access Amazon S3.
B.
Create an IAM user. Assign appropriate permissions to the IAM user. Generate an access key and secret
key for the IAM user, store them in the mobile app and use these credentials to access Amazon S3.
C.
Create a set of long-term credentials using AWS Security Token Service with appropriate permissions.
Store these credentials in the mobile app and use them to access Amazon S3.
D.
Record the user’s information in Amazon RDS and create a role in IAM with appropriate permissions. When
the user uses their mobile app, create temporary credentials using the AWS Security Token Service
“AssumeRole” function. Store these credentials in the mobile app’s memory and use them to access
Amazon S3. Generate new credentials the next time the user runs the mobile app.
E.
Record the user’s information in Amazon DynamoDB. When the user uses their mobile app, create
temporary credentials using AWS Security Token Service with appropriate permissions. Store these
credentials in the mobile app’s memory and use them to access Amazon S3. Generate new credentials the
next time the user runs the mobile app.
E
E. Use DynamoDB instead of RDS, as it can automatically scale for millions of users. (RDS has push-button scaling)
D – A million user records is not a problem for RDS. You could store that in a small database.
D. You need to create IAM role to assume. That is missing in Option E.