如何設定我的 RDS for SQL Server 執行個體的密碼政策?

上次更新日期:2022-10-13

我需要為 Amazon Relational Database Service (Amazon RDS) for Microsoft SQL Server 執行個體設定密碼政策。要怎麼做?

簡短描述

密碼政策和到期間隔是在主機層級 (作業系統、Windows 層) 設定的。Amazon RDS 是一項受管服務。因此,由於對作業系統的存取受限,因此,無法對密碼政策進行修改。 

建立新的登入或使用 SQL Server Management Studio (SSMS) 或 T-SQL 修改登入時,RDS for SQL Server 上預設會開啟密碼政策。

解決方案

RDS for SQL Server 執行個體未加入 Active Directory

如果執行個體未加入 AD,則會在 Windows 作業系統上定義政策。您無法修改這些政策。下列是在 Windows 密碼政策上設定的值:

  • 強制密碼歷史記錄:記住 0 個密碼
  • 密碼長度下限:0 個字元
  • 密碼必須符合複雜性要求:已停用
  • 使用可逆加密儲存密碼:已停用
  • 密碼最短使用期限:0 天
  • 密碼最長使用期限:42 天

注意:對於未加入 AD 的 RDS for SQL Server 執行個體,則無法使用帳戶鎖定政策。帳戶鎖定策略需要存取基礎作業系統。Amazon RDS 是受管服務,因此無法使用主機層級存取。

RDS for SQL Server 執行個體已加入 Active Directory

如果您使用適用於 RDS for SQL Server 的 Windows 驗證,則可以強制執行和修改密碼政策。如果 RDS 執行個體已加入網域,則網域政策的優先順序高於預設 RDS 密碼政策。

執行下列查詢,以識別使用密碼政策設定的 SQL 登入,以及執行個體上的密碼到期時間:

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 登入的密碼政策強制執行和密碼到期的可用選項:

備註:這些選項僅適用於已加入網域的 RDS 執行個體。

  • policy_checked 欄為 0:SQL Server 登入不會執行任何密碼政策強制執行。
  • policy_checked 欄為 1,並且 is_expiration_checked 0:SQL Server 登入強制執行密碼複雜性和鎖定,但不執行密碼到期。
  • policy_checked 欄和 is_expiration_checked 都是 1:SQL Server 登入強制執行密碼複雜性、鎖定和密碼到期。

如果 policy_checkedis_expiration_checked 都為 0,則該政策適用於 RDS for SQL Server 資料庫執行個體中的主要使用者。這表示未為主要使用者設定密碼複雜性、鎖定設定和密碼到期時間。因此,主要使用者不會在 RDS for SQL Server 中過期。如果您的主要使用者失去存取權,您可以重設密碼。如需詳細資訊,請參閱為什麼我的 RDS for SQL Server 執行個體的主要使用者失去存取權,我要如何重新取得?


此文章是否有幫助?


您是否需要帳單或技術支援?