搭配 RDS for SQL Server 使用 AWS 受管 Active Directory
您可以使用 AWS Managed Microsoft AD,在使用者連線至 RDS for SQL Server 資料庫執行個體時,使用 Windows 身分驗證來驗證這些使用者。資料庫執行個體可與 AWS Directory Service for Microsoft Active Directory (也稱為 AWS Managed Microsoft AD) 搭配使用以啟用 Windows 身分驗證。當使用者向加入信任網域的 SQL Server 資料庫執行個體進行驗證時,身分驗證請求會轉送到您使用 AWS Directory Service 建立的網域目錄。
區域和版本可用性
Amazon RDS 僅支援使用 AWS Managed Microsoft AD 進行 Windows 身分驗證。RDS 不支援使用 AD Connector。如需詳細資訊,請參閱下列內容:
如需有關版本和區域可用性的詳細資訊,請參閱透過 RDS for SQL Server 進行 Kerberos 身分驗證。
設定 Windows 身分驗證概觀
Amazon RDS 對 Windows 身分驗證使用混合模式。此方法表示主要使用者 (用來建立您的 SQL Server 資料庫執行個體的名稱和密碼) 使用 SQL 身分驗證。因為主要使用者帳戶是具有特殊權限的登入資料,您應該限制對此帳戶的存取。
若要使用現場部署或自行託管的 Microsoft Active Directory 獲得 Windows 身分驗證,請建立樹系信任。信任可以是單向或雙向。如需使用 AWS Directory Service 設定樹系信任的詳細資訊,請參閱《AWS Directory Service 管理指南》中的何時建立信任關係。
若要為 SQL Server 資料庫執行個體設定 Windows 身分驗證,請執行下列步驟 (如 為 SQL Server 資料庫執行個體設定 Windows 身分驗證 所詳述):
-
使用來自 AWS Managed Microsoft AD 或 AWS Management Console API 的 AWS Directory Service 以建立 AWS Managed Microsoft AD 目錄。
-
如果您使用 AWS CLI 或 Amazon RDS API 來建立 SQL Server 資料庫執行個體,請建立 AWS Identity and Access Management (IAM) 角色。此角色使用受管 IAM 政策
AmazonRDSDirectoryServiceAccess,而且 Amazon RDS 允許對目錄進行呼叫。如果您使用主控台來建立您的 SQL Server 資料庫執行個體,AWS 會為您建立 IAM 角色。針對可存取角色,AWS Security Token Service (AWS STS) 端點必須在 AWS 區域中啟用您的 AWS 帳戶,AWS STS 端點會在所有 AWS 區域中預設為啟用,接下來您就可以使用,而無須更進一步的動作。如需詳細資訊,請參閱《IAM 使用者指南》中的管理 AWS 區域 中的 AWS STS。
-
使用 Microsoft Active Directory 工具在 AWS Managed Microsoft AD 目錄中建立和設定使用者和群組。如需在 Microsoft Active Directory 建立使用者的詳細資訊,請參閱 AWS Directory Service 管理指南中的管理 AWS Managed Microsoft AD 中的使用者和群組。
-
如果您打算在不同 VPC 中尋找目錄和資料庫執行個體,請啟用跨 VPC 流量。
-
從主控台 AWS CLI 或 Amazon RDS API 使用 Amazon RDS 來建立新的 SQL Server 資料庫執行個體。在建立請求中,您可以提供建立目錄時產生的網域識別符 ("
d-*" identifier) 和您建立之角色的名稱。您也可以將現有 SQL Server 資料庫執行個體修改為使用 Windows 身分驗證,方法是設定資料庫執行個體的網域和 IAM 角色參數。 -
如同對其他資料庫執行個體一般,使用 Amazon RDS 主要使用者登入資料來連接至 SQL Server 資料庫執行個體。因為資料庫執行個體已加入 AWS Managed Microsoft AD 網域,您可以透過您的網域中的 Active Directory 使用者和群組佈建 SQL Server 登入和使用者。(這些稱為 SQL Server "Windows" 登入。) 您可透過對這些 Windows 登入授予和撤銷的標準 SQL Server 許可來管理資料庫許可。
當您使用 Amazon RDS 主控台建立網域連線的 RDS for SQL Server 資料庫執行個體時,AWS 會自動建立 rds-directoryservice-access-role IAM 角色。這是管理網域連線的執行個體不可或缺的角色,也是下列操作的必要角色:
-
對網域連線的 SQL Server 執行個體進行組態變更
-
管理 Active Directory 整合設定
-
在加入網域的執行個體上執行維護操作
重要
如果刪除了 rds-directoryservice-access-role IAM 角色,則無法透過 Amazon RDS 主控台或 API 變更網域連線的 SQL Server 執行個體。嘗試修改執行個體會導致錯誤訊息,指出:您沒有 iam:CreateRole 的許可。若要要求存取,請複製下列文字,並將其傳送給您的 AWS 管理員。
之所以發生此錯誤,是因為 Amazon RDS 必須重新建立角色以管理網域連線,但缺少必要的許可。此外,此錯誤不會記錄在 CloudTrail 中,這可能會使疑難排解更加困難。
如果意外刪除了 rds-directoryservice-access-role,您必須先獲得重新建立的 iam:CreateRole 許可,才能對連線網域的 SQL Server 執行個體進行任何變更。若要手動重新建立角色,請確定角色已連接 AmazonRDSDirectoryServiceAccess 受管政策,並且有適當的信任關係允許 RDS 服務承擔角色。
還原 SQL Server 資料庫執行個體,並將其新增至網域
您可以還原資料庫快照或為 SQL Server 資料庫執行個體執行 point-in-time 恢復 (PITR),然後將其新增至網域。一旦還原資料庫執行個體,請使用 步驟 5:建立或修改 SQL Server 資料庫執行個體 中的說明程序來修改執行個體,以將資料庫執行個體新增至網域。