You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Terraform baseline for enterprise cloud security guardrails with an Azure-first operating model and GCP secondary onboarding path. This repository is designed for production security engineering teams implementing preventive, detective, and governance controls as code.
Baseline Objectives
Establish secure-by-default cloud guardrails for network, logging, posture management, and detection.
Provide repeatable control implementation aligned to NIST 800-53 and ISO 27001 control intent.
Support audit evidence generation from Terraform state, plans, outputs, and CI/CD execution history.
Operationalize security controls through CI validation, policy checks, and runbook-oriented documentation.
OIDC-authenticated plan with PR comment + artifact
terraform-apply.yml
Main-branch apply with environment approval gate
Governance and Audit Artifacts
NIST mapping: docs/nist-800-53-control-mapping.md
ISO mapping: docs/iso-27001-control-mapping.md
Control evidence matrix: docs/control-evidence-matrix.md
Manual Prerequisites and Known Constraints
GCP credentials are always required. The Google provider is initialized unconditionally so Terraform can validate the configuration graph. Even with enable_gcp_secondary = false, valid GCP credentials (or GOOGLE_CREDENTIALS / ADC) must be available. Set gcp_project_id to any accessible project for Azure-only deployments.
Chronicle full onboarding (feeds, parsers, detections, response playbooks) remains manual.
Azure Firewall subnet (AzureFirewallSubnet) must exist in the target network.
Delete locks are enabled by default for critical Azure resources and should only be disabled through approved exception process.
Remote Terraform state backend is intentionally commented out and must be configured before production apply. The CI apply workflow uses -backend=false — state is not persisted until a backend is configured.
Some cloud security resources do not support user-defined tags due to platform limitations.
About
A multi-cloud security baseline using Terraform. Demonstrates NIST 800-53 and ISO 27001 compliance through Infrastructure as Code across Azure (primary) and GCP (secondary).