Linter 规则 - 参数中的安全机密

此规则查找名称看起来像机密但没有安全修饰器的参数,例如,参数名称包含以下关键字:

  • password
  • pwd
  • secret
  • accountkey
  • acctkey

Linter 规则代码

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

secure-secrets-in-params

解决方案

对包含机密的参数使用安全修饰器。 安全修饰器将参数标记为安全。 安全参数的值不会保存到部署历史记录中,也不会被记录下来。

以下示例未通过此测试,因为参数名称可能包含机密。

param mypassword string

可通过添加安全修饰器修复它:

@secure()
param mypassword string

(可选)可以使用“快速修复”添加安全装饰器:

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

静默处理误报

有时,此规则会针对实际上不包含机密的参数发出警报。 在这些情况下,可以通过在带有警告的行之前添加 #disable-next-line secure-secrets-in-params 来禁用该行的警告。 例如:

#disable-next-line secure-secrets-in-params   // Doesn't contain a secret
param mypassword string

最好是添加一条注释,解释为什么该规则不适用于此行。

后续步骤

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