本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 SQL 伺服器 RDS 上使用 SQL 伺服器登入的密碼原則
Amazon RDS 允許您為運行 Microsoft SQL 服務器的 Amazon RDS 數據庫實例設置密碼策略。使用此選項可設定使用 SQL Server 驗證對資料庫執行個體進行驗證的登入的複雜性、長度和鎖定需求。
重要用語
- 登入
-
在 SQL Server 中,可向資料庫執行個體驗證的伺服器層級主體稱為登入。其他資料庫引擎可能會將此主體稱為使用者。在適用於 SQL 伺服器的 RDS 中,登入可以使用 SQL 伺服器驗證或視窗驗證進行驗證。
- SQL 伺服器登入
-
使用使用者名稱和密碼來使用 SQL Server 驗證進行驗證的登入是 SQL Server 登入。您透過資料庫參數設定的密碼原則僅適用於 SQL Server 登入。
- 視窗登入
-
以 Windows 主體為基礎並使用 Windows 驗證進行驗證的登入即為 Windows 登入。您可以在活動目錄中為您的 Windows 登錄配置密碼策略。如需詳細資訊,請參閱 使用 Active Directory 搭配 RDS for SQL Server。
啟用和禁用每次登錄的策略
每個 SQL 伺服器登入都有CHECK_POLICY
和的旗標CHECK_EXPIRATION
。依預設,會建立新的登入,ON
並將CHECK_POLICY
CHECK_EXPIRATION
設定為OFF
。
如果啟CHECK_POLICY
用登入功能,RDS for SQL Server 會根據複雜性和最小長度需求來驗證密碼。鎖定政策也適用。要啟用CHECK_POLICY
和CHECK_EXPIRATION
的範例 T-SQL 陳述式:
ALTER LOGIN [master_user] WITH CHECK_POLICY = ON, CHECK_EXPIRATION = ON;
如果啟CHECK_EXPIRATION
用,密碼將受密碼保留時間原則的約束。T-SQL 語句來檢查是否CHECK_POLICY
和CHECK_EXPIRATION
被設置:
SELECT name, is_policy_checked, is_expiration_checked FROM sys.sql_logins;
密碼原則參數
所有密碼原則參數都是動態的,不需要重新啟動資料庫即可生效。下表列出您可以設定用來修改 SQL Server 登入密碼原則的資料庫參數:
資料庫參數 | 描述 | 允許值 | 預設值 |
---|---|---|---|
rds.密碼_複雜_啟用 | 建立或變更 SQL Server 登入的密碼時,必須滿足密碼複雜性需求。必須符合下列限制:
|
0,1 | 0 |
rds.密碼_最小/長度 | SQL Server 登入的密碼所需的字元數目下限。 | 0-14 | 0 |
rds. 密碼 _ 分鐘年齡 | 在使用者可以變更之前,必須使用 SQL Server 登入密碼的最小天數。設定為 0 時,可立即變更密碼。 | 0-998 | 0 |
密碼 _ 最大值 _ 年齡 | SQL Server 登入密碼可以使用的天數上限,之後使用者必須變更密碼。設定為 0 時,密碼永遠不會過期。 |
0-999 | 42 |
rds.密碼_鎖定/值 | 造成 SQL Server 登入遭到鎖定的連續失敗登入嘗試次數。 | 0-999 | 0 |
rds.密碼_鎖定持續時間 | 鎖定的 SQL Server 登入必須等待的分鐘數,才能解除鎖定。 | 1-60 | 10 |
rds.密碼_鎖定_重設_計數器_之後 | 失敗的登入嘗試計數器將失敗的登入嘗試計數器重設為 0 之前,必須經過的分鐘數。 | 1-60 | 10 |
下列限制條件適用於密碼制定原則參數:
-
除非設定為 0
rds.password_max_age parameter
,否則rds.password_min_age
rds.password_max_age
參數必須小於 -
rds.password_lockout_reset_counter_after
參數必須小於或等於rds.password_lockout_duration
參數。 -
如
rds.password_lockout_threshold
果設定為 0rds.password_lockout_duration
,則rds.password_lockout_reset_counter_after
不套用。
現有登入的考量
在執行個體上修改密碼原則之後,系統不會根據新的密碼複雜性和長度需求,回溯評估登入的現有密碼。只有新密碼才會根據新策略驗證。
SQL Server 不會評估現有的密碼是否符合年齡需求。
修改密碼原則後,密碼可能會立即過期。例如,如果登入已CHECK_EXPIRATION
啟用,且密碼上次在 100 天前變更,而您將rds.password_max_age
參數設定為 5 天,則密碼會立即過期,且登入需要在下次嘗試登入時變更其密碼。
注意
適用於 SQL 伺服器的 RDS 不支援密碼歷程記錄原則。歷史記錄策略可防止登錄重複使用以前使用的密碼。
異地同步備份部署的考量
異地同步備份執行個體失敗的登入嘗試計數器和鎖定狀態不會在節點之間進行複寫。如果異地同步備份執行個體容錯移轉時登入遭到鎖定,則新節點上的登入可能已解除鎖定。