Microsoft SQL Server インスタンス用の Amazon Relational Database Service (Amazon RDS) のパスワードポリシーを設定したいと考えています。
簡単な説明
パスワードポリシー、ロックアウト、および有効期限の間隔は、ホストレベル (OS、Microsoft Windows レイヤー) で設定されます。Amazon RDS はマネージドサービスであるため、オペレーティングシステムへのアクセスは制限されています。パスワードポリシーを設定するには、DB パラメータを使用します。詳細については、「Amazon RDS for SQL Server の SQL Server ログインにパスワードポリシーを使用する」を参照してください。
SQL Server Management Studio (SSMS) または T-SQL を使用してログインを作成または変更すると、パスワードポリシーはデフォルトで有効になります。
解決策
SQL サーバー認証を使用するログイン
ログインで SQL Server 認証を使用する場合は、SQL Server のパスワードポリシーを変更して、複雑さ、長さ、有効期限、ロックアウトに関するカスタム要件を設定します。カスタム DB パラメータグループで以下のパスワードポリシー DB パラメータを設定します。
- rds.password_complexity_enabled
- rds.password_min_length
- rds.password_min_age
- rds.password_max_age
- rds.password_lockout_threshold
- rds.password_lockout_duration
- rds.password_lockout_reset_counter_after
詳しくは、「パスワードポリシーパラメータ」を参照してください。
インスタンスでパスワードポリシーとパスワードの有効期限が設定されている SQL Server ログインを特定するには、次のクエリを実行します。
select name, type_desc, create_date, modify_date, is_policy_checked,
is_expiration_checked, isnull(loginproperty(name,'DaysUntilExpiration'),'-') Days_to_Expire, is_disabled
from sys.sql_logins
SQL Server ログインのパスワードポリシーの適用およびパスワードの有効期限切れに使用できるオプションは次のとおりです。
- policy_checked 列は 0。 SQL Server ログインでは、パスワードポリシーの適用は行われません。
- policy_checked 列は 1 でis_expiration_checked は 0。 SQL Server ログインでは、パスワードの複雑化とロックアウトは適用されますが、パスワードの有効期限は適用されません。
- policy_checked 列および is_expiration_checked が両方とも 1。 SQL Server ログインでは、パスワードの複雑化、ロックアウト、およびパスワードの有効期限が適用されます。
Windows 認証を使用するログイン
Microsoft Active Directory の Windows ログインのパスワードポリシーを設定します。詳細については、「Amazon RDS for SQL Server でのアクティブディレクトリの使用」を参照してください。