IAM Users, Groups, and Roles
Master the core of AWS security: create users and groups, attach managed policies, create a role for EC2, and verify least-privilege access.
1. AWS Console → search "IAM" → open IAM
2. Review the dashboard: users, roles, policies, account aliases
3. Note the security recommendations (MFA on root, etc.)
1. IAM → User groups → Create group
2. Group name: Developers
3. Attach policy: filter for "AmazonS3ReadOnlyAccess" and check it
4. Create user group
1. IAM → Users → Create user
2. User name: dev-alice
3. Select "Provide user access to the AWS Management Console" (optional for lab)
4. Set console password or autocreate
5. Next → Add user to group: Developers
6. Create user
1. IAM → Roles → Create role
2. Trusted entity: AWS service → EC2
3. Attach policy: AmazonS3ReadOnlyAccess
4. Role name: ec2-s3-readonly → Create role
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {"Service": "ec2.amazonaws.com"},
"Action": "sts:AssumeRole"
}]
}
1. IAM → Policy Simulator (left menu)
2. User: dev-alice
3. Service: S3, Actions: GetObject, PutObject
4. Run simulation: GetObject = allowed, PutObject = denied
This proves least privilege without logging in as the user.
1. IAM → Users → dev-alice → Delete
2. IAM → User groups → Developers → Delete group
3. IAM → Roles → ec2-s3-readonly → Delete
Order matters: you cannot delete a group that still contains users.