Skip to content

Commit

Permalink
Move from template analyser to psrule for security audits (#133)
Browse files Browse the repository at this point in the history
  • Loading branch information
tonybaloney authored Jun 10, 2024
1 parent 565ef6e commit 431b709
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 10 deletions.
28 changes: 18 additions & 10 deletions .github/workflows/bicep-audit.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
name: Validate AZD template
name: Validate bicep templates
on:
push:
branches:
- main
paths:
- "infra/**"
- "**/*.bicep"
pull_request:
branches:
- main
paths:
- "infra/**"
- "**/*.bicep"
workflow_dispatch:

jobs:
Expand All @@ -21,15 +21,23 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Run Microsoft Security DevOps Analysis
uses: microsoft/security-devops-action@preview
id: msdo
continue-on-error: true
- name: Run PSRule analysis
uses: microsoft/[email protected]
with:
tools: templateanalyzer
modules: PSRule.Rules.Azure
baseline: Azure.Pillar.Security
inputPath: infra/*.test.bicep
outputFormat: Sarif
outputPath: reports/ps-rule-results.sarif
summary: true
continue-on-error: true

env:
PSRULE_CONFIGURATION_AZURE_BICEP_FILE_EXPANSION: 'true'
PSRULE_CONFIGURATION_AZURE_BICEP_FILE_EXPANSION_TIMEOUT: '30'

- name: Upload alerts to Security tab
- name: Upload results to security tab
uses: github/codeql-action/upload-sarif@v3
if: github.repository_owner == 'Azure-Samples'
with:
sarif_file: ${{ steps.msdo.outputs.sarifFile }}
sarif_file: reports/ps-rule-results.sarif
17 changes: 17 additions & 0 deletions infra/main.test.bicep
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// This file is for doing static analysis and contains sensible defaults
// for the bicep analyser to minimise false-positives and provide the best results.

// This file is not intended to be used as a runtime configuration file.

targetScope = 'subscription'

param environmentName string = 'testing'
param location string = 'westus2'

module main 'main.bicep' = {
name: 'main'
params: {
environmentName: environmentName
location: location
}
}
5 changes: 5 additions & 0 deletions ps-rule.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# YAML: Set the AZURE_BICEP_FILE_EXPANSION configuration option to enable expansion
configuration:
AZURE_BICEP_FILE_EXPANSION: true
AZURE_DEPLOYMENT_NONSENSITIVE_PARAMETER_NAMES:
- resourceToken

0 comments on commit 431b709

Please sign in to comment.