デフォルト状態:常に有効
重症度レベル:警告
Description
このルールは、stringタイプではなくSecureString型で宣言されたパスワード関連の名前を持つ関数やスクリプトパラメータを検出します。 平文を受け入れるパスワードパラメータはパスワードを露出させ、システムのセキュリティを脅かす可能性があります。 パスワードをプレーンテキストとして受け入れるべきではありません。
代わりに、パスワードを安全に保存するために SecureString タイプを使いましょう。
以下のパラメータはパスワードパラメータとみなされ、大文字・文字を区別しません:
- パスワード
- パス
- パスワード
- パスフレーズ
- パスフレーズ
- PasswordParam
提供されたリストからパラメータを定義した場合、 SecureString 型で宣言します。
例
非準拠
function Test-Script
{
[CmdletBinding()]
Param
(
[string]
$Password
)
...
}
対応
function Test-Script
{
[CmdletBinding()]
Param
(
[SecureString]
$Password
)
...
}
ルールの設定
このルールは常に有効で、設定はできません。 このルールを避けるために、以下のいずれかの方法を用いてください。
- 欲しいルールだけを含めるか、不要なルールを除外するカスタムルール設定ファイルを作成しましょう。
- 特定のコードブロックに対してルール抑制を抑制するために、適切なルール抑制属性をコードに追加してください。 詳細については、PSScriptAnalyzerの使用に関する「抑制ルール」セクションをご覧ください。