This project demonstrates the design, implementation, validation, and teardown of a secure multi-account AWS landing zone using:
- AWS Organizations
- Service Control Policies (SCPs)
- Centralized CloudTrail logging
- Blast-radius isolation
- Cross-account access control
- GuardDuty delegated administration
- Terraform Infrastructure as Code
- AWS CLI validation testing
The objective is to engineer and validate a Zero-Trust multi-account architecture while proving enforcement behavior through real attack simulations, preventive controls, audit logging, and Terraform drift detection.
Root
├── Security OU
│ ├── Security Account
│ └── Log Archive Account
│
└── Workloads OU
├── Prod Account
└── Dev Account
| Objective | Implementation |
|---|---|
| Blast Radius Isolation | Multi-account segmentation |
| Preventive Governance | SCP enforcement |
| Centralized Audit Logging | Organization CloudTrail |
| Explicit Trust Model | Cross-account IAM roles |
| Least Privilege | Permission boundaries |
| Drift Detection | Terraform reconciliation |
| Security Monitoring | GuardDuty delegation |
| Category | Services / Tools |
|---|---|
| Cloud Platform | AWS |
| Governance | AWS Organizations |
| Security Controls | SCPs, IAM, Permission Boundaries |
| Logging | CloudTrail, S3 |
| Detection | GuardDuty |
| IaC | Terraform |
| Validation | AWS CLI |
| Verification | AWS Console |
aws-zero-trust-org-lab/
│
├── README.md
│
├── architecture/
│ ├── diagrams/
│ └── screenshots/
│
├── terraform/
│ ├── providers.tf
│ ├── variables.tf
│ ├── terraform.tfvars
│ ├── organizations.tf
│ ├── cloudtrail.tf
│ ├── scp.tf
│ ├── iam.tf
│ ├── guardduty.tf
│ ├── outputs.tf
│ │
│ └── policies/
│ ├── deny-cloudtrail.json
│ └── deny-region.json
│
├── validation/
│ ├── cli-tests.md
│ ├── failure-tests.md
│ ├── drift-tests.md
│ └── test-matrix.md
│
└── evidence/
├── terraform-apply/
├── gui-verification/
├── failures/
├── cloudtrail/
└── terraform-destroy/
Prevents:
- cloudtrail:StopLogging
- cloudtrail:DeleteTrail
Restricts resource deployment outside approved AWS regions.
The environment is validated using:
- Terraform deployment output
- AWS Console verification
- AWS CLI attack simulation
- CloudTrail audit evidence
- Terraform drift detection
| Test Case | Expected Result |
|---|---|
| Stop CloudTrail logging | Denied |
| Delete CloudTrail trail | Denied |
| Launch EC2 outside approved region | Denied |
| Launch EC2 inside approved region | Allowed |
| Unauthorized cross-account AssumeRole | Denied |
| Authorized Security AssumeRole | Allowed |
terraform initterraform validateterraform planterraform applyterraform destroyThis repository contains evidence for:
- Terraform deployment
- SCP enforcement
- AWS Console verification
- CloudTrail audit logs
- Drift detection
- Failure simulations
- Environment teardown
- Zero-Trust architecture
- Multi-account governance
- SCP enforcement hierarchy
- Preventive vs detective controls
- Blast-radius reduction
- Infrastructure drift management
- Centralized security visibility
- Infrastructure as Code governance
- AWS Control Tower comparison
- Advanced SCP enforcement
- S3 public access prevention
- IAM privilege escalation testing
- Security Hub aggregation
- CI/CD Terraform pipeline
- OPA / Checkov policy validation
This project is intended for security engineering, governance validation, and educational purposes within controlled AWS environments.