<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Binamra Pandey</title>
    <description>The latest articles on DEV Community by Binamra Pandey (@binamra).</description>
    <link>https://dev.to/binamra</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4101464%2Ffba37261-e4e5-48ca-9ace-a5412ac1d30e.jpg</url>
      <title>DEV Community: Binamra Pandey</title>
      <link>https://dev.to/binamra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/binamra"/>
    <language>en</language>
    <item>
      <title>AWS IAM Explained: Users, Groups, and Roles</title>
      <dc:creator>Binamra Pandey</dc:creator>
      <pubDate>Sun, 30 Aug 2026 15:13:40 +0000</pubDate>
      <link>https://dev.to/binamra/aws-iam-explained-users-groups-and-roles-3174</link>
      <guid>https://dev.to/binamra/aws-iam-explained-users-groups-and-roles-3174</guid>
      <description>&lt;h2&gt;
  
  
  What is IAM Users and Groups?
&lt;/h2&gt;

&lt;p&gt;First, let's understand what IAM is in AWS. IAM stands for &lt;strong&gt;Identity and Access Management&lt;/strong&gt;, and it is a service in AWS that lets us control who can access what kind of resources in our AWS account.&lt;/p&gt;

&lt;p&gt;Now that we know what IAM is, let's talk about Users and Groups.&lt;/p&gt;

&lt;p&gt;An IAM User is an identity you create for a person or application that needs to interact with your AWS account. Each user gets their own credentials, so you know exactly who did what.&lt;/p&gt;

&lt;p&gt;An IAM Group is simply a collection of users. Instead of assigning permissions to each user one by one, you can put users into a group and assign permissions to the group. Every user in that group automatically gets those permissions.&lt;/p&gt;

&lt;p&gt;For example, if you have five developers who all need the same access to S3, you don't attach the policy five times. You create a "Developers" group, attach the policy once, and add all five users to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is IAM necessary
&lt;/h2&gt;

&lt;p&gt;Without IAM, anyone with access to your AWS account would have full control over everything in it. If you want to share your aws account or have another user for different purposes you don't have share your root user account instead, you can create a completely new users for specific purpose and attached that user with required permission to perform that specific task only.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a IAM user
&lt;/h2&gt;

&lt;p&gt;To create a IAM user for your aws, login to your (root) account. And Search for IAM in the search bar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnosr2j4vbhzd1vatafvz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnosr2j4vbhzd1vatafvz.png" alt=" " width="800" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that where you are inside IAM dashboard, click on IAM users and when IAM users page loads successfully, click on Create User&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2ihimu28u1s99fq1sxz0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2ihimu28u1s99fq1sxz0.png" alt=" " width="799" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you click on create user, you'll be asked to enter some information regarding this new user.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk8lywml1j4fxluaoon6z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk8lywml1j4fxluaoon6z.png" alt=" " width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Afer that, you'll be asked to set permission for the new user. Here, you'll have 3 options. You can either attach your this newly created IAM user to the group or copy all the permission from another user. Or you can also set inline attach policy directly to the user.&lt;/p&gt;

&lt;p&gt;P.S: An inline policy is a policy that's embedded directly into a single IAM user, group, or role, rather than existing as a separate, standalone policy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5n0w8knq30qfbo8i1jbi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5n0w8knq30qfbo8i1jbi.png" alt=" " width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you set permission for this user, you'll be asked to review them and finally you can create the IAM user.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffgsg3pnw79ibplqxa35d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffgsg3pnw79ibplqxa35d.png" alt=" " width="799" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3m2i6qzcrt0gl19reztu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3m2i6qzcrt0gl19reztu.png" alt=" " width="800" height="273"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is how you can create IAM user.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating IAM group
&lt;/h2&gt;

&lt;p&gt;Now, to create a IAM group, from the IAM dashboard click on IAM users group. Type the name of your group and attach the required permission policies&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg0n6vemhvnyyzbg72c6t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg0n6vemhvnyyzbg72c6t.png" alt=" " width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that, click on create group button, it'll create that group for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffmxfw68i6dk9h9bf7v8z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffmxfw68i6dk9h9bf7v8z.png" alt=" " width="691" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can assign multiple users to single groups depending on the required permission.&lt;/p&gt;

&lt;h2&gt;
  
  
  IAM Roles for services
&lt;/h2&gt;

&lt;p&gt;An IAM Role is similar to an IAM user in the sense that it's an identity with permissions attached to it, but it doesn't have permanent credentials like a username and password. Instead, a role is assumed temporarily by whoever or whatever needs it, and AWS hands out short term credentials that expire automatically.&lt;/p&gt;

&lt;p&gt;This is mainly used when a service, like EC2 or Lambda, needs to access other resources in your aws account.&lt;/p&gt;

&lt;p&gt;For example, say you have an EC2 instance running an application that needs to read files from an S3 bucket. You could create an IAM user, generate access keys and hardcode them into your application, but this isn't a good practice since those keys don't expire and if your instance ever gets compromised, the attacker gets those same keys too.&lt;/p&gt;

&lt;p&gt;Instead, you attach an IAM Role to the EC2 instance. AWS automatically gives temporary credentials to the instance, your application uses them to access S3, and there's no key that you need to manage or rotate. Once the instance is terminated, that access goes away with it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk9z6oert6dmhdlpq5k6z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk9z6oert6dmhdlpq5k6z.png" alt=" " width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>automation</category>
      <category>security</category>
    </item>
  </channel>
</rss>
