Ravindra BagaleCourses & study guides मराठी Track your progress

AWS IAM Administrator Best Practices: Root, MFA and Break-Glass

The root user is the master key to the whole AWS shop. You use it to open once, turn on MFA, create an admin path, then lock it away. Daily work uses IAM roles or Identity Center — never root.

What you'll learn in this chapter

  • Why root is not for daily work
  • MFA on root and humans
  • Break-glass admin pattern
  • Permission boundaries overview
  • CloudTrail and recovery habits

1. Everyday example first

Why do we need this?

Your flat’s main door key is not lent to the delivery person every day. You give a temporary building gate code instead. Root is the main door key of the AWS account.

What is it?

The root user is the email+password that created the account. It bypasses almost every IAM deny. A leak means the attacker can close your account, change billing, or wipe resources.

2. Root checklist

  1. Turn on MFA for root (hardware key preferred for production). Store backup codes offline.
  2. Do not create access keys for root.
  3. Use root only for a short list: account settings, billing contacts, changing support plan, breaking a bad SCP, recovering MFA — then sign out.
  4. Create an admin path: Identity Center Admin permission set or a tightly controlled IAM admin role — not a shared “admin” password on WhatsApp.

3. Break-glass

Why do we need this?

If SSO breaks at 2 a.m., someone still needs a way in — without making every developer an Administrator.

What is it?

  • Break-glass role/user: high power, MFA mandatory, used only in incidents, monitored by CloudTrail alarms.
  • Store credentials in a sealed process (password manager / hardware key), not in the team chat.
  • Practice assume/login once a quarter so the process works.
  • After use: rotate secrets and write a short incident note.

4. Permission boundaries (overview)

A permissions boundary is a maximum ceiling on what an identity can ever be granted. Even if someone attaches AdministratorAccess, the boundary can cap them at (for example) only their project prefix. Useful when you let builders create roles.

You do not need to master every boundary JSON tonight — know the word and that it is a safety rail for delegated admin.

5. Daily admin habits

  1. MFA on every human.
  2. CloudTrail (and preferably Organization trail) on.
  3. Least privilege permission sets; separate billing from engineering where possible.
  4. No long-lived keys on laptops for daily work — SSO or roles.
  5. Review unused users/keys monthly.

Ravindra Bagale's Tip

Beginners paste root password into shared Google Docs “for the team”. That is how accounts get mined for crypto. Use Identity Center invites instead.

6. Interview angles

Q. Why not root daily?

Unlimited power; breach = full account.

Q. Break-glass?

Rare emergency admin path with MFA and audit.

Q. Permission boundary?

Ceiling on max permissions an identity can receive.

Q. Root access keys?

Never create them.

Q. First hour on a new account?

Root MFA, no root keys, set up Identity Center or admin role, enable CloudTrail.

Try at home

  1. Confirm root MFA is on in your lab account; remove any root access keys if they exist.
  2. Next: read IAM policy JSON deeply (Effect, Action, Resource, Condition).

In short

  1. Root is rare; MFA; no root keys.
  2. Break-glass is planned emergency access.
  3. Permission boundaries cap delegated power.
  4. CloudTrail + least privilege every day.

Practice Tasks

About this scenario

Seoul Beauty Lab is a cosmetics business in Seoul. Ji-woo Park looks after its IT and cloud work. They count money in KRW and run their AWS resources in the ap-northeast-2 Region. In the tasks below you do real jobs for them using what this lesson teaches. All names, account IDs, IP addresses and numbers are made up for practice.

0 / 12

Easy Create an IAM user

Why: Every person should have their own user, never the root user.

What to do: Create an IAM user named jiwoo.

How:
  1. Read the task and decide which AWS service it is about.
  2. Write aws, then the service name, then the operation (the action word).
  3. Add each needed flag (--name) followed by its value from the task.
  4. Flags can be in any order. Click Check answer.

Easy Add a user to a group

Why: The user gets all the group's permissions at once.

What to do: Add jiwoo to the Developers group.

How:
  1. Read the task and decide which AWS service it is about.
  2. Write aws, then the service name, then the operation (the action word).
  3. Add each needed flag (--name) followed by its value from the task.
  4. Flags can be in any order. Click Check answer.

Medium Create a key pair

Why: You need a key pair to SSH into new Linux instances.

What to do: Create a key pair named seoulbeauty-key.

How:
  1. Read the task and decide which AWS service it is about.
  2. Write aws, then the service name, then the operation (the action word).
  3. Add each needed flag (--name) followed by its value from the task.
  4. Flags can be in any order. Click Check answer.

Medium List a user's MFA devices

Why: Auditors check that every user with console access has MFA.

What to do: List the MFA devices of user jiwoo.

How:
  1. Read the task and decide which AWS service it is about.
  2. Write aws, then the service name, then the operation (the action word).
  3. Add each needed flag (--name) followed by its value from the task.
  4. Flags can be in any order. Click Check answer.

Medium Attach a managed policy to a group

Why: AWS managed policies are ready-made and kept up to date by AWS.

What to do: Attach the AWS managed policy arn:aws:iam::aws:policy/ReadOnlyAccess to the group Auditors.

How:
  1. Read the task and decide which AWS service it is about.
  2. Write aws, then the service name, then the operation (the action word).
  3. Add each needed flag (--name) followed by its value from the task.
  4. Flags can be in any order. Click Check answer.

Hard Require MFA to delete

Why: Risky actions should need MFA, so a stolen password is not enough.

What to do: Deny s3:DeleteObject on arn:aws:s3:::seoulbeauty-data/* when MFA is not present (aws:MultiFactorAuthPresent is false).

How:
  1. Start with { "Version": "2012-10-17", "Statement": [ ... ] }.
  2. In each statement write Effect, Action and Resource.
  3. Give only what the task needs (least privilege).
  4. Use double quotes and commas correctly. Click Check answer.

Hard Test a policy before using it

Why: The policy simulator tells you if an action would be allowed, without doing it.

What to do: Check whether user arn:aws:iam::119519391020:user/jiwoo may call s3:GetObject.

How:
  1. Read the task and decide which AWS service it is about.
  2. Write aws, then the service name, then the operation (the action word).
  3. Add each needed flag (--name) followed by its value from the task.
  4. Flags can be in any order. Click Check answer.

Hard Deny access from outside the office

Why: An explicit Deny with aws:SourceIp blocks keys used from anywhere else.

What to do: Write one Deny statement: deny all actions (*) on all resources (*) when the source IP is NOT in 203.0.113.0/24.

How:
  1. Start with { "Version": "2012-10-17", "Statement": [ ... ] }.
  2. In each statement write Effect, Action and Resource.
  3. Give only what the task needs (least privilege).
  4. Use double quotes and commas correctly. Click Check answer.

Hard Block other Regions (SCP style)

Why: Data rules (like keeping data in one country) are enforced with aws:RequestedRegion.

What to do: Deny ec2:* on * when aws:RequestedRegion is not ap-northeast-2.

How:
  1. Start with { "Version": "2012-10-17", "Statement": [ ... ] }.
  2. In each statement write Effect, Action and Resource.
  3. Give only what the task needs (least privilege).
  4. Use double quotes and commas correctly. Click Check answer.

Hard Allow only on tagged servers

Why: Tag conditions let one team control only its own servers.

What to do: Allow ec2:StopInstances on any instance (*) only when the instance tag Team equals seoulbeauty.

How:
  1. Start with { "Version": "2012-10-17", "Statement": [ ... ] }.
  2. In each statement write Effect, Action and Resource.
  3. Give only what the task needs (least privilege).
  4. Use double quotes and commas correctly. Click Check answer.

Hard Deny requests without HTTPS

Why: aws:SecureTransport false means plain HTTP; deny it to protect data in transit.

What to do: Bucket policy: deny s3:* for everyone (*) on seoulbeauty-data and its objects when aws:SecureTransport is false.

How:
  1. Start with { "Version": "2012-10-17", "Statement": [ ... ] }.
  2. In each statement write Effect, Action and Resource.
  3. Give only what the task needs (least privilege).
  4. Use double quotes and commas correctly. Click Check answer.

Hard Put the role in the instance profile

Why: The profile is empty until you add the role to it.

What to do: Add role seoulbeauty-ec2-role to instance profile seoulbeauty-ec2-profile.

How:
  1. Read the task and decide which AWS service it is about.
  2. Write aws, then the service name, then the operation (the action word).
  3. Add each needed flag (--name) followed by its value from the task.
  4. Flags can be in any order. Click Check answer.

Revision, comparison and interview cards

Revise this lesson in a few minutes. Save the cards on your phone or download them as PNG files. The QR code on each card opens this lesson.

Revision card: Root user: rare, MFA, no keys. Your flat’s main door key is not lent to the delivery person every day. Root is that main door for the AWS account. The root user is the account email+password. It bypasses almost every IAM deny. Enable MFA, never create root access keys, use root only for a short break-glass list. First hour on a new account: root MFA, confirm no root keys, set billing contacts, enable CloudTrail, create an admin path that is not daily root. Root sign-in shows MFA challenge; IAM credential report shows no root access keys.
Revision card: Root user: rare, MFA, no keys · Download PNG · Open card page
Revision card: Break-glass admin path. When SSO is down, teams without a planned emergency admin either stay locked out or share root passwords on WhatsApp. Break-glass is a rare emergency admin role or user with MFA, tight monitoring, and a written procedure — not daily AdministratorAccess for everyone. Document who may use it, require MFA, alert on AssumeRole/console login, practice once, then keep it unused. CloudTrail shows a break-glass AssumeRole only during a drill; daily work stays on ReadOnly/PowerUser permission sets.
Revision card: Break-glass admin path · Download PNG · Open card page
Revision card: Daily IAM admin habits. Least privilege without CloudTrail is guesswork after an incident. Prefer Identity Center for humans, roles for compute, MFA everywhere, permission boundaries when delegating, and CloudTrail in every account/region you use. Turn on organization CloudTrail (or at least multi-Region trail), review IAM Access Analyzer findings, remove unused keys. A new Lambda uses an execution role; humans use portal tiles; root stays locked with MFA.
Revision card: Daily IAM admin habits · Download PNG · Open card page
Comparison: Root user vs Break-glass admin. Root user: Account owner email+password; bypasses almost all IAM denies. Break-glass admin: Planned emergency admin role/user with MFA and audit.
Comparison: Root user vs Break-glass admin · Download PNG · Open card page
Interview card: Why not use root daily?. Root has unlimited power and bypasses almost every IAM deny. A phishing or malware hit on a daily root session can close the account, change billing, or wipe resources. Use MFA on root, never create root access keys, and reserve root for a short documented list (account settings, some billing changes). Daily admin via Identity Center or an IAM admin role with MFA; root stays in a sealed process.
Interview card: Why not use root daily? · Download PNG · Open card page
Interview card: What is a break-glass admin?. A planned emergency access path (role or user) with MFA, monitoring, and a written procedure for when SSO or normal admin paths fail. Without it, outages push people to share root passwords. With it, you recover under CloudTrail instead of chaos. Practice once a quarter, alert on use, keep daily work on least-privilege permission sets.
Interview card: What is a break-glass admin? · Download PNG · Open card page

More cards: Ravi Sir's Cards.