Compartir a través de

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