Bird
Raised Fist0
AWScloud~3 mins

Root user vs IAM user in AWS - When to Use Which

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
The Big Idea

What if one lost key could unlock your entire cloud account? Learn how to avoid that risk!

The Scenario

Imagine you have a big office building where only one person has the master key to every room, and everyone else has their own smaller keys for specific rooms.

Now, if everyone uses the master key for everything, it's hard to keep track of who did what or to stop someone from entering places they shouldn't.

The Problem

Using the master key (root user) for all tasks is risky and confusing.

If someone makes a mistake or causes damage, it's hard to find out who did it.

Also, if the master key is lost or stolen, the whole building's security is at risk.

The Solution

IAM users are like giving each person their own key with limited access.

This way, you control who can enter which rooms and track their actions easily.

The root user is kept safe for only the most important tasks.

Before vs After
Before
Use root user credentials for everything
After
Create IAM users with specific permissions for daily tasks
What It Enables

It enables secure, organized, and trackable access control for your cloud resources.

Real Life Example

A company gives developers IAM user accounts with access only to the servers they manage, while the root user is reserved for billing and account settings.

Key Takeaways

Root user has full access but is risky to use regularly.

IAM users have limited permissions tailored to their roles.

Using IAM users improves security and accountability.

Practice

(1/5)
1. Which AWS user has full access to all resources and billing information by default?
easy
A. IAM user with admin permissions
B. Federated user
C. IAM user with read-only permissions
D. Root user

Solution

  1. Step 1: Understand AWS user types

    The root user is the original account owner with full control over all AWS services and billing.
  2. Step 2: Compare with IAM users

    IAM users have permissions assigned and do not have full access by default.
  3. Final Answer:

    Root user -> Option D
  4. Quick Check:

    Full access = Root user [OK]
Hint: Root user = full control, IAM users = limited [OK]
Common Mistakes:
  • Confusing IAM admin user with root user
  • Thinking IAM users have full billing access by default
  • Assuming federated users have root privileges
2. Which of the following is the correct way to create an IAM user in AWS Management Console?
easy
A. Use AWS Billing dashboard to add a user
B. Go to IAM > Users > Add user, then set permissions
C. Log in as root user and create a new AWS account
D. Create a new user under AWS Organizations

Solution

  1. Step 1: Locate IAM user creation

    IAM users are created in the IAM service under Users > Add user.
  2. Step 2: Understand permissions assignment

    After adding a user, you assign permissions directly or via groups.
  3. Final Answer:

    Go to IAM > Users > Add user, then set permissions -> Option B
  4. Quick Check:

    IAM user creation = IAM console [OK]
Hint: Create IAM users only in IAM console, not billing or orgs [OK]
Common Mistakes:
  • Trying to create IAM users in Billing dashboard
  • Confusing AWS Organizations with IAM user creation
  • Creating new AWS accounts instead of IAM users
3. If an IAM user tries to delete an S3 bucket but gets an Access Denied error, what is the most likely reason?
medium
A. The IAM user does not have delete permissions for the bucket
B. The root user disabled S3 service
C. The bucket is owned by another AWS account
D. IAM users cannot delete S3 buckets

Solution

  1. Step 1: Check IAM user permissions

    IAM users need explicit permissions to delete S3 buckets; lacking these causes Access Denied.
  2. Step 2: Evaluate other options

    Root user cannot disable S3 service; buckets owned by others can cause issues but usually different errors; IAM users can delete buckets if permitted.
  3. Final Answer:

    The IAM user does not have delete permissions for the bucket -> Option A
  4. Quick Check:

    Access Denied = missing permissions [OK]
Hint: Access Denied usually means missing permission, not service disabled [OK]
Common Mistakes:
  • Assuming root user disables services
  • Believing IAM users cannot delete buckets at all
  • Ignoring bucket ownership issues
4. An administrator accidentally used the root user credentials for daily tasks and now wants to improve security. What should they do to fix this?
medium
A. Create IAM users with appropriate permissions and avoid using root user for daily tasks
B. Delete the root user and use only IAM users
C. Share root user credentials with team members for convenience
D. Disable MFA on root user to simplify login

Solution

  1. Step 1: Understand root user best practices

    Root user should be used only for account setup and billing, not daily tasks.
  2. Step 2: Implement IAM users for daily work

    Create IAM users with limited permissions for daily tasks to improve security.
  3. Final Answer:

    Create IAM users with appropriate permissions and avoid using root user for daily tasks -> Option A
  4. Quick Check:

    Use IAM users daily, root only for emergencies [OK]
Hint: Use IAM users daily; keep root user locked down [OK]
Common Mistakes:
  • Trying to delete root user (impossible)
  • Sharing root credentials widely
  • Disabling MFA on root user
5. A company wants to restrict billing access to only the root user but allow IAM users to manage resources. Which AWS best practice should they follow?
hard
A. Create IAM users with billing permissions and avoid using root user
B. Grant all IAM users full admin access including billing
C. Use the root user only for billing and create IAM users with resource permissions
D. Disable root user and use IAM users for all tasks

Solution

  1. Step 1: Understand billing access control

    Billing access is sensitive and should be limited to the root user for security.
  2. Step 2: Assign resource management to IAM users

    IAM users should have permissions to manage resources but not billing.
  3. Final Answer:

    Use the root user only for billing and create IAM users with resource permissions -> Option C
  4. Quick Check:

    Billing = root only; resource management = IAM users [OK]
Hint: Keep billing to root user; IAM users manage resources [OK]
Common Mistakes:
  • Giving IAM users billing permissions unnecessarily
  • Disabling root user (not possible)
  • Granting full admin to all IAM users