你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Linter 规则 - 参数中的安全机密
此规则查找名称看起来像机密但没有安全修饰器的参数,例如,参数名称包含以下关键字:
- password
- pwd
- secret
- accountkey
- acctkey
Linter 规则代码
请在 Bicep 配置文件中使用以下值自定义规则设置:
secure-secrets-in-params
解决方案
对包含机密的参数使用安全修饰器。 安全修饰器将参数标记为安全。 安全参数的值不会保存到部署历史记录中,也不会被记录下来。
以下示例未通过此测试,因为参数名称可能包含机密。
param mypassword string
可通过添加安全修饰器修复它:
@secure()
param mypassword string
(可选)可以使用“快速修复”添加安全装饰器:
静默处理误报
有时,此规则会针对实际上不包含机密的参数发出警报。 在这些情况下,可以通过在带有警告的行之前添加 #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。