パスワード ポリシー

SQL Server Windows のパスワード ポリシー メカニズムに対応しています。 パスワード ポリシーは SQL Server 認証を使用するログインに適用され、パスワードを持つ包含データベース ユーザーに適用されます。

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

パスワードの複雑性

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

  • パスワードはユーザー アカウント名を含まない。

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

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

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

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

    • 算用数字 (0 ~ 9)

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

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

パスワードの有効期限

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

ポリシーの適用

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

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

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

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

    • [アカウント ロックアウトの期間][アカウント ロックアウトのしきい値] 、および [ロックアウト カウンターのリセット] も有効になります。

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

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

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

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

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

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

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

CHECK_POLICY = ON を設定すると、次のようなパスワードは作成できなくなります。

  • NULL または空文字列

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

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

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

CREATE LOGIN (Transact-SQL)

ALTER LOGIN (Transact-SQL)

CREATE USER (Transact-SQL)

ALTER USER (Transact-SQL)

ログインの作成

データベース ユーザーの作成

強力なパスワード