Understanding AWS IAM – Users, Groups, Roles, and Policies

KirtiKirti
4 min read

When you're working with AWS, it's very important to control who can access what in your cloud environment. That’s where IAM, or Identity and Access Management, comes in. If you're confused about terms like IAM Users, Groups, Roles, and Policies, you're not alone. Many beginners feel the same way. But once you understand how they work together, it all starts to make sense.

In this blog, we’ll explain each IAM part in simple words and show you how they help keep your AWS account secure.

What is IAM in AWS?

IAM is a service in AWS that helps you manage access to your AWS resources. It lets you decide:

  • Who can log in to your AWS account,

  • What they can do (like read, write, delete),

  • And which resources they can use (like EC2, S3, RDS).

IAM works across your entire AWS account, no matter what region you’re using. It's like a security guard at the entrance of your cloud checking everyone’s ID and permission before letting them in.

IAM Users: People or Applications That Need Access

An IAM User is someone that you create in AWS so they can log in and use your AWS services. Think of it like creating a user account on your laptop for someone else.

Each IAM user can have a username and password (to log in to the AWS Console) and access keys (to connect from the command line or through an app).

Let’s say you hire a developer named Priya. You can create an IAM user for her so she can log in with her own credentials and work on EC2 and S3. This way, everyone uses their own login and not your main root account.

IAM Groups: Organize Users and Give Them the Same Permissions

An IAM Group is a way to organize multiple users and give them the same permissions all at once. This saves time and keeps things simple.

For example, if you have 5 developers and they all need the same access to EC2 and S3, you can create a group called Developers, add all the users into it, and give the group EC2 and S3 permissions. Now all the users in that group can use EC2 and S3 without setting permissions one by one.

Groups don’t log in or do anything by themselves. They are just used to manage permissions more easily.

IAM Roles: Temporary Access Without Login

An IAM Role is like a special pass that someone or something else can use for temporary access. Roles are mostly used by AWS services like EC2, Lambda, or other accounts not by real people.

The big difference between a user and a role is this:
A user has login details and long-term access. A role does not have a username or password. Instead, someone "assumes" a role and gets temporary access for a short time.

For example, if your EC2 instance needs to upload files to an S3 bucket, you don’t want to give it access keys (that’s not safe). Instead, you create a role with permission to access S3 and attach it to the EC2 instance. AWS then gives the instance temporary access automatically and securely.

Roles are also useful if someone from another AWS account needs temporary access to your resources. You can let them assume a role, without creating a user for them.

IAM Policies: Set the Rules

IAM Policies are the actual rules that tell AWS what actions someone is allowed (or not allowed) to do.

Policies are written in JSON (a format used for data), but don’t worry you don’t always have to write them from scratch. AWS gives you many ready-made policies that you can just attach.

For example, if you want someone to only view S3 buckets but not make changes, you can attach the AmazonS3ReadOnlyAccess policy to their user or group.

You can attach policies to users, groups, or roles.
The policy is what actually gives permission like a rulebook that says: “This user can do this with that service.”

Conclusion

IAM might seem a little confusing at first, but it’s actually a smart way to keep your AWS account secure and well-organized.

Think of it like this:

  • IAM Users are for people.

  • IAM Groups are for organizing people.

  • IAM Roles are for services or temporary access.

  • IAM Policies are the permission rules.

If you understand these four parts, you can control access in AWS like a pro. Try creating users, groups, and roles in your AWS account and play around with permissions. That’s the best way to learn.

0
Subscribe to my newsletter

Read articles from Kirti directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Kirti
Kirti

Hi, I'm KirtiI’m actively learning AWS, Python automation, and cloud best practices through real-world projects. Every challenge is a step forward, and every solution is something worth sharing. On this blog, you’ll find: Simplified guides on AWS core services Lessons from my journey breaking into cloud engineering I believe in learning in public—and this blog is where I document my progress, challenges, and wins.