AWS SAA – Lecture 29: IAM Best Practices

Published on
Written by Henry Nguyen

Phase Verbs / Action Phrases

PhraseMeaning
enforce (MFA)require it — don’t make it optional
create (a user for someone)set up a separate account rather than sharing
assign (users to groups)put users into groups for permission management
generate (access keys)create programmatic credentials for CLI/SDK use
never share (credentials)never give your keys/passwords to others

Technical Vocabulary

TermDefinition
Root accountThe master AWS account — created once, should almost never be used after initial setup
IAM UserRepresents one physical person (1 user = 1 person)
Strong password policyRules that force complex, regularly changed passwords
MFAMulti-Factor Authentication — adds a second layer beyond the password
IAM RoleIdentity for AWS services (not people) to call AWS APIs
Credentials ReportAccount-level audit tool showing all users’ credential status
Access AdvisorUser-level tool showing which services a user actually accesses

IAM Best Practices — Checklist

  1. Don’t use the root account for daily tasks — only for account setup
  2. One AWS user = one physical person — never share credentials with a colleague; create a new user for them
  3. Assign users to groups and manage permissions at the group level
  4. Create a strong password policy — length, complexity, expiry, no reuse
  5. Enforce MFA for root account and all IAM users
  6. Use IAM Roles when granting permissions to AWS services (EC2, Lambda, etc.)
  7. Generate access keys for programmatic (CLI/SDK) use — treat them like passwords
  8. Audit permissions using Credentials Report and Access Advisor
  9. Never share IAM users or access keys — ever

Exam Tips

  • Root account: only used for initial AWS setup — nothing else
  • Sharing credentials = a violation of IAM best practices
  • Always use roles for services, access keys for CLI/SDK, MFA for humans
  • Credentials Report + Access Advisor = the two audit tools to know