如何使用我的內部部署 Active Directory 登入 SQL Server 執行個體的 RDS 進行疑難排解?

上次更新日期:2022 年 10 月 21 日

使用我的內部部署 Active Directory 登入時,我無法存取 Amazon Relational Database Service (Amazon RDS) for Microsoft SQL Server。我該如何對此錯誤進行疑難排解?

簡短描述

使用 Amazon RDS 設定 Windows 身份驗證時,必須建立樹系信任。這是用 AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) 建立的。無論您使用的是內部部署還是自我託管的 AWS Managed Microsoft AD,都會設定樹系信任。在設定信任關係後使用內部部署登入時,可能會出現下列登入錯誤,有以下多種原因:

"Login Failed.The Login is From an Untrusted Domain and Cannot be Used with Windows Authentication (登入失敗。此登入來自不受信任的網域,不能與 Windows 身份驗證一起使用)"

解決方案

若要疑難排解 Active Directory 登入錯誤,請檢查下列項目:

Amazon RDS 網域名稱狀態

建立或修改資料庫執行個體之後,執行個體就會成為網域的成員。RDS 主控台會指出資料庫執行個體的網域成員資格狀態。如需有關資料庫執行個體狀態的詳細資訊,請參閱 了解網域成員資格。如果在 RDS 主控台上將資料庫執行個體加入網域或目錄狀態時收到 "Failed (失敗)" 錯誤訊息,請參閱 重新加入資料庫執行個體

如果您收到 AWS Identity and Access Management (IAM) 錯誤,這可能是因為未使用預設的 IAM 角色 rds-directoryservice-access-role 所致。如果您使用的是自訂 IAM 角色,請附加預設政策 AmazonRDSDirectoryServiceAccess 以解決錯誤。

信任關係

您可以在 AWS Managed Microsoft AD 和自我管理 (內部部署) 目錄之間設定一個和雙向的外部和樹系信任關係。您也可以在 AWS 雲端中的多個 AWS Managed Microsoft AD 之間設定一個雙向的外部和樹系信任關係。AWS Managed Microsoft AD 支援所有三種信任關係方向:傳入、傳出和雙向。若要使用內部部署登入存取 RDS 主控台,請確定信任狀態處於「已驗證」狀態。如需有關驗證信任關係的詳細資訊,請參閱建立、驗證或刪除信任關係

全樹系和選擇性身份驗證

使用 AWS Directory Service 主控台建立樹系信任時,您可以選擇開啟 "selective authentication" (選擇性身份驗證)。如果未開啟此選項,則身份驗證將被視為 "forest-wide authentication" (全樹系身份驗證)。

全樹系身份驗證

開啟樹系層級驗證時,樹系的網域控制站會驗證信任樹系的使用者所發出的所有存取要求。驗證成功後,會根據資源存取控制清單 (ACL) 授與或拒絕對資源的存取。

這種方法存在風險。在外部使用者 (來自受信任的樹系) 通過我們的成功身份驗證後,他們會成為 "Authenticated User" (經過身份驗證的使用者) 群組的成員。此群組沒有任何永久成員,而且會根據身份驗證動態計算成員資格。帳戶成為「經過身份驗證的使用者」群組的成員之後,該帳戶可以存取「經過身份驗證的使用者」群組具有存取權限的所有資源。

選擇性身份驗證

要控制身份驗證,您可以選擇選擇性身份驗證層級。在這個層級中,並非所有使用者都會經過網域控制站的預設身份驗證。相反地,當網域控制站偵測到驗證要求來自受信任的樹系時,網域控制站會驗證使用者帳戶。網域控制站會驗證使用者帳戶是否已獲授與對保存該物件之資源的獨佔權限。

當選擇性驗證開啟時,您必須新增內部部署 Active Directory 的個別使用者和群組。使用者和群組必須新增至 AWS Managed AD 的 "AWS Delegated Allowed to Authenticate Objects" (AWS 委派允許驗證物件) 群組。「AWS 委派允許驗證物件」被指派 "Allowed to Authenticate" (允許驗證) 權限。屬於此群組的所有使用者都可以存取 RDS 執行個體。不屬於此群組的使用者無法存取 Amazon RDS SQL 伺服器。

注意:在設定 AWS Managed AD 之後,預設會建立「允許 AWS 委派驗證物件」群組。此群組的成員可以對 AWS 保留組織單位 (OU) 中的電腦資源進行驗證。只有具有選擇性驗證信任的內部部署物件才需要此選項。

登入和密碼狀態

內部部署的 Active Directory 登入密碼和狀態無法過期或鎖定。如果是這樣,請使用以下命令檢查登入狀態:

net user username/domain

您只需要將使用者名稱更改為要檢查狀態的使用者即可。保留網域,因為它是。

重複的服務主體名稱 (SPN)

根據預設,Amazon RDS 會根據需要建立 SPN。針對內部部署 Active Directory 登入建立其他 SPN 以供其他用途使用,可能會導致登入失敗。如需詳細資訊,請參閱識別、移除和驗證 SPN

安全修補程式

如果您看到內部部署 Active Directory 登入錯誤,且已驗證信任關係,請檢查最新的安全修補程式。檢查分散式控制系統 (DCS) 或網域名稱系統 (DNS) 伺服器是否有 Windows 更新 (KB) 的已知問題。如果因為安全修補程式或 KB 而發生任何問題,您可能必須還原更新。如果還原更新無法修正問題,請嘗試套用 Microsoft 的修正程式 (如果有的話)。


此文章是否有幫助?


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