AWS Security Engineering β’ Cloud Networking β’ IAM Governance β’ Detection Engineering β’ Serverless Security β’ Terraform β’ Incident Response
A comprehensive AWS security and networking portfolio demonstrating how cloud environments can be designed around segmentation, least privilege, centralized inspection, threat detection, secure application architecture, infrastructure as code, operational response, and measurable security controls.
This repository goes beyond isolated AWS labs.
Each project follows a complete security-engineering lifecycle:
Requirement β Threat β Architecture β Control β Terraform β Validation β Evidence β Operations β Continuous Improvement
This portfolio is designed around work commonly performed by:
- Cloud Security Engineers
- AWS Security Engineers
- Cloud Security Analysts
- Cloud Infrastructure Engineers
- AWS Network Engineers
- Junior DevSecOps Engineers
- Cloud Operations Engineers
- Solutions Architects
- Security Operations Engineers
The projects demonstrate both:
Network Segmentation
IAM Guardrails
Permission Boundaries
AWS WAF
Private Service Access
KMS Encryption
Security Groups
SCPs
and:
CloudTrail
GuardDuty
Security Hub
EventBridge
CloudWatch
VPC Flow Logs
Network Firewall Logs
OpenSearch
SNS
Incident Runbooks
| Project | Primary Focus | Portfolio Depth |
|---|---|---|
| 01 β Secure Multi-Account Network Core | Network segmentation + centralized inspection | βββββ |
| 02 β IAM Zero-Trust Guardrails | Identity governance + privilege controls | βββββ |
| 03 β Centralized Security Logging & Detection | Detection engineering + centralized telemetry | βββββ |
| 04 β Secure Serverless API | Application/API security | βββββ |
aws-security-networking/
β
βββ README.md
β
βββ docs/
β βββ Portfolio_Control_Matrix.md
β βββ Portfolio_Architecture_Review.md
β
βββ projects/
β β
β βββ 01-network-core/
β β βββ README.md
β β βββ docs/
β β β βββ Threat-Model.md
β β β βββ Validation-Checklist.md
β β β βββ Runbook.md
β β β βββ ADR-001-Centralized-Inspection.md
β β β βββ Failure_Mode_Analysis.md
β β β βββ Cost_Model.md
β β βββ iac/
β β β βββ terraform/
β β βββ evidence/
β β
β βββ 02-iam-guardrails/
β β βββ README.md
β β βββ docs/
β β β βββ Threat-Model.md
β β β βββ Validation-Checklist.md
β β β βββ Runbook.md
β β β βββ ADR-001-BreakGlass.md
β β β βββ scp-pack/
β β βββ iac/
β β β βββ terraform/
β β βββ evidence/
β β
β βββ 03-security-logging-detection/
β β βββ README.md
β β βββ docs/
β β β βββ Detection_Catalog.md
β β β βββ Threat-Model.md
β β β βββ Detection_Engineering_Methodology.md
β β β βββ Runbook.md
β β β βββ Cost_Model.md
β β βββ lambda/
β β βββ iac/
β β β βββ terraform/
β β βββ evidence/
β β
β βββ 04-secure-serverless-api/
β βββ README.md
β βββ docs/
β β βββ Threat-Model.md
β β βββ Validation-Checklist.md
β β βββ Runbook.md
β β βββ ADR-001-Managed-Auth.md
β β βββ Failure_Mode_Analysis.md
β β βββ Cost_Model.md
β βββ lambda/
β βββ iac/
β β βββ terraform/
β βββ evidence/
β
βββ evidence/
β βββ artifact_manifest.csv
β βββ FINAL_COMPLETENESS_REPORT.md
β
βββ validation/
β βββ validate_portfolio.py
β
βββ .github/
βββ workflows/
βββ ci.yml
The portfolio is built around four major security layers.
NETWORK PLANE
β
IDENTITY PLANE
β
DETECTION PLANE
β
APPLICATION PLANE
Each project focuses on a different layer while connecting to the others.
A centralized AWS networking security architecture built around:
- Amazon VPC
- AWS Transit Gateway
- Inspection VPC
- AWS Network Firewall
- NAT Gateway
- Route-table segmentation
- VPC Flow Logs
- Centralized egress
- Security telemetry
flowchart LR
DEV[Development VPC]
PROD[Production VPC]
SHARED[Shared Services VPC]
DEV --> TGW[AWS Transit Gateway]
PROD --> TGW
SHARED --> TGW
TGW --> INSPECT[Inspection VPC]
INSPECT --> NFW[AWS Network Firewall]
NFW --> NAT[NAT Gateway]
NAT --> IGW[Internet Gateway]
DEV --> FLOW[VPC Flow Logs]
PROD --> FLOW
SHARED --> FLOW
NFW --> FWLOG[Firewall Logs]
The architecture is designed so that:
Development
β
Production
does not automatically have direct lateral connectivity.
Internet-bound traffic follows:
Spoke VPC
β
Transit Gateway
β
Inspection VPC
β
AWS Network Firewall
β
NAT Gateway
β
Internet
Controls include:
- Explicit TGW route tables
- Controlled route propagation
- Inspection VPC
- AWS Network Firewall
- Security groups
- VPC Flow Logs
- Central firewall logging
- Controlled egress
- Private workload networks
Threats addressed include:
| Threat | Architecture Control |
|---|---|
| Lateral movement | TGW route isolation |
| Uninspected internet traffic | Central egress inspection |
| Command-and-control traffic | Network Firewall |
| Reconnaissance | Network segmentation |
| Data exfiltration | Egress inspection |
| Investigation blind spots | Flow Logs + Firewall Logs |
The project defines tests for:
Dev β Prod direct route
Expected: DENIED
Spoke β HTTPS Internet
Expected: ALLOWED THROUGH INSPECTION
Spoke β Prohibited Port
Expected: DENIED
Firewall Event
Expected: LOGGED
Rejected Flow
Expected: PRESENT IN FLOW LOG
The evidence directory includes both a validation matrix and simulated architecture-validation results.
Live Reachability Analyzer or firewall screenshots are not fabricated when a live AWS execution has not occurred.
The project evaluates failures such as:
- Transit Gateway attachment issues
- Firewall endpoint failure
- NAT Gateway failure
- Incorrect route propagation
- Lost security logging
Each failure is tied to:
Detection
β
Containment
β
Recovery
β
Validation
A layered AWS identity-governance architecture demonstrating:
- IAM roles
- Permission boundaries
- AWS Organizations SCP concepts
- Least privilege
- Break-glass administration
- MFA
- CloudTrail monitoring
- Security-event validation
AWS Organizations
β
Service Control Policy
β
Permission Boundary
β
IAM Role Policy
β
Temporary Role Session
β
AWS Resource
β
CloudTrail
This demonstrates that effective IAM security is created through multiple policy layers, not a single role policy.
The project follows:
Never Assume
Always Authenticate
Authorize Explicitly
Minimize Privilege
Use Temporary Credentials
Log Privileged Activity
Review Emergency Access
Example restrictions include:
cloudtrail:StopLogging
cloudtrail:DeleteTrail
Expected:
DENIED
organizations:LeaveOrganization
Expected:
DENIED
Security-control changes can be denied at the organizational layer.
Permission boundaries limit the maximum privileges delegated roles can receive.
Example:
Identity Policy
β©
Permission Boundary
β
Effective Permissions
Even if an overly broad identity policy is attached, the boundary prevents permissions outside the approved security envelope.
Example roles include:
Used for:
- Configuration inspection
- Inventory
- Audit
- Security review
No resource mutation.
Used for:
- GuardDuty investigation
- Security Hub findings
- CloudTrail review
- Controlled incident actions
Used for approved application or infrastructure deployment.
Used only during emergency recovery.
Controls include:
- MFA
- Short-lived sessions
- Explicit approval
- CloudTrail logging
- Immediate security notification
- Mandatory post-use review
| Test | Expected |
|---|---|
| Create role without approved boundary | DENIED |
| Stop CloudTrail | DENIED |
| Leave AWS Organization | DENIED |
| Read-only role creates S3 bucket | DENIED |
| Break-glass without MFA | DENIED |
| Approved break-glass session | ALLOWED + ALERTED |
This is one of the strongest interview artifacts in the repository because it demonstrates that security policies are intended to be tested, not simply written.
projects/03-security-logging-detection/
A centralized AWS security-monitoring architecture demonstrating:
- AWS CloudTrail
- Amazon GuardDuty
- AWS Security Hub
- Amazon EventBridge
- AWS Lambda
- Amazon OpenSearch Service
- Amazon SNS
- CloudWatch
- S3 log archive
- Detection engineering
flowchart LR
CT[CloudTrail]
GD[GuardDuty]
SH[Security Hub]
CT --> S3[(Central Log Archive)]
CT --> CW[CloudWatch Logs]
GD --> SH
SH --> EB[EventBridge]
EB --> SNS[SNS Alerts]
EB --> L[Finding Normalizer Lambda]
L --> OS[(OpenSearch)]
OS --> DASH[Security Dashboards]
The architecture provides:
- Central security visibility
- API audit history
- GuardDuty threat findings
- Security Hub aggregation
- Automated finding routing
- Searchable investigations
- Severity-based response
- Long-term security evidence
Example detections include:
| Detection | Source | Severity |
|---|---|---|
| High / Critical GuardDuty Finding | GuardDuty | SEV-1 / SEV-2 |
| CloudTrail Stopped | CloudTrail | SEV-1 |
| Root Account Activity | CloudTrail | SEV-1 |
| IAM Policy Change | CloudTrail | SEV-2 |
| Security Group Opened Broadly | AWS Config / Event | SEV-2 |
| Break-Glass Role Used | CloudTrail | SEV-1 / SEV-2 |
Every detection follows:
Threat Hypothesis
β
Telemetry Source
β
Detection Rule
β
Severity
β
False Positive Review
β
Runbook
β
Safe Test
β
Evidence
β
Tuning
This makes the project more than a dashboard exercise.
It demonstrates detection engineering.
A Python Lambda converts different event/finding structures into a consistent record.
Normalized fields include:
Finding ID
Title
Severity
AWS Account
Region
Affected Resource
Raw Evidence
This creates a common format for downstream search and investigation.
Alert
β
Validate Finding
β
Identify Account / Resource
β
Review CloudTrail
β
Determine Legitimacy
β
Contain
β
Preserve Evidence
β
Remediate
β
Close Finding
High-severity findings require an explicit owner and closure evidence.
Safe validation examples include:
Root Login Event
IAM Policy Change
Sample Security Hub Finding
CloudTrail Stop Attempt
Expected outcome:
Generate Event
β
Detection
β
Alert
β
Searchable Record
β
Runbook
projects/04-secure-serverless-api/
A defense-in-depth serverless application security architecture.
Services include:
- Amazon API Gateway
- Amazon Cognito
- AWS WAF
- AWS Lambda
- Amazon DynamoDB
- AWS KMS
- CloudWatch
- CloudTrail
- IAM
- VPC endpoint concepts
flowchart LR
CLIENT[Client]
CLIENT --> WAF[AWS WAF]
WAF --> API[API Gateway]
COG[Cognito] --> API
API --> AUTH[Cognito Authorizer]
AUTH --> LAMBDA[Lambda]
LAMBDA --> DDB[(DynamoDB)]
KMS[KMS] --> DDB
KMS --> LOGS[CloudWatch Logs]
CT[CloudTrail] --> AUDIT[(Audit Logs)]
Amazon Cognito provides managed identity and authentication.
Protected API routes require valid tokens.
Example:
No Token
β
DENIED
Expired Token
β
DENIED
Valid Token
β
AUTHORIZED
AWS WAF provides protections for:
- Common web attack patterns
- Abusive traffic
- Rate-based attacks
- Malicious request patterns
Lambda validates:
- JSON structure
- Required fields
- Allowed fields
- Length limits
Invalid input returns:
HTTP 400
instead of silently passing malformed data downstream.
The Lambda execution role is designed to access only required resources.
Example:
Lambda
β
Approved DynamoDB Table
not:
Lambda
β
All DynamoDB Tables
Controls include:
- AWS KMS encryption
- Point-in-time recovery
- IAM authorization
- Serverless scaling
| Test | Expected |
|---|---|
| No authentication token | DENIED |
| Valid token | ALLOWED |
| Expired token | DENIED |
| Invalid payload | HTTP 400 |
| WAF managed-rule test | BLOCKED |
| Rate-limit burst | THROTTLED |
| Lambda accesses unrelated table | DENIED |
Every project includes threat analysis.
The portfolio collectively addresses:
Credential Theft
Privilege Escalation
Lateral Movement
Data Exfiltration
Public Data Exposure
Unauthorized API Access
Malicious Traffic
Security Logging Tampering
Command and Control
Overprivileged Workloads
Destructive Administration
Detection Blind Spots
Security is implemented across multiple layers:
EDGE
β
AWS WAF
NETWORK
β
VPC / TGW / Network Firewall
IDENTITY
β
IAM / SCP / Permission Boundaries
APPLICATION
β
Cognito / API Authorization
DATA
β
KMS / DynamoDB / S3 Controls
DETECTION
β
CloudTrail / GuardDuty / Security Hub
OPERATIONS
β
CloudWatch / SNS / Runbooks
RECOVERY
β
Backups / PITR / Failure Analysis
The upgraded portfolio documents why major architecture choices were made.
Examples include:
Why
Consistent egress policy and visibility.
Tradeoff
Higher routing and inspection cost.
Why
Security teams still require controlled emergency recovery.
Control
MFA + temporary access + alerting + review.
Why
Cognito reduces custom credential-management risk.
Projects explicitly consider failure.
Examples:
Firewall Endpoint Failure
Transit Gateway Routing Error
Credential Misuse
CloudTrail Logging Failure
OpenSearch Failure
Cognito Failure
Lambda Error
DynamoDB Throttle
WAF False Positive
Each failure is connected to:
Detection β Operational Response β Recovery
Runbooks are included rather than relying on theoretical controls.
Typical incident workflow:
Detect
β
Validate
β
Scope
β
Contain
β
Preserve Evidence
β
Eradicate
β
Recover
β
Review
Examples include:
- IAM privilege escalation
- Break-glass usage
- suspicious GuardDuty findings
- unexpected network communication
- API authentication failures
- potential data exposure
The portfolio demonstrates visibility using:
- VPC Flow Logs
- Network Firewall logs
- CloudTrail
- IAM event monitoring
- GuardDuty
- Security Hub
- CloudWatch Logs
- API Gateway metrics
- Lambda metrics
- Amazon SNS
- EventBridge
A security control is not considered complete simply because Terraform created it.
The portfolio follows:
Control Defined
β
Infrastructure Created
β
Test Case Written
β
Expected Outcome Defined
β
Evidence Collected
β
Failure Investigated
Examples:
SCP exists
β
SCP proven effective
The validation matrix defines the action that should be attempted and the expected security result.
Each project includes evidence artifacts.
Examples include:
Network_Test_Matrix.csv
Simulated_Validation_Results.csv
IAM_Test_Matrix.csv
Simulated_IAM_Validation_Results.csv
Detection_Test_Matrix.csv
Simulated_Detection_Validation_Results.csv
API_Security_Test_Matrix.csv
Simulated_API_Security_Results.csv
The repository deliberately distinguishes:
Executed AWS Evidence
vs
Simulated / Modeled Validation
A simulated test is never represented as a production test.
The repository includes an artifact manifest using:
SHA-256
to provide an integrity record for portfolio files.
This demonstrates basic evidence-handling discipline.
Terraform is used throughout the portfolio.
Architecture areas represented include:
- VPC
- Transit Gateway concepts
- Centralized logging
- IAM roles
- Permission boundaries
- KMS
- S3
- GuardDuty
- Security Hub
- SNS
- Cognito
- DynamoDB
- CloudWatch
The repository contains CI validation for:
- Python syntax
- JSON security policies
- Required architecture artifacts
- Repository completeness
- Unfinished-content checks
This helps keep the repository from silently becoming incomplete as files change.
Security architecture still has financial tradeoffs.
Primary cost drivers include:
- Transit Gateway
- AWS Network Firewall
- NAT Gateway
- Log ingestion
- GuardDuty
- Security Hub
- OpenSearch
- CloudWatch
- CloudTrail storage
- WAF
- API Gateway
- Cognito
- KMS
- DynamoDB
- CloudWatch
The portfolio does not reduce security controls merely to minimize spend.
The decision rule is:
Required Security
+
Required Reliability
+
Required Visibility
β
Efficient Architecture
not:
Cheapest Architecture
β
Remove Controls
- Amazon VPC
- AWS Transit Gateway
- AWS Network Firewall
- NAT Gateway
- VPC Flow Logs
- VPC Endpoints
- Security Groups
- Route Tables
- AWS IAM
- IAM Roles
- Permission Boundaries
- AWS Organizations / SCP concepts
- MFA
- Federated access concepts
- AWS CloudTrail
- Amazon GuardDuty
- AWS Security Hub
- Amazon EventBridge
- Amazon OpenSearch Service
- Amazon API Gateway
- Amazon Cognito
- AWS WAF
- AWS Lambda
- Amazon DynamoDB
- AWS KMS
- Amazon CloudWatch
- Amazon SNS
- Terraform
- Python
- GitHub Actions
AWS Security Engineering β’ Cloud Security β’ AWS Networking β’ VPC β’ Transit Gateway β’ AWS Network Firewall β’ Network Segmentation β’ IAM β’ Zero Trust β’ Permission Boundaries β’ SCPs β’ Least Privilege β’ Break-Glass Access β’ CloudTrail β’ GuardDuty β’ Security Hub β’ EventBridge β’ Detection Engineering β’ OpenSearch β’ WAF β’ Cognito β’ API Gateway β’ Lambda β’ DynamoDB β’ KMS β’ CloudWatch β’ Incident Response β’ Threat Modeling β’ Terraform β’ Infrastructure as Code β’ Security Validation β’ DevSecOps
A concise way to explain the repository:
I built this AWS Security and Networking portfolio to demonstrate security across multiple layers of a cloud environment. One project focuses on network segmentation and centralized inspection using Transit Gateway and AWS Network Firewall, another focuses on IAM zero-trust guardrails using SCPs, permission boundaries, least-privilege roles, and break-glass access. The third project centralizes CloudTrail, GuardDuty, and Security Hub findings into an alerting and investigation workflow, while the fourth secures a serverless API using Cognito, WAF, Lambda, DynamoDB, and KMS. Each project includes Terraform, threat modeling, validation matrices, runbooks, failure analysis, and evidence artifacts so the portfolio demonstrates not just architecture but how the controls would be verified and operated.
Discuss:
- VPC segmentation
- Transit Gateway route tables
- Inspection VPC
- Network Firewall
- Security groups
- Flow Logs
Explain:
SCP
=
Organization-level maximum permissions
IAM Policy
=
Permissions granted to a principal
An SCP does not grant permissions.
Use:
- Permission boundaries
- SCPs
- Delegated roles
- IAM monitoring
- Short-lived sessions
Use:
CloudTrail
+
GuardDuty
+
Security Hub
+
EventBridge
+
Lambda
+
OpenSearch
+
SNS
Use:
- Cognito
- WAF
- API authorization
- Request validation
- Least-privilege Lambda
- DynamoDB encryption
- CloudTrail
- CloudWatch
Use the project's validation approach:
Define Expected Security Behavior
β
Perform Safe Test
β
Capture Evidence
β
Compare Expected vs Actual
β
Remediate Failure
This portfolio demonstrates the complete AWS security engineering mindset:
Business Requirement
β
Threat Identification
β
Security Architecture
β
Network Controls
β
Identity Controls
β
Application Controls
β
Detection
β
Infrastructure as Code
β
Validation
β
Incident Response
β
Recovery
β
Evidence
The goal is not simply to show familiarity with AWS security services.
The goal is to demonstrate the ability to design, document, validate, and operationalize secure AWS environments across network, identity, detection, and application layers.
This repository represents simulated cloud-security engagements and reference implementations created to demonstrate AWS security engineering and networking skills.
Unless explicitly supported by real execution evidence:
- Validation outputs are labeled simulated.
- Cost estimates are modeled.
- Architecture diagrams represent reference designs.
- Security tests are not represented as penetration-test results.
- No claim is made that the environment is currently running in production.
- No claim is made that a simulated control result is equivalent to a live AWS test.
This keeps the portfolio technically credible, transparent, and interview-defensible.
Jamie Christian II
Focus: AWS Security β’ Cloud Networking β’ IAM β’ Detection Engineering β’ DevSecOps β’ Cloud Infrastructure
GitHub: github.com/JamieChristian22