Bird
Raised Fist0
AWScloud~5 mins

Root user vs IAM user in AWS - CLI Comparison

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
Introduction
AWS accounts have a root user with full access and IAM users with limited permissions. Understanding the difference helps keep your cloud environment safe and organized.
When you first create an AWS account and need full control to set up billing and security.
When you want to give team members access to AWS resources without sharing your root credentials.
When you want to follow security best practices by limiting the use of the root user.
When you need to assign specific permissions to users based on their job roles.
When you want to track actions performed by different users in your AWS account.
Commands
This command lists all IAM users in your AWS account so you can see who has access besides the root user.
Terminal
aws iam list-users
Expected OutputExpected
Users: - UserName: alice UserId: AIDAEXAMPLE1 - UserName: bob UserId: AIDAEXAMPLE2
This command shows details about the IAM user you are currently logged in as, confirming your identity and permissions.
Terminal
aws iam get-user
Expected OutputExpected
User: UserName: alice UserId: AIDAEXAMPLE1 Arn: arn:aws:iam::123456789012:user/alice
This command shows the AWS identity making the request, helping you verify if you are using the root user or an IAM user.
Terminal
aws sts get-caller-identity
Expected OutputExpected
Account: 123456789012 UserId: AIDAEXAMPLE1 Arn: arn:aws:iam::123456789012:user/alice
Key Concept

If you remember nothing else from this pattern, remember: always use IAM users for daily tasks and keep the root user locked away for emergencies.

Common Mistakes
Using the root user for everyday tasks
The root user has unlimited power, so using it regularly increases the risk of accidental or malicious changes.
Create IAM users with only the permissions they need and use those for daily work.
Sharing root user credentials with others
Sharing root credentials can lead to security breaches and makes it hard to track who did what.
Create individual IAM users for each person and assign proper permissions.
Summary
The root user has full access to all AWS resources and billing.
IAM users have limited permissions and are safer for daily use.
Use AWS CLI commands to check which user you are and list IAM users.

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