DEV Community

Anupa Supul
Anupa Supul

Posted on

Why Doesn't AWS Want Me Using the Root Account? Understanding IAM


The day I created my AWS account, I was excited to start exploring cloud computing.

I logged in, looked around the AWS Management Console, and couldn't wait to launch my first EC2 instance.

But before I did anything, I noticed something interesting.

AWS kept reminding me:

"Don't use your root account for everyday tasks."

At first, I didn't understand why.

I remember thinking,

"It's my account. Why shouldn't I use it?"

If the root account has the highest level of access, wouldn't it make sense to use it all the time?

The more I learned, the more I realized AWS wasn't trying to make things difficult.

It was actually trying to protect me.

That curiosity introduced me to one of the most important AWS services: IAM (Identity and Access Management).

My First Thought

Coming from web development, I was used to creating one account and using it for everything.

So when AWS suggested creating another user instead of using the root account, it felt unnecessary.

I thought,

"I'll be the only one using this account anyway."

But then I imagined something.

What if someone somehow got access to my root account?

They wouldn't just have access to one EC2 instance.

They could:

Delete every resource
Remove databases
Change billing settings
Create new users
Close the AWS account

Suddenly, AWS's warning started making a lot more sense.

So... What Is the Root Account?

The root account is the account you create when you first sign up for AWS.

It's like the master key to everything inside your AWS account.

With it, you can:

Access every AWS service
Change account settings
Manage billing
Create or delete users
Delete almost every resource

Because it has unlimited permissions, AWS recommends using it only when absolutely necessary.

For everyday work, there's a better option.

That's where IAM comes in.

What Is IAM?

The simplest way I understand IAM is this:

IAM helps you decide who can access your AWS account and what they're allowed to do.

Instead of everyone using the powerful root account, you create separate IAM users with only the permissions they need.

That immediately reminded me of something we use in everyday life.

The Analogy That Helped Me

Imagine you own a company.

You probably wouldn't hand your master office key to every employee.

Instead:

The manager gets access to most areas.
The accountant can access financial records.
The receptionist can access only the front desk.
Visitors can enter only the waiting area.

Everyone has different responsibilities.

Everyone gets different levels of access.

IAM works exactly the same way.

Instead of giving every user full control, AWS lets you decide exactly what each person can do.

The Four IAM Concepts That Finally Clicked for Me

When I first saw IAM documentation, I came across four terms over and over again:

Users
Groups
Roles
Policies

At first, they all sounded similar.

But once I understood their purpose, they became much easier to remember.

👤 IAM Users

An IAM User represents a person or an application that needs access to AWS.

For example:

Me
Another developer
A CI/CD pipeline

Instead of sharing one account, everyone gets their own login.

That makes AWS much safer and easier to manage.

👥 IAM Groups

Imagine I have five developers working on the same project.

Giving each person the same permissions one by one would be repetitive.

Instead, I can create a group called:

Developers

Then simply add users to that group.

Anyone who joins automatically receives the same permissions.

That felt like a much smarter approach.

📜 IAM Policies

Policies are simply permission rules.

They answer questions like:

Can this user launch an EC2 instance?
Can they upload files to S3?
Can they delete databases?

Without a policy, an IAM user can't do very much.

Policies define what is allowed and what isn't.

🎭 IAM Roles

Roles confused me the most at first.

Then I learned they're a little different from users.

Instead of representing a person, a role is usually assumed temporarily by an AWS service or an application.

For example:

An EC2 instance might need permission to upload files to S3.

Instead of storing secret access keys on the server, AWS lets the EC2 instance assume an IAM Role.

That role gives it only the permissions it needs.

Once I understood that, roles made much more sense.

The Principle That Stuck With Me

While learning IAM, I came across an idea called the Principle of Least Privilege.

It simply means:

Only give the permissions that are actually needed. Nothing more.

If someone only needs to read files from S3...

Don't give them permission to delete S3 buckets.

If someone only needs to view CloudWatch logs...

Don't give them administrator access.

It's a simple idea, but it makes a huge difference when it comes to security.

How I Plan to Use IAM

Now that I understand IAM better, here's how I plan to use my AWS account:

Keep the root account safe.
Enable Multi-Factor Authentication (MFA).
Create an IAM user for everyday work.
Give only the permissions I actually need.
Use roles whenever AWS services need to communicate securely.

It feels like a much safer way to work.

What Changed My Perspective

Before learning AWS, I thought security started after deploying an application.

Now I realize it starts much earlier.

It starts with something as simple as deciding which account you log in with.

IAM taught me that good security isn't about making things complicated.

It's about giving the right people the right access—and nothing more.

That lesson will probably stay with me long after I finish learning AWS.

Final Thoughts

When I first saw AWS warning me not to use the root account, I honestly thought it was just another recommendation that I could ignore.

Now I understand why AWS takes it so seriously.

The root account is incredibly powerful.

Using it every day isn't just unnecessary—it increases the risk if something ever goes wrong.

Learning IAM helped me understand that cloud security isn't only about firewalls or encryption.

Sometimes it starts with a simple decision:

Who should have access, and how much access do they really need?

For me, IAM was one of those topics that looked boring at first but turned out to be one of the most practical lessons I've learned in AWS.

Top comments (0)