リンター ルール - パラメーター内のシークレットをセキュリティで保護する

このルールは、名前がシークレットのように見えても、セキュリティで保護されたデコレーターがないパラメーターを検索します。たとえば、パラメーター名に次のキーワードが含まれている場合です。

  • password
  • pwd
  • secret
  • accountkey
  • acctkey

リンター ルールのコード

ルール設定をカスタマイズするには、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

ルールがこの行に適用されない理由を説明するコメントを追加することをお勧めします。

次のステップ

リンターの詳細については、「Bicep リンターの使用方法」を参照してください。