使用具有 RDS for SQL Server 的 AWS 受管 Active Directory - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用具有 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 身分驗證 所詳述):

  1. AWS Managed Microsoft AD從 AWS Management Console 或 AWS Directory Service API 使用 來建立 AWS Managed Microsoft AD 目錄。

  2. 如果您使用 AWS CLI 或 Amazon RDS API 來建立 SQL Server 資料庫執行個體,請建立 AWS Identity and Access Management (IAM) 角色。此角色使用受管 IAM 政策 AmazonRDSDirectoryServiceAccess,而且 Amazon RDS 允許對目錄進行呼叫。如果您使用主控台來建立您的 SQL Server 資料庫執行個體, AWS 會為您建立 IAM 角色。

    若要讓角色允許存取,必須在您 AWS 帳戶的 AWS 區域中啟用 AWS Security Token Service (AWS STS) 端點。 AWS STS 端點預設會在所有 AWS 區域中處於作用中狀態,而且您可以使用它們,而不需要任何進一步的動作。如需詳細資訊,請參閱《IAM 使用者指南》中的管理 AWS 區域中的 AWS STS

  3. 使用 Microsoft Active Directory 工具在 AWS Managed Microsoft AD 目錄中建立和設定使用者和群組。如需在 Microsoft Active Directory 建立使用者的詳細資訊,請參閱 AWS Directory Service 管理指南中的管理 AWS Managed Microsoft AD中的使用者和群組

  4. 如果您打算在不同 VPC 中尋找目錄和資料庫執行個體,請啟用跨 VPC 流量。

  5. 使用 Amazon RDS 從主控台 AWS CLI或 Amazon RDS API 建立新的 SQL Server 資料庫執行個體。在建立請求中,您可以提供建立目錄時產生的網域識別符 ("d-*" identifier) 和您建立之角色的名稱。您也可以將現有 SQL Server 資料庫執行個體修改為使用 Windows 身分驗證,方法是設定資料庫執行個體的網域和 IAM 角色參數。

  6. 如同對其他資料庫執行個體一般,使用 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 資料庫執行個體 中的說明程序來修改執行個體,以將資料庫執行個體新增至網域。