Skip to content

Commit 06f5e41

Browse files
committed
Switch to PSRule for security analysis
1 parent dcc7e70 commit 06f5e41

File tree

5 files changed

+41
-10
lines changed

5 files changed

+41
-10
lines changed

Diff for: .github/workflows/bicep-audit.yml

+15-7
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,23 @@ jobs:
2121
- name: Checkout
2222
uses: actions/checkout@v4
2323

24-
- name: Run Microsoft Security DevOps Analysis
25-
uses: microsoft/security-devops-action@preview
26-
id: msdo
27-
continue-on-error: true
24+
- name: Run PSRule analysis
25+
uses: microsoft/[email protected]
2826
with:
29-
tools: templateanalyzer
27+
modules: PSRule.Rules.Azure
28+
baseline: Azure.Pillar.Security
29+
inputPath: bicep/*.test.bicep
30+
outputFormat: Sarif
31+
outputPath: reports/ps-rule-results.sarif
32+
summary: true
33+
continue-on-error: true
34+
35+
env:
36+
PSRULE_CONFIGURATION_AZURE_BICEP_FILE_EXPANSION: 'true'
37+
PSRULE_CONFIGURATION_AZURE_BICEP_FILE_EXPANSION_TIMEOUT: '30'
3038

31-
- name: Upload alerts to Security tab
39+
- name: Upload results to security tab
3240
uses: github/codeql-action/upload-sarif@v3
3341
if: github.repository_owner == 'Azure-Samples'
3442
with:
35-
sarif_file: ${{ steps.msdo.outputs.sarifFile }}
43+
sarif_file: reports/ps-rule-results.sarif

Diff for: bicep/main.bicep

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ module sqlDb 'modules/sqldb.bicep' = {
5050
name: 'sqldb'
5151
params: {
5252
sqlServerName: sqlServerName
53-
sqlDatabaeName: applicationName
53+
sqlDatabaseName: applicationName
5454
administratorLogin: sqlAdminLogin
5555
administratorPassword: sqlAdminPassword
5656
location: location

Diff for: bicep/main.test.bicep

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// This file is for doing static analysis and contains sensible defaults
2+
// for the bicep analyser to minimise false-positives and provide the best results.
3+
4+
// This file is not intended to be used as a runtime configuration file.
5+
6+
targetScope = 'resourceGroup'
7+
8+
// Random, dummy data for static analysis
9+
param sqlAdminLogin string = newGuid()
10+
@secure()
11+
param sqlAdminPassword string = newGuid()
12+
13+
module main 'main.bicep' = {
14+
name: 'main'
15+
params: {
16+
staticWebAppLocation: 'westus2'
17+
sqlAdminLogin: sqlAdminLogin
18+
sqlAdminPassword: sqlAdminPassword
19+
}
20+
}

Diff for: bicep/modules/sqldb.bicep

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
param sqlServerName string
2-
param sqlDatabaeName string
2+
param sqlDatabaseName string
33
param location string
44
param administratorLogin string
55
@secure()
@@ -20,7 +20,7 @@ resource sqlServer 'Microsoft.Sql/servers@2021-05-01-preview' = {
2020

2121
resource servers_rideshare_server_name_databases_Rideshare_name 'Microsoft.Sql/servers/databases@2021-05-01-preview' = {
2222
parent: sqlServer
23-
name: sqlDatabaeName
23+
name: sqlDatabaseName
2424
location: location
2525
tags: resourceTags
2626
sku: {

Diff for: ps-rule.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# YAML: Set the AZURE_BICEP_FILE_EXPANSION configuration option to enable expansion
2+
configuration:
3+
AZURE_BICEP_FILE_EXPANSION: true

0 commit comments

Comments
 (0)