Linter 規則 - 安全參數預設值

此規則會尋找安全參數的硬式編碼預設值。

Linter 規則程式碼

使用 Bicep 設定檔中的下列值來自訂規則設定:

secure-parameter-default

解決方案

Bicep 檔案中的安全參數請勿使用硬式編碼預設值,除非該值為空字串或呼叫 newGuid() 函式的運算式。

含敏感值 (如密碼) 的參數可使用 @secure() 裝飾項目。 當參數使用安全的裝飾項目時,參數值便不會記錄或儲存於部署歷程記錄。 此動作可防止惡意使用者發現敏感值。

然而,當安全參數使用預設值時,可存取範本或部署歷程記錄的任何人皆可發現該值。

下列範例會導致此測試失敗,因為參數具有硬式編碼的預設值。

@secure()
param adminPassword string = 'HardcodedPassword'

您可移除預設值,以修正此問題。

@secure()
param adminPassword string

(選擇性) 您可以使用快速修正移除不安全的預設值:

The screenshot of Secured default value linter rule quick fix.

您也可使用空字串作為預設值。

@secure()
param adminPassword string = ''

或者使用 newGuid() 產生預設值。

@secure()
param adminPassword string = newGuid()

下一步

如需 Linter 的詳細資訊,請參閱使用 Bicep Linter