Linter 规则 - 安全参数默认值

此规则查找安全参数的硬编码默认值。

Linter 规则代码

请在 Bicep 配置文件中使用以下值自定义规则设置:

secure-parameter-default

解决方案

请勿为 Bicep 文件中 的安全参数 提供硬编码默认值,除非它是空字符串或调用 newGuid() 函数的 表达式。

@secure() 包含敏感值(如密码)的参数使用修饰器。 当参数使用安全修饰器时,参数的值不会记录或存储在部署历史记录中。 此操作可防止恶意用户发现敏感值。

但是,为安全参数提供默认值时,任何可以访问模板或部署历史记录的用户都可以发现该值。

以下示例失败此测试,因为参数具有硬编码的默认值。

@secure()
param adminPassword string = 'HardcodedPassword'

可以通过删除默认值来修复它。

@secure()
param adminPassword string

(可选)可以使用 快速修复 来删除不安全的默认值:

安全默认值 linter 规则快速修复的屏幕截图。

或者,通过为默认值提供空字符串。

@secure()
param adminPassword string = ''

或者,通过使用 newGuid() 生成默认值。

@secure()
param adminPassword string = newGuid()

后续步骤

有关 Linter 的详细信息,请参阅使用 Bicep Linter