Lesson 04 β IAM Groups
Learning Path
βοΈ Phase 2 β AWS Cloud Security
π Module 02 β Identity & Access Management (IAM)
π― Lesson Objective
Section titled βπ― Lesson ObjectiveβBy the end of this lesson, you will be able to:
- Understand the purpose of IAM Groups.
- Create and manage IAM Groups.
- Add and remove users from Groups.
- Apply permissions using Groups instead of individual users.
- Implement Role-Based Access Control (RBAC).
- Manage enterprise access efficiently.
π Lesson Information
Estimated Time: 3 Hours
Difficulty: Beginner
Prerequisites: Lesson 03 β IAM Users
Hands-on Lab: Yes
Assignment: Yes
πΌ Business Value
Section titled βπΌ Business ValueβImagine CloudNova Technologies has:
- 600 Employees
- 80 Developers
- 40 Cloud Engineers
- 20 Security Engineers
- 15 Finance Users
- 12 Auditors
If permissions are assigned directly to every individual user:
- Administration becomes difficult.
- Human errors increase.
- Auditing becomes complex.
- Employees receive inconsistent permissions.
IAM Groups solve this problem by allowing permissions to be assigned once and inherited by every member of the group.
π’ In the Company
Section titled βπ’ In the CompanyβCloudNova Technologies has grown rapidly.
Currently every employee has permissions assigned directly to their IAM User.
The CISO identifies several problems:
- Difficult to manage
- Inconsistent permissions
- Users with excessive access
- Time-consuming onboarding
Your task is to redesign access using IAM Groups.
π What is an IAM Group?
Section titled βπ What is an IAM Group?βAn IAM Group is a collection of IAM Users.
Permissions are assigned to the Group rather than individual users.
Every user in the Group automatically inherits those permissions.
π Why Use Groups?
Section titled βπ Why Use Groups?βWithout Groups
Developer 1 β βββ EC2 Access βββ S3 Access βββ CloudWatch Access
Developer 2 β βββ EC2 Access βββ S3 Access βββ CloudWatch Access
Developer 3 β βββ EC2 Access βββ S3 Access βββ CloudWatch AccessPermissions must be managed separately.
With Groups
Developers Group β βββ EC2 Access βββ S3 Access βββ CloudWatch Access β βββββββββββΌββββββββββ βΌ βΌ βΌ Alice John DavidOne change updates permissions for every developer.
π Benefits of IAM Groups
Section titled βπ Benefits of IAM Groupsβ- Easier administration
- Consistent permissions
- Simplified onboarding
- Simplified offboarding
- Easier auditing
- Supports Least Privilege
- Reduces human error
π CloudNova Department Structure
Section titled βπ CloudNova Department StructureβFor this course, CloudNova uses the following Groups.
| Group | Purpose |
|---|---|
| Cloud-Admins | AWS Administrators |
| Cloud-Engineers | Infrastructure |
| Developers | Application Deployment |
| Security-Team | Security Services |
| SOC-Team | Monitoring |
| Finance | Billing |
| Auditors | Read-Only Access |
π‘ Role-Based Access Control (RBAC)
Section titled βπ‘ Role-Based Access Control (RBAC)βRBAC assigns permissions based on job roles rather than individuals.
Example:
Employee
β
Department
β
IAM Group
β
Permissions
β
AWS ResourcesInstead of assigning permissions directly to Alice, assign Alice to the Developers Group.
π€ IAM Users vs IAM Groups
Section titled βπ€ IAM Users vs IAM Groupsβ| IAM User | IAM Group |
|---|---|
| Individual Identity | Collection of Users |
| Has Credentials | No Credentials |
| Can Sign In | Cannot Sign In |
| Represents One Person | Represents a Team |
| Receives Permissions | Shares Permissions |
π Enterprise Group Design
Section titled βπ Enterprise Group DesignβCloudNova IAM Structure
CloudNova
β
βββ Cloud-Admins
βββ Cloud-Engineers
βββ Developers
βββ Security-Team
βββ SOC-Team
βββ Finance
βββ AuditorsEvery employee belongs to one or more Groups.
π« Common Mistakes
Section titled βπ« Common Mistakesββ Assign AdministratorAccess to every user.
β Create one Group for every employee.
β Use Groups without naming standards.
β Leave inactive users in Groups.
β Assign permissions directly to users whenever possible.
β Best Practices
Section titled ββ Best Practicesβ- Assign permissions to Groups.
- Add users to Groups.
- Review Group membership regularly.
- Use descriptive names.
- Follow Least Privilege.
- Remove users immediately when they leave.
- Document Group ownership.
π§ͺ Enterprise Mission 01 β View Existing Groups
Section titled βπ§ͺ Enterprise Mission 01 β View Existing GroupsβOpen AWS Console.
Navigate:
IAM
β
User GroupsReview:
- Group Names
- Number of Members
- Attached Policies
Questions:
- How many Groups exist?
- Which departments already have Groups?
π§ͺ Enterprise Mission 02 β Create a Group (Console)
Section titled βπ§ͺ Enterprise Mission 02 β Create a Group (Console)βNavigate:
IAM
β
User Groups
β
Create GroupCreate the following Groups:
Cloud-Admins
Cloud-Engineers
Developers
Security-Team
SOC-Team
Finance
AuditorsDo not attach policies yet.
π§ͺ Enterprise Mission 03 β Create Groups (AWS CLI)
Section titled βπ§ͺ Enterprise Mission 03 β Create Groups (AWS CLI)βCreate Developers Group
aws iam create-group --group-name DevelopersCreate Security Group
aws iam create-group --group-name Security-TeamCreate Finance Group
aws iam create-group --group-name FinanceList Groups
aws iam list-groupsπ§ͺ Enterprise Mission 04 β Add Users to Groups
Section titled βπ§ͺ Enterprise Mission 04 β Add Users to GroupsβAdd Alice
aws iam add-user-to-group \--group-name Developers \--user-name alice.devAdd Rohit
aws iam add-user-to-group \--group-name Cloud-Engineers \--user-name rohit.cloudAdd John
aws iam add-user-to-group \--group-name Security-Team \--user-name john.securityVerify Group Members
aws iam get-group \--group-name Developersπ§ͺ Enterprise Mission 05 β List User Groups
Section titled βπ§ͺ Enterprise Mission 05 β List User GroupsβList Groups for Alice
aws iam list-groups-for-user \--user-name alice.devQuestions:
- Which Groups is Alice a member of?
- Should Alice belong to multiple Groups?
π§ͺ Enterprise Mission 06 β Remove User from Group
Section titled βπ§ͺ Enterprise Mission 06 β Remove User from GroupβRemove Alice
aws iam remove-user-from-group \--group-name Developers \--user-name alice.devVerify
aws iam get-group \--group-name Developersπ§ͺ Enterprise Mission 07 β Delete a Group
Section titled βπ§ͺ Enterprise Mission 07 β Delete a GroupβDelete Finance Group
aws iam delete-group \--group-name FinanceVerify
aws iam list-groupsπ§ͺ Enterprise Mission 08 β Enterprise Design Exercise
Section titled βπ§ͺ Enterprise Mission 08 β Enterprise Design ExerciseβCloudNova hires the following staff:
| Employee | Department |
|---|---|
| Emma | Developer |
| James | Security |
| Olivia | Cloud Engineering |
| Liam | Finance |
| Noah | SOC |
Determine:
- Which Group each employee joins.
- Whether additional Groups are required.
- Which permissions each Group should receive.
π§ͺ Enterprise Mission 09 β Review Group Membership
Section titled βπ§ͺ Enterprise Mission 09 β Review Group MembershipβList all users.
aws iam list-usersList all Groups.
aws iam list-groupsFor each user, identify:
- Group Membership
- Missing Group
- Incorrect Group
Document your findings.
π’ Enterprise Scenario
Section titled βπ’ Enterprise ScenarioβCloudNova Technologies acquires another company.
150 new employees join.
Departments include:
- Developers
- DevOps
- Security
- Finance
- Compliance
- Support
The CIO asks:
βCan we onboard everyone without assigning permissions individually?β
Design a Group-based access strategy.
π Knowledge Check
Section titled βπ Knowledge Checkβ-
What is an IAM Group?
-
Why are Groups preferred over assigning permissions directly to users?
-
Can an IAM Group sign in to AWS?
-
Can a user belong to multiple Groups?
-
Which command creates a Group?
-
Which command lists all Groups?
-
Which command adds a user to a Group?
-
Which command removes a user from a Group?
-
What is RBAC?
-
Why should Group membership be reviewed regularly?
π Assignment
Section titled βπ AssignmentβPrepare an Enterprise IAM Group Design Document.
Include:
- IAM Group Overview
- Benefits of IAM Groups
- CloudNova Department Structure
- RBAC Design
- Group Naming Standards
- AWS CLI Commands Used
- Screenshots
- Lessons Learned
Length:
4β5 Pages
π Lesson Completion Checklist
Section titled βπ Lesson Completion Checklistβ| Task | Status |
|---|---|
| Reviewed Existing Groups | β |
| Created Groups (Console) | β |
| Created Groups (CLI) | β |
| Added Users to Groups | β |
| Verified Membership | β |
| Removed User from Group | β |
| Deleted Test Group | β |
| Completed Enterprise Design | β |
| Completed Assignment | β |
π‘ Key Takeaways
Section titled βπ‘ Key TakeawaysβAfter completing this lesson, you should understand:
- IAM Groups simplify permission management by assigning permissions to teams rather than individuals.
- Role-Based Access Control (RBAC) helps ensure users receive access based on their job responsibilities.
- Users can belong to multiple Groups when their responsibilities span different functions.
- Group membership should be reviewed regularly to maintain security and support the principle of least privilege.
- Well-designed IAM Groups make onboarding, offboarding and audits significantly easier in enterprise environments.
π Further Reading
Section titled βπ Further Readingβ- AWS IAM User Guide β User Groups
- AWS IAM Best Practices
- AWS Well-Architected Framework β Security Pillar
- AWS CLI Command Reference β IAM
- NIST RBAC Guidance
π Next Lesson
Section titled βπ Next Lessonββ‘οΈ Lesson 05 β IAM Policies