リンター ルール - パラメーター内のシークレットをセキュリティで保護する
このルールは、名前がシークレットのように見えても、セキュリティで保護されたデコレーターがないパラメーターを検索します。たとえば、パラメーター名に次のキーワードが含まれている場合です。
- 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 リンターの使用方法」を参照してください。