分享方式:


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