When deploying a web application to the cloud (e.g., AWS), which principle should guide IAM permissions assigned to the application's role?
- A.Least privilege - the application's IAM role should have only the specific permissions it needs (e.g., read from a specific S3 bucket, write to a specific DynamoDB table)
- B.Grant administrator permissions to avoid permission errors
- C.Assign permissions based on the developer's preferences
- D.Use a single shared IAM user for all applications
Why A is correct
Following least privilege in cloud IAM means if the application is compromised, the attacker's blast radius is limited to what the IAM role permits. An overly permissive role (AdministratorAccess) would allow full account takeover from a single compromised service.
Know someone studying for Web App Fundamentals? Send them this one.