Learn to scan Azure resources for cost governance violations using PSRule, Checkov, Cloud Custodian, and Infracost.
View the Project on GitHub devopsabcs-engineering/finops-scan-workshop
[!NOTE] This workshop is part of the Agentic Accelerator Framework.
Learn to scan Azure infrastructure for cost governance violations using four open-source tools—PSRule, Checkov, Cloud Custodian, and Infracost—producing SARIF output for GitHub Security tab integration.
graph LR
subgraph "IaC Scanners"
PSRule[PSRule for Azure]
Checkov[Checkov]
end
subgraph "Runtime Scanners"
Custodian[Cloud Custodian]
Infracost[Infracost]
end
subgraph "Demo Apps"
App1[App 001: Missing Tags]
App2[App 002: Oversized SKUs]
App3[App 003: Orphaned Resources]
App4[App 004: No Auto-Shutdown]
App5[App 005: Redundant/Expensive]
end
App1 --> PSRule
App2 --> PSRule
App3 --> Custodian
App4 --> Custodian
App5 --> Infracost
PSRule -->|Native SARIF| SARIF[SARIF v2.1.0]
Checkov -->|Native SARIF| SARIF
Custodian -->|JSON → Converter| SARIF
Infracost -->|JSON → Converter| SARIF
SARIF --> Security[GitHub Security Tab]
SARIF --> PowerBI[Power BI Dashboard]
| Tool | Focus | SARIF Output | License |
|---|---|---|---|
| PSRule for Azure | WAF Cost Optimization rules on Bicep/ARM | Native | MIT |
| Checkov | 1,000+ multi-cloud IaC policies | Native | Apache 2.0 |
| Cloud Custodian | Orphans, tagging, right-sizing on live resources | Converted | Apache 2.0 |
| Infracost | Pre-deployment cost estimates | Converted | Apache 2.0 |
Work through the labs in order. Labs 02–05 can be completed in parallel after Lab 01.
graph LR
L00[Lab 00: Setup] --> L01[Lab 01: Demo Apps]
L01 --> L02[Lab 02: PSRule]
L01 --> L03[Lab 03: Checkov]
L01 --> L04[Lab 04: Cloud Custodian]
L01 --> L05[Lab 05: Infracost]
L02 --> L06[Lab 06: SARIF + Security Tab]
L03 --> L06
L04 --> L06
L05 --> L06
L06 --> L07[Lab 07: GitHub Actions + Cost Gates]
classDef beginner fill:#107C10,stroke:#0b5e0b,color:#fff
classDef intermediate fill:#0078D4,stroke:#005a9e,color:#fff
classDef advanced fill:#D13438,stroke:#a4262c,color:#fff
class L00,L01 beginner
class L02,L03,L04,L05,L06 intermediate
class L07 advanced
| Tier | Labs | Duration | Azure Required |
|---|---|---|---|
| Half-Day | 00, 01, 02, 03, 06 | ~3.5 hours | No |
| Full-Day | 00–07 (all) | ~7.25 hours | Yes |
pip install checkov)pip install c7n c7n-azure)This project is licensed under the MIT License.