次の方法で共有


リンター ルール - セキュリティ保護されたパラメーターの既定値

このルールでは、セキュリティ保護されたパラメーターのハードコーディングされた既定値が検索されます。

リンター ルールのコード

ルール設定をカスタマイズするには、Bicep 構成ファイルで次の値を使用します。

secure-parameter-default

解決策

ハードコーディングされた既定値は、空の文字列であるか、newGuid() 関数を呼び出す式である場合を除き、Bicep ファイル内でセキュリティ保護されたパラメーターに指定しないでください。

パスワードのような機密性の高い値が含まれるパラメーターでは、@secure() デコレーターを使用します。 パラメーターでセキュリティ保護されたデコレーターが使用されていると、そのパラメーターの値はログに記録されず、デプロイ履歴に格納されません。 このアクションにより、悪意のあるユーザーが機密値を検出できなくなります。

ただし、セキュリティ保護されたパラメーターに既定値を指定すると、テンプレートまたはデプロイ履歴にアクセスできるすべてのユーザーが、その値を検出できます。

次の例は、パラメーターにハードコーディングされた既定値が含まれるため、このテストに失敗します。

@secure()
param adminPassword string = 'HardcodedPassword'

既定値を削除することで解決できます。

@secure()
param adminPassword string

必要に応じて、クイック修正を使用して、セキュリティで保護されていない既定値を削除できます。

セキュリティで保護された既定値リンター ルールのクイック修正のスクリーンショット。

または、既定値に空の文字列を指定します。

@secure()
param adminPassword string = ''

または、newGuid() を使用して既定値を生成します。

@secure()
param adminPassword string = newGuid()

次のステップ

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