Completed project · Cloud governance

EduCloud Guard

AWS cloud governance, security, and cost monitoring

Explore the project on GitHub

Overview

I built EduCloud Guard to automate cloud governance checks for NorthStar University, a simulated higher-education organization. The project brings resource governance, security findings, and potential cost waste into one central dashboard.

The solution combines a Python-based AWS Lambda scanner, DynamoDB finding storage, daily EventBridge scheduling, and SNS alerts. Terraform defines the supporting infrastructure, while an API gives the dashboard access to findings without exposing AWS credentials in the browser.

The problem

When university departments manage their own cloud resources, inconsistent tags, unapproved department assignments, exposed administrative ports, and unused storage can be difficult to track. Manual reviews make it harder to maintain a consistent view of governance and security across teams.

The outcome

EduCloud Guard turns these checks into repeatable scans and actionable findings. Administrators can review open and resolved issues, filter by department and severity, and inspect detection history and recommended remediation in one place.

Architecture

EduCloud Guard architecture connecting scheduled scans, AWS resource checks, findings storage, alerts, and the dashboard

View full-resolution architecture

  1. Schedule: Amazon EventBridge invokes the scanner every 24 hours using rate(1 day).
  2. Evaluate: AWS Lambda runs separate Python modules for governance, security, and cost checks against selected AWS resources.
  3. Record: Amazon DynamoDB stores each finding and its detection history, status, and scan count.
  4. Alert: Amazon SNS sends notifications for high-severity security findings.
  5. Review: API Gateway and the Flask backend provide finding data to the web dashboard.

IAM permissions are scoped to the services required by the scanner. CloudWatch provides execution logs and operational visibility, while EC2 and EBS resources support controlled governance and cost-check validation.

Governance, security, and cost controls

The approved departments in the simulated environment are ComputerScience, Engineering, Research, Admissions, and LearningTechnology.

Cloud posture dashboard

The dashboard summarizes open and resolved findings, severity levels, and security, governance, and cost categories. Administrators can filter by severity, category, department, or status, then search, sort, and page through results.

EduCloud Guard dashboard with posture metrics, finding filters, and a findings list

View full-resolution dashboard screenshot

Finding details and lifecycle

Each finding shows its affected resource, department, severity, status, detection history, description, and recommended remediation. Stable identifiers combine the control and resource, such as SEC-001#sg-xxxxxxxx, so repeat scans update an existing finding instead of creating duplicate records.

EduCloud Guard finding detail view showing resource information, detection history, and remediation guidance

View full-resolution finding details screenshot

Demo video

Watch the demo on YouTube

Implementation and design decisions

Skills demonstrated

AWS architecture, Lambda, DynamoDB, EventBridge, SNS, API Gateway, EC2, EBS, IAM, CloudWatch, Terraform, Python, Boto3, Linux, REST APIs, JavaScript, Git, and GitHub.

Project scope and future enhancements

This is a portfolio project built in a controlled AWS environment. Deliberately misconfigured test resources were used to validate the scanner; they are not production configurations.

Potential next steps include S3 and IAM controls, multi-account scanning with AWS Organizations, historical posture trends, automated remediation, dashboard authentication and role-based access, and a CI/CD deployment pipeline.

Read the project documentation on GitHub

Back to portfolio