すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:カスタムパスワードポリシー

最終更新日:Aug 06, 2026

ApsaraDB RDS for SQL Server は、Windows ホストレイヤーでパスワードの有効期限を管理します。デフォルトでは、ホストアカウントのパスワードは 42 日後に有効期限が切れ、対処しないとログオン失敗の原因となります。カスタムパスワードポリシーを設定することで、パスワードの有効期間を制御し、予期せぬロックアウトを防ぐことができます。

重要

デフォルトでは、ホストアカウントのパスワードは 42 日後に有効期限が切れます。有効期限が切れると、ログオン失敗の原因となります。42 日の制限に達する前に、パスワードポリシーを設定してください。ホストアカウントにはポリシーが自動的に適用されますが、ユーザーアカウントには手動での適用が必要です。

デフォルトのパスワードの動作

アカウントタイプ

デフォルトの有効期限

ポリシーの適用

ホストアカウント

42 日 (Windows のデフォルト)

自動

ユーザーアカウント

無期限

手動

制限事項

この機能は、次のインスタンスタイプでは利用できません:

  • 共有インスタンス

  • SQL Server 2008 R2 インスタンス

  • サーバーレスの ApsaraDB RDS for SQL Server インスタンス

RDS インスタンスは、汎用インスタンスタイプまたは専用インスタンスタイプを使用し、サブスクリプションまたは従量課金の課金方法である必要があります。

注意事項

アカウントを作成してパスワードポリシーを適用する場合、パスワードにアカウントのユーザー名を含めることはできません。たとえば、ユーザー名が Test240903 の場合、パスワードを Test240903abc にすることはできません。

手順1:パスワードポリシーの設定

  1. [インスタンス] ページに移動します。上部メニューで、RDS インスタンスが存在するリージョンを選択します。対象のインスタンスを見つけ、その ID をクリックします。

  2. 左側のナビゲーションウィンドウで、[アカウント] をクリックします。

  3. [アカウントパスワードポリシー] をクリックし、パラメーターを設定して、対象のポリシーを選択し、[OK] をクリックします。

次のパラメーターの一方または両方を設定できます:

パラメーター

説明

範囲 (日)

[パスワードの最大有効期間]

アカウントがパスワードを変更するまでに使用できる期間。0 に設定すると、パスワードは無期限になります。

0~999

[パスワードの最小有効期間]

アカウントがパスワードを変更できるようになるまでに、パスワードを使用しなければならない期間。[パスワードの最大有効期間] を超えることはできません。

0~998

例1:パスワードの最大有効期間のみ

パスワードを 60 日ごとに変更するように設定するには、[パスワードの最大有効期間][60] に設定します。

例2:パスワードの最小有効期間のみ

最初の 30 日間パスワードの変更を防ぐには、[パスワードの最小有効期間][30] に設定します。

例3:パスワードの最大有効期間と最小有効期間の両方

パスワードを 90 日ごとに変更し、かつ最初の 30 日間は変更を防ぐには、[パスワードの最大有効期間][90] に、[パスワードの最小有効期間][30] に設定します。

手順2:ユーザーアカウントへのポリシーの適用

ホストアカウントには、設定したポリシーが自動的に適用されます。ユーザーアカウントの場合は、次のいずれかの方法でポリシーを手動で適用します。

ユーザーアカウント作成時の適用

[アカウント] > [ユーザーアカウント] ページで、標準アカウントまたは特権アカウントを作成する際、または SA 権限を持つデータベースアカウントを作成する際に、パスワードポリシーを適用します。

既存のユーザーアカウントへの適用

[アカウント] > [ユーザーアカウント] ページで、既存のアカウントにパスワードポリシーを適用します。

よくある質問

ホストアカウントにはポリシーが自動的に適用されますか?

はい。RDS コンソールでポリシーを設定すると、追加の手順なしでホストアカウントに即時に適用されます。ユーザーアカウントには、手順2で説明されているように手動での適用が必要です。

RDS SQL Server のホストアカウントのデフォルトのパスワード有効期限はどのくらいですか?

デフォルトでは、ホストアカウントは Windows のパスワードポリシーを使用し、デフォルトの有効期限は 42 日です。RDS SQL Server がホストログオンアカウントを作成した場合、パスワードはデフォルトで 42 日後に有効期限が切れます。有効期限が切れた後は、パスワードをリセットする必要があります。

左側のナビゲーションウィンドウで [アカウント管理] をクリックし、[ホストアカウント] タブを選択して、対象アカウントの [操作] 列にある [リモート接続 (プライマリ)] をクリックします。

RDS SQL Server のホストアカウントのデフォルトのパスワード有効期限を変更するにはどうすればよいですか?

RDS コンソールで、カスタムのパスワード最大有効期間または最小有効期間を設定します。更新されたポリシーは、ホストアカウントに即時に有効になります。ユーザーアカウントにすでにポリシーが適用されている場合、その更新はそれらのアカウントにも即時に有効になります。ただし、共有インスタンス、SQL Server 2008 R2 インスタンス、および サーバーレスの ApsaraDB RDS for SQL Server インスタンスはこの機能をサポートしていません。

RDS コンソール経由で、RDS SQL Server のユーザーアカウント/ホストアカウントのパスワード有効期限ポリシーを設定できますか?

RDS コンソール経由でアカウントのパスワードポリシーを設定するか、Windows ホストに直接ログオンしてパスワードポリシーを変更することができます。

コンソール経由で作成された RDS SQL Server のユーザーアカウントには、デフォルトのパスワード有効期限ポリシーがありますか?有効期限はありますか?

いいえ。RDS コンソール経由で作成されたユーザーアカウントは、デフォルトでは CHECK_POLICYCHECK_EXPIRATION が有効になっていないため、パスワードは無期限です。コンソール経由でユーザーアカウントにポリシーを適用すると、CHECK_POLICYCHECK_EXPIRATION の両方が ON に設定され、Windows のパスワードポリシー設定が継承されます。

たとえば、RDS コンソールでパスワードの最小有効期間を 1 日、最大有効期間を 2 日に設定した場合、Windows ポリシーは Minimum password age = 1 日、Maximum password age = 2 日に更新されます。

RDS SQL Server でユーザーのパスワードポリシーが有効になっているか (例:パスワードの有効期限が切れているか、最終変更日はいつか) を確認するにはどうすればよいですか?

sys.sql_logins に対して次の SQL クエリを実行すると、ポリシーのステータス、有効期限の状態、最終パスワード変更日時、および関連する詳細を確認できます:

-- ユーザーのパスワードポリシーステータスと関連情報をクエリします
SELECT
    name,
    is_policy_checked,          -- パスワードの複雑性のポリシーが有効かどうか
    is_expiration_checked,      -- パスワードの有効期限ポリシーが有効かどうか
    LOGINPROPERTY(name, 'IsMustChange') AS IsMustChange,              -- 次回ログオン時にパスワードの変更が必要かどうか
    LOGINPROPERTY(name, 'IsLocked') AS IsLocked,                      -- アカウントがロックされているかどうか
    LOGINPROPERTY(name, 'LockoutTime') AS LockoutTime,                -- アカウントがロックされた時刻 (ロックされていない場合は NULL)
    LOGINPROPERTY(name, 'PasswordLastSetTime') AS PasswordLastSetTime, -- パスワードが最後に変更された時刻
    LOGINPROPERTY(name, 'IsExpired') AS IsExpired,                    -- パスワードの有効期限が切れているかどうか
    LOGINPROPERTY(name, 'BadPasswordCount') AS BadPasswordCount,      -- 不正なパスワード試行の回数
    LOGINPROPERTY(name, 'BadPasswordTime') AS BadPasswordTime,        -- 最後の不正なパスワード試行の時刻
    LOGINPROPERTY(name, 'HistoryLength') AS HistoryLength,            -- パスワード履歴の長さ (古いパスワードの再利用を防止)
    modify_date                 -- アカウントが最後に変更された時刻
FROM
    sys.sql_logins;

関連 API