Linter 规则 - 安全参数默认值
此规则查找安全参数的硬编码默认值。
Linter 规则代码
请在 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。