パスワード ポリシー

Windows Server 2003 以降で SQL Server を実行する場合は、Windows パスワード ポリシー メカニズムを使用できます。

SQL Server では、SQL Server 内部で使用されるパスワードに、Windows Server 2003 で使用されているものと同じ複雑性ポリシーおよび有効期限ポリシーを適用できます。この機能は、Windows Server 2003 以降のバージョンでのみ利用可能な、NetValidatePasswordPolicy API に依存しています。

パスワードの複雑性

パスワードの複雑性のポリシーは、使用可能なパスワードの数を増やすことにより、総当り攻撃を防ぐようにデザインされています。パスワードの複雑性のポリシーが適用される場合、新しいパスワードは次のガイドラインを満たしている必要があります。

  • パスワードはユーザー アカウント名のすべてまたは一部を含まない。アカウント名の一部を 3 文字以上の英数字として定義し、スペース、タブ、改行などの空白、またはコンマ (,)、ピリオド (.)、ハイフン (-)、アンダースコア (_)、番号記号 (#) のいずれかの文字で前後両方を区切ります。

  • パスワードは 8 文字以上である。

  • パスワードは次の 4 つのカテゴリのうちの 3 つのカテゴリの文字を含む。

    • ラテン文字の大文字 (A ~ Z)

    • ラテン文字の小文字 (a ~ z)

    • 算用数字 (0 ~ 9)

    • 感嘆符 (!)、ドル記号 ($)、番号記号 (#)、パーセント記号 (%) などの英数字以外の文字

パスワードには最大 128 文字まで使用できます。パスワードはできるだけ長く、複雑にすることをお勧めします。

パスワードの有効期限

パスワードの有効期限のポリシーは、パスワードの寿命を管理します。SQL Server によってパスワードの有効期限が適用されている場合、ユーザーは古いパスワードを変更するよう通知され、有効期限が切れたパスワードを持つアカウントは無効になります。

ポリシーの適用

パスワード ポリシーの適用は、SQL Server ログインごとに個別に構成できます。SQL Server ログインのパスワード ポリシー オプションを構成するには ALTER LOGIN (Transact-SQL) を使用します。パスワード ポリシーの適用を構成する際に、次の規則が当てはまります。

  • CHECK_POLICY を ON に変更した場合、次の動作が行われます。

    • CHECK_EXPIRATION も、明示的に OFF に設定されない限り、ON に設定されます。

    • パスワード履歴は、現在のパスワード ハッシュの値で初期化されます。

  • CHECK_POLICY を OFF に変更した場合、次の動作が行われます。

    • CHECK_EXPIRATION も OFF に設定されます。

    • パスワード履歴は消去されます。

    • lockout_time の値がリセットされます。

ポリシー オプションの組み合わせには、サポートされないものがあります。

  • MUST_CHANGE が指定された場合、CHECK_EXPIRATION および CHECK_POLICY は ON に設定されなければなりません。そうでない場合、ステートメントは失敗します。

  • CHECK_POLICY が OFF に設定されている場合、CHECK_EXPIRATION を ON に設定することはできません。オプションのこの組み合わせを持つ ALTER LOGIN ステートメントは失敗します。

    重要な注意事項重要

    CHECK_EXPIRATION および CHECK_POLICY は、Windows Server 2003 以降のバージョンでのみ適用されます。

    重要な注意事項重要

    Windows Server 2003 の既知の問題により、LockoutThreshold に達しても無効なパスワード数がリセットされない場合があります。これにより、その後の失敗したログイン試行で、即時ロックアウトが発生する場合があります。CHECK_POLICY = OFF の後に CHECK_POLICY = ON を単に設定することによって、不正なパスワード カウントを手動でリセットできます。

SQL Server を Windows 2000 で実行している場合、CHECK_POLICY = ON を設定すると、次のようなパスワードを作成できなくなります。

  • NULL または空文字列

  • コンピュータ名またはログイン名と同じ文字列

  • "password"、"admin"、"administrator"、"sa"、"sysadmin" のいずれかの文字列

セキュリティ ポリシーは、Windows で設定する場合も、ドメインから受け取る場合もあります。コンピュータでパスワード ポリシーを表示するには、ローカル セキュリティ ポリシーの MMC スナップイン (secpol.msc) を使用します。