此规则查找安全参数的硬编码默认值。
请在 Bicep 配置文件中使用以下值自定义规则设置:
secure-parameter-default
请勿为 Bicep 文件中 的安全参数 提供硬编码默认值,除非它是空字符串或调用 newGuid() 函数的 表达式。
对 @secure()
包含敏感值(如密码)的参数使用修饰器。 当参数使用安全修饰器时,参数的值不会记录或存储在部署历史记录中。 此操作可防止恶意用户发现敏感值。
但是,为安全参数提供默认值时,任何可以访问模板或部署历史记录的用户都可以发现该值。
以下示例失败此测试,因为参数具有硬编码的默认值。
@secure()
param adminPassword string = 'HardcodedPassword'
可以通过删除默认值来修复它。
@secure()
param adminPassword string
(可选)可以使用 快速修复 来删除不安全的默认值:
或者,通过为默认值提供空字符串。
@secure()
param adminPassword string = ''
或者,通过使用 newGuid()
生成默认值。
@secure()
param adminPassword string = newGuid()
有关 Linter 的详细信息,请参阅使用 Bicep Linter。