Skip to content

Repository files navigation

# 🔐 AWS IAM Security Project

This project demonstrates how to design a secure AWS environment using AWS Identity and Access Management (IAM), following security best practices such as least privilege and role-based access control.

---

## 📌 Project Overview

In this project, I implemented a structured IAM setup that simulates a real-world organization. The environment includes different user roles with controlled permissions based on responsibilities.

### 👥 User Roles:

- **Admin** – Full access to AWS services

- **Developer** – Access to EC2 and S3 resources

- **Read-Only User** – View-only access across services

---

## 🏗️ Architecture

The IAM structure follows this model:

- Users are assigned to groups

- Groups have specific policies attached

- Roles are used to grant secure access to AWS services

![Architecture Diagram](diagram.png)

---

## 🧰 Services Used

- AWS Identity and Access Management (IAM)

---

## ⚙️ Implementation Steps

1. Created IAM Groups:

- Admins

- Developers

- ReadOnly

2. Attached Policies:

- Admins → AdministratorAccess

- Developers → Custom EC2 & S3 access policy

- ReadOnly → ReadOnlyAccess

3. Created Users:

- admin-user → Admins group

- dev-user → Developers group

- viewer-user → ReadOnly group

4. Enabled Security Features:

- Multi-Factor Authentication (MFA)

- Strong password policy

- Restricted root account usage

5. Created IAM Roles:

- EC2 Role with S3 access

- Read-only role for limited access

---

## 🔐 Security Best Practices Implemented

- Principle of **Least Privilege**

- **Role-Based Access Control (RBAC)**

- **Multi-Factor Authentication (MFA)**

- Avoided use of root account

- Used IAM roles instead of hardcoded credentials

---

### 🚀 Key Learnings

- Designing secure IAM architectures

- Managing access using users, groups, and roles

- Applying AWS security best practices

- Understanding real-world access control scenarios

---

## 🌍 Real-World Use Case

This IAM setup can be applied in organizations to:

- Separate access between teams

- Enforce security policies

- Reduce risk through controlled permissions

---

About

Designed and implemented a secure AWS environment using AWS Identity and Access Management, featuring role-based access control, custom policies, MFA, and permission testing across multiple user roles.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors