

# 要求
<a name="USER_SQLServer_SelfManagedActiveDirectory.Requirements"></a>

在将 RDS for SQL Server 数据库实例加入自托管式 AD 域之前，请确保您已满足以下要求。

**Topics**
+ [配置您的本地 AD](#USER_SQLServer_SelfManagedActiveDirectory.Requirements.OnPremConfig)
+ [配置您的网络连接](#USER_SQLServer_SelfManagedActiveDirectory.Requirements.NetworkConfig)
+ [配置您的 AD 域服务账户](#USER_SQLServer_SelfManagedActiveDirectory.Requirements.DomainAccountConfig)
+ [通过 LDAPS 配置安全通信](#USER_SQLServer_SelfManagedActiveDirectory.Requirements.LDAPS)

## 配置您的本地 AD
<a name="USER_SQLServer_SelfManagedActiveDirectory.Requirements.OnPremConfig"></a>

确保您有一个本地或其他自托管式 Microsoft AD，您可以在其中加入 Amazon RDS for SQL Server 实例。您的本地 AD 应具有以下配置：
+ 如果您定义了 AD 站点，请确保在 AD 站点中定义与 RDS for SQL Server 数据库实例关联的 VPC 中的子网。确认您的 VPC 中的子网与您其他 AD 站点中的子网之间没有任何冲突。
+ 您 AD 域控制器的域功能级别为 Windows Server 2008 R2 或更高版本。
+ 您的 AD 域名不能采用单标签域（SLD）格式。RDS for SQL Server 不支持 SLD 域。
+ AD 的完全限定域名（FQDN）不能超过 47 个字符。

## 配置您的网络连接
<a name="USER_SQLServer_SelfManagedActiveDirectory.Requirements.NetworkConfig"></a>

确保您满足以下网络配置：
+ 在您要在其中创建 RDS for SQL Server 数据库实例的 Amazon VPC 与自托管式 AD 之间配置了连接。您可以使用 Amazon Direct Connect、Amazon VPN、VPC 对等或 Amazon Transit Gateway 设置连接。
+ 对于 VPC 安全组，原定设置 Amazon VPC 的原定设置安全组已添加到控制台中的 RDS for SQL Server 数据库实例。确保要在其中创建 RDS for SQL Server 数据库实例的子网的安全组和 VPC 网络 ACL 在端口上允许有下图所示方向的流量。  
![\[自托管式 AD 网络配置端口规则。\]](http://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/images/SQLServer_SelfManagedActiveDirectory_Requirements_NetworkConfig.png)

  下表确定了每个端口的作用。    
[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/USER_SQLServer_SelfManagedActiveDirectory.Requirements.html)
+ 通常，域 DNS 服务器位于 AD 域控制器中。您无需配置 VPC DHCP 选项集即可使用此功能。有关更多信息，请参阅《Amazon VPC 用户指南》**中的 [DHCP 选项集](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_DHCP_Options.html)。

**重要**  
如果您使用的是 VPC 网络 ACL，则还必须允许动态端口（49152-65535）上有来自 RDS for SQL Server 数据库实例的出站流量。确保这些流量规则也镜像到适用于每个 AD 域控制器、DNS 服务器和 RDS for SQL Server 数据库实例的防火墙上。  
虽然 VPC 安全组要求仅在发起网络流量的方向打开端口，但大多数 Windows 防火墙和 VPC 网络 ACL 要求双向打开端口。

## 配置您的 AD 域服务账户
<a name="USER_SQLServer_SelfManagedActiveDirectory.Requirements.DomainAccountConfig"></a>

确保您的 AD 域服务账户满足以下要求：
+ 确保您在自托管式 AD 域中有一个域服务账户，该账户具有将计算机加入该域的委派权限。域服务账户是您的自托管式 AD 中的一个用户账户，该账户已被委派执行某些任务的权限。
+ 需要在您要加入 RDS for SQL Server 数据库实例的组织单位（OU）中向域服务账户委派以下权限：
  + 验证写入 DNS 主机名的能力
  + 验证写入服务主体名称的能力
  + 创建和删除计算机对象

  这些权限代表将计算机对象加入到自托管式 AD 至少需要具备的一组权限。有关更多信息，请参阅 Microsoft Windows Server 文档中的[尝试将计算机加入域时出现错误](https://learn.microsoft.com/en-US/troubleshoot/windows-server/identity/access-denied-when-joining-computers)。
+ 要使用 Kerberos 身份验证，您需要向 AD 域服务账户提供服务主体名称（SPN）和 DNS 权限：
  + **写入 SPN**：将**写入 SPN** 权限委托给需要加入 RDS for SQL Server 数据库实例的 OU 中的 AD 域服务账户。此权限与经过验证的写入 SPN 不同。
  + **DNS 权限**：在域控制器的服务器级 DNS 管理器中，为 AD 域服务账户提供以下权限：
    + 列出内容
    + 读取所有属性
    + 读取权限

**重要**  
创建数据库实例后，请勿移动 RDS for SQL Server 在组织单位中创建的计算机对象。移动关联对象将导致您的 RDS for SQL Server 数据库实例出现配置错误。如果您需要移动 Amazon RDS 创建的计算机对象，请通过 [ModifyDBInstance](https://docs.amazonaws.cn/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) RDS API 操作用计算机对象所需位置修改域参数。

## 通过 LDAPS 配置安全通信
<a name="USER_SQLServer_SelfManagedActiveDirectory.Requirements.LDAPS"></a>

建议通过 LDAPS 进行通信，让 RDS 查询和访问域控制器中的计算机对象以及 SPN。要使用安全 LDAP，请在域控制器上使用符合安全 LDAPS 要求的有效 SSL 证书。如果域控制器上不存在有效的 SSL 证书，则 RDS for SQL Server 数据库实例将默认为使用 LDAP。有关证书有效性的更多信息，请参阅 [LDAPS 证书的要求](https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/enable-ldap-over-ssl-3rd-certification-authority#requirements-for-an-ldaps-certificate)。