

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 保护你的 AWS 托管 Microsoft AD
<a name="ms_ad_security"></a>

你可以使用密码策略、多重身份验证 (MFA) 等功能和设置来保护你的 AWS 托管 Microsoft AD。保护目录的方法包括：
+ [了解 Active Directory 中的密码策略的工作原理](ms_ad_password_policies.md)，以便将其应用于 AWS 托管 Microsoft AD 用户。你也可以委派哪位用户可以 AWS 管理你的托管 Microsoft AD 密码策略。
+ [启用 MFA 以提高你的 M](ms_ad_mfa.md) AWS icrosoft AD 托管安全性。
+ [>启用通过安全套接字层（SSL）/传输层安全性协议（TLS）的轻型目录访问协议（LDAPS）](ms_ad_ldap.md)，以便对 LDAP 通信进行加密，提高安全性。
+ 根据联邦风险和授权@@ [管理计划 (FedRAMP) 和支付卡行业 (PCI) 数据安全标准 (DSS) 等标准，管理您的 AWS 托管 Microsoft AD 合规](ms_ad_compliance.md)性。
+ 通过修改@@ [安全组来增强你的 AWS 托管 Microsoft AD 网络 AWS 安全配置>](ms_ad_network_security.md)，以满足你的环境需求。
+ [编辑您的 AWS 托管 Microsoft AD 目录安全设置](ms_ad_directory_settings.md)，例如证书基础身份验证、安全通道密码和协议，以满足您的需求。
+ [设置适用于 AD 的 AWS 私有证书颁发机构 Conn](ms_ad_pca_connector.md) ector，这样你就可以为 AWS 托管 Microsoft AD 颁发和管理证书 AWS 私有 CA。

# 了解 AWS 托管微软 AD 密码策略
<a name="ms_ad_password_policies"></a>

AWS Microsoft AD 托管允许您为在托管 M AWS icrosoft AD 域中管理的用户组定义和分配不同的[密码和帐户锁定策略（也称为细粒度密码策略](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/get-started/adac/introduction-to-active-directory-administrative-center-enhancements--level-100-#fine_grained_pswd_policy_mgmt)）。创建 AWS 托管 Microsoft AD 目录时，会创建默认域策略并将其应用于活动目录。此策略包含以下设置：


****  

| Policy | 设置 | 
| --- | --- | 
| 强制密码历史 | 记住 24 个密码 | 
| 最长密码使用期限 | 42 天 \$1 | 
| 最短密码使用期限 | 1 天 | 
| 最短密码长度 | 7 个字符 | 
| 密码必须符合复杂性要求 | 已启用 | 
| 使用可逆加密存储密码 | 已禁用 | 

**注意**  
\$1 42 天的最长密码使用期限包括管理员密码。

例如，对于仅有权访问敏感度不高的信息的员工，您可以设置较为宽松的策略设置。对于定期访问机密信息的高级经理，您可以应用更严格的设置。

以下资源提供了有关 Microsoft Active Directory 精细密码策略和安全策略的更多信息：
+ [配置安全策略设置](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/how-to-configure-security-policy-settings)
+ [密码复杂性要求](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/password-must-meet-complexity-requirements)
+ [密码复杂性安全注意事项](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/password-must-meet-complexity-requirements#security-considerations)

AWS 在托管 AWS Microsoft AD 中提供了一组精细的密码策略，您可以对其进行配置和分配给您的群组。要配置策略，您可以使用标准的 Microsoft 策略工具，例如 [Active Directory 管理中心](https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/get-started/adac/active-directory-administrative-center)。要开始使用 Microsoft Microsoft 策略工具，请参阅[为托管的 Microsoft AD 安装活动目录 AWS 管理工具](ms_ad_install_ad_tools.md)。

## 密码策略的应用方式
<a name="how_password_policies_applied"></a>

 精细密码策略的应用方式存在差异，具体取决于密码是重置的还是更改的。域用户可以更改自己的密码。Active Directory 管理员或具有必要权限的用户可以[重置用户密码](ms_ad_manage_users_groups_reset_password.md)。有关更多信息，请参阅以下图表。


****  

| Policy | 密码重置 | 密码更改 | 
| --- | --- | --- | 
| 强制密码历史 | ![\[No\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/icon-no.png)否 | ![\[Yes\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/icon-yes.png) 是 | 
| 最长密码使用期限 | ![\[Yes\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/icon-yes.png) 是 | ![\[Yes\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/icon-yes.png) 是 | 
| 最短密码使用期限 | ![\[No\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/icon-no.png)否 | ![\[Yes\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/icon-yes.png) 是 | 
| 最短密码长度 | ![\[Yes\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/icon-yes.png) 是 | ![\[Yes\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/icon-yes.png) 是 | 
| 密码必须符合复杂性要求 | ![\[Yes\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/icon-yes.png) 是 | ![\[Yes\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/icon-yes.png) 是 | 

 这些差异具有安全影响。例如，无论何时重置用户的密码，都不会强制使用强制密码历史策略和最短密码使用期限策略。有关更多信息，请参阅 Microsoft 文档，了解与[强制密码历史](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/enforce-password-history#security-considerations)和[最短密码使用期限](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/minimum-password-age#security-considerations)策略相关的安全注意事项。

## 支持的策略设置
<a name="supportedpolicysettings"></a>

AWS 托管 Microsoft AD 包括五个具有不可编辑优先级值的细粒度策略。这些策略具有各种属性，您可以配置这些属性，在出现登录失败的情况下实施密码强度和账户锁定操作。您可以将策略分配给零个或多个 Active Directory 组。如果最终用户是多个组的成员并接收多个密码策略，Active Directory 将会强制实施优先顺序值最低的策略。

### AWS 预定义的密码策略
<a name="supportedpwdpolicies"></a>

下表列出了您的 AWS 托管 Microsoft AD 目录中包含的五个策略及其分配的优先级值。有关更多信息，请参阅 [优先级](#precedence)。


****  

| 策略名称 | 优先级 | 
| --- | --- | 
| CustomerPSO-01 | 10 | 
| CustomerPSO-02 | 20 | 
| CustomerPSO-03 | 30 | 
| CustomerPSO-04 | 40 | 
| CustomerPSO-05 | 50 | 

#### 密码策略属性
<a name="passwordpolicyprop"></a>

您可以编辑您的密码策略中的以下属性，以便符合合规性标准，从而满足您的业务需求。
+ 策略名称
+ [强制密码历史](https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/enforce-password-history)
+ [最短密码长度](https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/minimum-password-length)
+ [最短密码使用期限](https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/minimum-password-age)
+ [最长密码使用期限](https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/maximum-password-age)
+ [使用可逆加密存储密码](https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/store-passwords-using-reversible-encryption)
+ [密码必须符合复杂性要求](https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/password-must-meet-complexity-requirements)

您无法修改这些策略的优先顺序值。有关这些设置如何影响密码强制执行的更多详细信息，请参阅 M *ic TechNet* rosoft 网站上的 [AD DS：精细密码策略](https://technet.microsoft.com/en-us/library/cc770394(v=ws.10).aspx)。有关这些策略的一般信息，请参阅 *Microsoft TechNet* 网站上的[密码策略](https://technet.microsoft.com/en-us/library/hh994572(v=ws.11).aspx)。

### 账户锁定策略
<a name="supportedlockoutpolicies"></a>

您还可以修改密码策略的以下属性，以指定 Active Directory 在登录失败时是否以及如何锁定账户：
+ 允许的最大失败登录尝试数
+ 账户锁定持续时间
+ 在一段持续时间后重置失败的登录尝试

有关这些政策的一般信息，请参阅 *Microsoft TechNet* 网站上的[帐户锁定政策](https://technet.microsoft.com/en-us/library/hh994563(v=ws.11).aspx)。

### 优先级
<a name="precedence"></a>

策略的优先顺序值越小，优先级越高。您可以将密码策略分配给 Active Directory 安全组。虽然您应该将一个策略应用到一个安全组，不过单个用户可以接收多个密码策略。例如，假设 `jsmith` 是 HR 组的成员，同时还是经理组的成员。如果您将 **CustomerPSO-05** (优先顺序值为 50) 分配给 HR 组，将 **CustomerPSO-04** (优先顺序值为 40) 分配给经理组，则 **CustomerPSO-04** 具有更高的优先级，并且 Active Directory 会将策略应用于 `jsmith`。

如果您将多个策略分配给用户或组，Active Directory 将按照以下方式确定生成的策略：

1. 应用您直接分配给用户对象的策略。

1. 如果未直接向用户对象分配任何策略，由于组成员资格的原因，会应用该用户收到的所有策略中具有最低优先顺序值的策略。

有关更多详细信息，请参阅 M *ic TechNet* rosoft 网站上的 [AD DS：精细密码策略](https://technet.microsoft.com/en-us/library/cc770394(v=ws.10).aspx)。

**Topics**
+ [密码策略的应用方式](#how_password_policies_applied)
+ [支持的策略设置](#supportedpolicysettings)
+ [为你的 Microsoft AD AWS 托管用户分配密码策略](assignpasswordpolicies.md)
+ [委派谁可以 AWS 管理你的托管 Microsoft AD 密码策略](delegatepasswordpolicies.md)

**相关 AWS 安全博客文章**
+ [如何使用 AWS 托管 Microsoft AD 来配置更严格的密码策略 Directory Service 以帮助满足你的安全标准](https://aws.amazon.com/blogs/security/how-to-configure-even-stronger-password-policies-to-help-meet-your-security-standards-by-using-aws-directory-service-for-microsoft-active-directory/)

# 为你的 Microsoft AD AWS 托管用户分配密码策略
<a name="assignpasswordpolicies"></a>

作为 **AWS 精细密码策略委托管理员**安全组成员的用户账户可以使用以下过程将策略分配给用户和安全组。

**为您的用户分配密码策略**

1. 从您加入托管的 Microsoft [AD 域的任何托管 EC2 实例启动 Active Directory AWS 管理中心 (ADAC)](https://technet.microsoft.com/en-us/library/dd560651.aspx)。

1. 切换到 **Tree View**，然后导航到 **System\$1Password Settings Container**。

1. 双击您要编辑的精细策略。单击 **Add** 可编辑策略属性，并将用户或安全组添加到策略。有关随 AWS Managed Microsoft AD 一起提供的默认精细策略的更多信息，请参阅 [AWS 预定义的密码策略](ms_ad_password_policies.md#supportedpwdpolicies)。

1. 要验证密码策略是否已应用，请运行以下 PowerShell命令：

   ```
   [Get-ADUserResultantPasswordPolicy](https://docs.microsoft.com/en-us/powershell/module/activedirectory/get-aduserresultantpasswordpolicy?view=windowsserver2022-ps) -Identity 'username'
   ```

**注意**  
避免使用 `net user` 命令，因为其结果可能不准确。

如果您未在 AWS 托管 Microsoft AD 目录中配置五个密码策略中的任何一个，则 Active Directory 将使用默认的域组策略。有关使用**密码设置容器**的其他详细信息，请参阅此 [Microsoft 博客文章](https://blogs.technet.microsoft.com/canitpro/2013/05/29/step-by-step-enabling-and-using-fine-grained-password-policies-in-ad/)。

# 委派谁可以 AWS 管理你的托管 Microsoft AD 密码策略
<a name="delegatepasswordpolicies"></a>

您可以将密码策略管理权限委派给您在托 AWS 管 Microsoft AD 中创建的特定用户帐户，方法是将这些帐户添加到 “**AWS 委托精细密码策略管理员**” 安全组。当账户成为该组的成员时，该账户有权编辑和配置[前面](ms_ad_password_policies.md#supportedpwdpolicies)列出的任何密码策略。

**委托谁可以管理密码策略**

1. 从您加入托管的 Microsoft [AD 域的任何托管 EC2 实例启动 Active Directory AWS 管理中心 (ADAC)](https://technet.microsoft.com/en-us/library/dd560651.aspx)。

1. 切换到**树视图**，然后导航到 **AWS 委托组** OU。有关此 OU 的更多信息，请参阅 [用你的 AWS 托管 Microsoft AD 创建了什么](ms_ad_getting_started_what_gets_created.md)。

1. 查找 **AWS 精细密码策略委托管理员**用户组。将任何用户或组从您的域添加到该组。

# 为 AWS 托管的 Microsoft AD 启用多因素身份验证
<a name="ms_ad_mfa"></a>

您可以为 AWS 托管 Microsoft AD 目录启用多重身份验证 (MFA)，以便在用户指定其 AD 凭证访问支持的亚马逊企业应用程序时提高安全性。启用 MFA 后，您的用户如常输入其用户名和密码 (第一安全要素)，它们还必须输入通过您的虚拟或硬件 MFA 解决方案获取的身份验证代码 (第二安全要素)。除非用户提供有效的用户凭证和 MFA 代码，否则这些安全要素将通过阻止对您的 Amazon 企业应用程序的访问来提高安全性。

要启用 MFA，您必须具有属于[远程身份验证拨入用户服务](https://en.wikipedia.org/wiki/RADIUS)（RADIUS）服务器的 MFA 解决方案，或已在本地基础设施中实现的 RADIUS 服务器必须具有 MFA 插件。您的 MFA 解决方案应实施一次性密码 (OTP)，用户可从硬件设备或在设备（如手机）上运行的软件来获取此密码。

RADIUS 是一种行业标准 client/server 协议，它提供身份验证、授权和记账管理，使用户能够连接到网络服务。 AWS 托管 Microsoft AD 包括一个 RADIUS 客户端，该客户端可连接到你实施了 MFA 解决方案的 RADIUS 服务器。您的 RADIUS 服务器将验证用户名和 OTP 代码。如果你的 RADIUS 服务器成功验证了用户，Microsoft AD 就会 AWS 根据 Active Directory 对用户进行身份验证。Active Directory 身份验证成功后，用户之后可访问 AWS 应用程序。 AWS 托管的 Microsoft AD RADIUS 客户端与你的 RADIUS 服务器之间的通信需要你配置允许通过端口 1812 进行通信 AWS 的安全组。

您可以通过执行以下步骤为 AWS 托管 Microsoft AD 目录启用多因素身份验证。有关如何配置 RADIUS 服务器以使用 Directory Service 和 MFA 的更多信息，请参阅[多重身份验证先决条件](ms_ad_getting_started.md#prereq_mfa_ad)。

## 注意事项
<a name="mfa-considerations"></a>

以下是对 AWS Managed Microsoft AD 进行多重身份验证时的一些注意事项：
+ 多重身份验证对 Simple AD 不可用。但是，可为 AD Connector 目录启用 MFA。有关更多信息，请参阅 [为 AD Connector 启用多重身份验证](ad_connector_mfa.md)。
+ MFA 是 M AWS icrosoft AD 托管的一项区域性功能。如果您使用的是[多区域复制](ms_ad_configure_multi_region_replication.md)，则只能在 AWS 托管 Microsoft AD 的主区域中使用 MFA。
+ 如果您打算使用 AWS 托管 Microsoft AD 进行外部通信，我们建议您在网络外部为这些通信配置网络地址转换 (NAT) Internet Gateway 或 Internet Gateway。 AWS 
  + 如果您希望支持托管的 Microsoft AD 与 AWS 网络上 AWS 托管的 RADIUS 服务器之间的外部通信，请联系[支持](https://console.aws.amazon.com/support/home#/)。
+ 所有亚马逊企业 IT 应用程序 WorkSpaces，包括、、Amazon WorkDocs WorkMail、Amazon Quick，以及使用带 AWS 管理控制台 有 MFA 的 Microsoft AD AWS IAM Identity Center 和 AD Connector AWS 托管时均支持访问和支持。多区域不支持这些使用 MFA 的 AWS 应用程序。

  有关更多信息，请参阅[如何使用 AWS 托管 Microsoft AD 和本地凭据为 AWS 服务启用多因素身份验证](https://aws.amazon.com/blogs/security/how-to-enable-multi-factor-authentication-for-amazon-workspaces-and-amazon-quicksight-by-using-microsoft-ad-and-on-premises-credentials/)。
  + 有关如何配置用户对 Amazon Enterprise 应用程序的基本访问权限、 AWS 单点登录和 AWS 管理控制台 使用的信息 Directory Service，请参阅[从你的 AWS 托管 Microsoft AD 访问 AWS 应用程序和服务](ms_ad_manage_apps_services.md)和[启用 AWS 管理控制台 使用 AWS 托管微软 AD 凭据进行访问](ms_ad_management_console_access.md)。
  + 请参阅以下 AWS 安全博客文章，了解如何在托管 Microsoft AD 上为亚马逊 WorkSpaces 用户启用 MFA，[如何使用托管 AWS M AWS icrosoft AD 和本地凭证为 AWS 服务启用多因素身份验证](https://aws.amazon.com/blogs/security/how-to-enable-multi-factor-authentication-for-amazon-workspaces-and-amazon-quicksight-by-using-microsoft-ad-and-on-premises-credentials/)

## 为 AWS 托管的 Microsoft AD 启用多因素身份验证
<a name="how-to-enable-mfa-for-mad"></a>

以下过程介绍如何为 AWS Managed Microsoft AD 启用多重身份验证。

1. 识别你的 RADIUS MFA 服务器的 IP 地址和你的托管 M AWS icrosoft AD 目录。

1. 编辑您的虚拟私有云 (VPC) 安全组，以启用 AWS 托管的微软 AD IP 端点和 RADIUS MFA 服务器之间通过端口 1812 进行通信。

1. 在 [AWS Directory Service 控制台](https://console.aws.amazon.com/directoryservicev2/)导航窗格中，选择**目录**。

1. 为你的 AWS 托管 Microsoft AD 目录选择目录 ID 链接。

1. 在**报告详细信息**页面上，执行以下操作之一：
   + 如果**多区域复制**下显示多个区域，选择想要启用 MFA 的区域，然后选择**网络与安全**选项卡。有关更多信息，请参阅 [主区域与其他区域](multi-region-global-primary-additional.md)。
   + 如果**多区域复制**下未显示任何区域，选择**网络与安全**选项卡。

1. 在**多重验证**部分中，选择**操作**，然后选择**启用**。

1. 在**启用多重身份验证（MFA）**页面上，提供以下值：  
**显示标签**  
提供标签名称。  
**RADIUS 服务器 DNS 名称或 IP 地址**  
您的 RADIUS 服务器终端节点的 IP 地址或者您的 RADIUS 服务器负载均衡器的 IP 地址。可以输入多个 IP 地址，用逗号分隔开（例如 `192.0.0.0,192.0.0.12`）。  
RADIUS MFA 仅适用于对亚马逊企业应用程序和服务（例如 Amazon Quick 或 Ama WorkSpaces zon Chime）的访问权限进行身份验证。 AWS 管理控制台只有为 AWS 托管 Microsoft AD 配置了多区域复制时，主区域才支持亚马逊企业应用程序和服务。它不为在 EC2 实例上运行的 Windows 工作负载提供 MFA，也不会为登录 EC2 实例提供 MFA。 Directory Service 不支持 RADIUS 质询/响应身份验证。  
用户在输入其用户名和密码时必须拥有 MFA 代码。或者，您必须使用执行 MFA 的解决方案， out-of-band例如推送通知或用户身份验证器一次性密码 (OTP)。在 out-of-band MFA 解决方案中，必须确保为您的解决方案正确设置 RADIUS 超时值。使用 out-of-band MFA 解决方案时，登录页面将提示用户输入 MFA 代码。在这种情况下，用户必须在密码字段和 MFA 字段中均输入密码。  
**端口**：  
RADIUS 服务器用来通信的端口。您的本地网络必须允许服务器通过默认 RADIUS 服务器端口 (UDP: 1812) 的入站流量。 Directory Service   
**Shared secret code**  
在创建 RADIUS 终端节点时指定的共享密码。  
**Confirm shared secret code (确认共享密码)**  
确认您的 RADIUS 终端节点的共享密码。  
**协议**  
选择在创建 RADIUS 终端节点时指定的协议。  
**服务器超时（以秒为单位）**  
等待 RADIUS 服务器响应的时间长度 (以秒为单位)。此值必须介于 1 和 50 之间。  
我们建议将 RADIUS 服务器超时配置为 20 秒或更短。如果超时超过 20 秒，则系统无法使用其他 RADIUS 服务器重试，并可能导致超时失败。  
**RADIUS 请求最大重试次数**  
将尝试与 RADIUS 服务器通信的次数。此值必须介于 0 和 10 之间。

   当 **RADIUS Status** 更改为 **Enabled** 时，多重验证将可用。

1. 请选择**启用**。

# 启用安全 LDAP 或 LDAPS
<a name="ms_ad_ldap"></a>

轻量目录访问协议 (LDAP) 是用于与 Active Directory 之间读取和写入数据的标准通信协议。一些应用程序使用 LDAP 在 Active Directory 中添加、删除或搜索用户和组，或者传输凭证以便在 Active Directory 中对用户进行身份验证。每个 LDAP 通信均包括一个客户端（例如应用程序）和一个服务器（例如 Active Directory）。

默认情况下，LDAP 通信未加密。这使得恶意用户能够使用网络监控软件查看传输中的数据包。这就是许多企业安全策略通常要求组织加密所有 LDAP 通信的原因。

为了缓解这种形式的数据泄露，Microsoft AD AWS 托管提供了一个选项：你可以启用基于安全套接字层 (SSL) /传输层安全 (TLS) 的 LDAP，也称为 LDAPS。利用 LDAPS，您可以提高整个网络的安全性。您还可以通过加密支持 LDAP 的应用程序与托管 AWS Microsoft AD 之间的所有通信来满足合规性要求。

AWS 托管 Microsoft AD 在以下部署场景中为 LDAPS 提供支持：
+ **服务器端 LDAPS** 对商业或自行开发的 LDAP 感知型应用程序（充当 LDAP 客户端）和 AWS Managed Microsoft AD（充当 LDAP 服务器）之间的 LDAP 通信进行加密。有关更多信息，请参阅 [使用托管 AWS Microsoft AD 启用服务器端 LDAPS](ms_ad_ldap_server_side.md)。
+ **客户端 LDAPS** 对 AWS 应用程序之间的 LDAP 通信进行加密，例如 WorkSpaces （充当 LDAP 客户端）和您的自我管理（本地）Active Directory（充当 LDAP 服务器）。有关更多信息，请参阅 [使用托管 AWS Microsoft AD 启用客户端 LDAPS](ms_ad_ldap_client_side.md)。

有关确保实施 Microsoft Active Directory Certificate Services 的最佳做法的更多信息，请参阅 [Microsoft 文档](https://learn.microsoft.com/en-us/defender-for-identity/security-assessment-prevent-users-request-certificate)。

**Topics**
+ [使用托管 AWS Microsoft AD 启用服务器端 LDAPS](ms_ad_ldap_server_side.md)
+ [使用托管 AWS Microsoft AD 启用客户端 LDAPS](ms_ad_ldap_client_side.md)

# 使用托管 AWS Microsoft AD 启用服务器端 LDAPS
<a name="ms_ad_ldap_server_side"></a>

服务器端Lightweight Directory Access Protocol Secure Sockets Layer (SSL)/Transport Layer Security (TLS) (LDAPS)支持可加密您的商业或本土应用程序与托管 AWS Microsoft LDAP AD 目录之间的LDAP通信。这有助于使用 Secure Sockets Layer (SSL) 加密协议来提高整个网络的安全性并满足合规性要求。

## 使用启用服务器端 LDAPS AWS 私有证书颁发机构
<a name="enableserversideldaps_pca"></a>

有关如何使用设置和配置服务器端 LDAPS 和证书颁发机构 (CA) 服务器的详细说明 AWS 私有 CA，请参阅。[为 AWS 托管的 Microsoft AD 设置 AD AWS 私有 CA 连接器](ms_ad_pca_connector.md)

## 使用 Microsoft CA 启用服务器端 LDAPS
<a name="enableserversideldaps_msca"></a>

有关如何设置和配置服务器端 LDAPS 和您的证书颁发机构 (CA) 服务器的详细说明，请参阅安全博客上的[如何为托管的 AWS Microsoft AD 目录启用服务器端 LDAPS](https://aws.amazon.com/blogs/security/how-to-enable-ldaps-for-your-aws-microsoft-ad-directory/)。 AWS 

您必须从用来管理 AWS Managed Microsoft AD 域控制器的 Amazon EC2 实例执行大多数设置。以下步骤指导您完成在 AWS 云中为您的域启用 LDAPS 的过程。

如果您想使用自动化来设置PKI基础架构，可以使用 Gu [AWS QuickStart ide 中的Microsoft公钥基础架构](https://aws.amazon.com/quickstart/architecture/microsoft-pki/)。具体而言，您需要按照指南中的说明加载模版，以便将 [MicrosoftPKI 部署到 AWS上的现有 VPC 中](https://aws-quickstart.github.io/quickstart-microsoft-pki/#_deployment_steps)。加载模板后，请务必在到达 **Active Directory 域服务**选项时选择 **`AWSManaged`**。如果您使用了该 QuickStart 指南，则可以直接跳至[步骤 3：创建证书模板](#createcustomcert)。

**Topics**
+ [步骤 1：委托谁可以启用 LDAPS](#grantpermsldaps)
+ [步骤 2：设置证书颁发机构](#setupca)
+ [步骤 3：创建证书模板](#createcustomcert)
+ [步骤 4：添加安全组规则](#addgrouprules)

### 步骤 1：委托谁可以启用 LDAPS
<a name="grantpermsldaps"></a>

要启用服务器端 LDAPS，您必须是托管 AWS Microsoft AD 目录中的管理员或企业证书 AWS 授权机构管理员组的成员。或者，您可以是默认管理用户（管理员账户）。如果您愿意，您可以拥有一个管理员账户设置 LDAPS 之外的用户。在这种情况下，请将该用户添加到 AWS 托管 Microsoft AD 目录中的管理员或企业证书 AWS 授权机构管理员组中。

### 步骤 2：设置证书颁发机构
<a name="setupca"></a>

您必须先创建一个证书，然后才能启用服务器端 LDAPS。此证书必须由已加入 AWS Managed Microsoft AD 域的 Microsoft Enterprise CA 服务器颁发。在创建后，该证书必须安装到该域中您的每个域控制器上。此证书使域控制器上的 LDAP 服务能够侦听并自动接受来自 LDAP 客户端的 SSL 连接。

**注意**  
带有托管 AWS Microsoft AD 的服务器端 LDAPS 不支持由独立 CA 颁发的证书。此外，它也不支持由第三方证书颁发机构颁发的证书。

根据您的业务需求，您有以下选择来设置或连接到您域中的 CA：
+ **创建从属**服务器 Microsoft Enterprise CA-（推荐）使用此选项，您可以在 AWS 云中部署从属MicrosoftEnterprise CA服务器。该服务器可以使用 Amazon EC2，这样便能使用您现有的根 Microsoft CA。有关如何设置下属目录的更多信息 MicrosoftEnterprise CA，请参阅如何为托管 [AWS Microsoft A MicrosoftEnterprise CA D AWSMicrosoftAD 目录启用服务器端 LDAPS 中的步骤 4：向](https://aws.amazon.com/blogs/security/how-to-enable-ldaps-for-your-aws-microsoft-ad-directory/)**目录中添加**。
+ **创建根 Microsoft Enterprise CA** — 使用此选项，您可以使用 Amazon EC2 在 AWS 云MicrosoftEnterprise CA中创建根并将其加入您的 AWS 托管 Microsoft AD 域。此根 CA 可以向您的域控制器颁发证书。有关设置新的根 CA 的更多信息，请参阅[如何为托管的 AWS Microsoft AD 目录启用服务器端 LDAPS](https://aws.amazon.com/blogs/security/how-to-enable-ldaps-for-your-aws-microsoft-ad-directory/) 中的**步骤 3：安装和配置离线 CA**。

有关如何将您的 EC2 实例加入域的更多信息，请参阅[将 Amazon EC2 实例加入您的 AWS 托管微软 AD 的方法](ms_ad_join_instance.md)。

### 步骤 3：创建证书模板
<a name="createcustomcert"></a>

设置 Enterprise CA 后，即可配置 Kerberos 身份验证证书模板。

**创建证书模板**

1. 启动 **Microsoft Windows Server Manager**。依次选择**工具 > 证书颁发机构**。

1. 在**证书颁发机构**窗口中，展开左侧窗格中的**证书颁发机构**树。右键单击**证书模版**，然后选择**管理**。

1. 在**证书模版控制台**窗口中，右键单击**域控制器**，然后选择**重复模版**。

1. 系统将会弹出**新模板的属性**窗口。

1. 在**新模板的属性**窗口中，转到**兼容性**选项卡，然后执行以下操作：

   1. 将**证书颁发机构**更改为与 CA 匹配的 OS。

   1. 如果系统弹出**生成的更改**窗口，选择**确定**。

   1. 将**证书接收者**更改为 **Windows 10/Windows Server 2016**。
**注意**  
AWS 托管 Microsoft AD 由提供支持Windows Server 2019。

   1. 如果系统弹出**生成的更改**窗口，选择**确定**。

1. 单击 “**常规**” 选项卡，将**模板显示名称更改为 LDAPOver** **SSL** 或您想要的任何其他名称。

1. 单击**安全**选项卡，然后选择**组或用户名称**部分中的**域控制器** 。在**域控制器的权限**部分，确认已选中**读取**、**注册**和**自动注册**的**允许**复选框。

1. 选择 “**确定”** 创建 **LDAPOverSSL**（或您在上面指定的名称）证书模板。关闭**证书模板控制台**窗口。

1. 在**证书颁发机构**窗口中，右键单击**证书模版**，然后依次选择**新建 > 要颁发的证书模版**。

1. 在 “**启用证书模板**” 窗口中，选择 **LDAPOverSSL**（或您在上面指定的名称），然后选择 “**确定”**。

### 步骤 4：添加安全组规则
<a name="addgrouprules"></a>

在最后一步中，您必须打开 Amazon EC2 控制台并添加安全组规则。这些规则将允许您的域控制器连接到 Enterprise CA 以请求证书。为此，请添加入站规则，以便您的 Enterprise CA 可以接受来自您的域控制器的传入流量。然后，添加出站规则以允许从您的域控制器到 Enterprise CA 的流量。

一旦配置了两个规则，您的域控制器会自动从您的 Enterprise CA 请求证书，并为您的目录启用 LDAPS。您的域控制器上的 LDAP 服务现已准备好接受 LDAPS 连接。

**配置安全组规则**

1. 在 [https://console.aws.amazon.com/ec2 上导航到您的 Amazon EC2](https://console.aws.amazon.com/ec2) 控制台，然后使用管理员凭证登录。

1. 在左侧窗格中，选择 **Network & Security** 下方的 **Security Groups**。

1. 在主窗格中，为您的 CA 选择 AWS 安全组。

1. 选择 **Inbound ** 选项卡，然后选择 **Edit**。

1. 在 **Edit inbound rules** 对话框中，执行以下操作：
   + 选择**添加规则**。
   + 为 **Type** 选择 **All traffic**，并为 **Source** 选择 **Custom**。
   + 在 S **our** ce 旁边的框中输入目录 AWS 的安全组（例如`sg-123456789`）。
   + 选择**保存**。

1. 现在选择你的 Microsoft AD AWS 托管目录 AWS 的安全组。选择 **Outbound** 选项卡，然后选择 **Edit**。

1. 在 **Edit outbound rules** 对话框中，执行以下操作：
   + 选择**添加规则**。
   + 为 **Type** 选择 **All traffic**，并为 **Destination** 选择 **Custom**。
   + 在 “**目标**” 旁边的框中输入 CA AWS 的安全组。
   + 选择**保存**。

您可以使用该LDP工具测试 LDAPS 与 AWS 托管 Microsoft AD 目录的连接。LDP 工具附带 Active Directory Administrative Tools。有关更多信息，请参阅 [为托管的 Microsoft AD 安装活动目录 AWS 管理工具](ms_ad_install_ad_tools.md)。

**注意**  
在测试 LDAPS 连接之前，您必须等待最长 30 分钟时间，以便从属 CA 向域控制器颁发证书。

有关服务器端 LDAPS 的更多详细信息以及如何进行设置的示例用例，请参阅安全博客上的如何为[托管 AWS Microsoft AD 目录启用服务器端 LDAPS](https://aws.amazon.com/blogs/security/how-to-enable-ldaps-for-your-aws-microsoft-ad-directory/)。 AWS 

# 使用托管 AWS Microsoft AD 启用客户端 LDAPS
<a name="ms_ad_ldap_client_side"></a>

托管 AWS Microsoft AD 中的客户端轻量级目录访问协议安全套接字层 (SSL) /传输层安全 (TLS) (LDAPS) 支持加密自我管理（本地）微软活动目录 (AD) 与应用程序之间的通信。 AWS 此类应用程序的示例包括 WorkSpaces、 AWS IAM Identity Center、Quick 和 Amazon Chime。此加密可帮助您更好地保护您组织的身份数据并满足您的安全要求。

## 先决条件
<a name="ldap_client_side_prerequisites"></a>

启用客户端 LDAPS 之前，您需要满足以下要求。

**Topics**
+ [在你的 AWS 托管 Microsoft AD 和自我管理的Microsoft活动目录之间建立信任关系](#trust_relationship_MAD_and_self_managed)
+ [在 Active Directory 中部署服务器证书](#ldap_client_side_deploy_server_certs)
+ [证书颁发机构证书要求](#ldap_client_side_get_certs_ready)
+ [联网要求](#ldap_client_side_considerations_enabling)

### 在你的 AWS 托管 Microsoft AD 和自我管理的Microsoft活动目录之间建立信任关系
<a name="trust_relationship_MAD_and_self_managed"></a>

首先，你需要在托管的 Microsoft AD 和自我 AWS 管理的 Act Microsoft ive Directory 之间建立信任关系，才能启用客户端 LDAPS。有关更多信息，请参阅 [在你的 Microsoft AWS 托管 AD 和自我管理的 AD 之间建立信任关系](ms_ad_setup_trust.md)。

### 在 Active Directory 中部署服务器证书
<a name="ldap_client_side_deploy_server_certs"></a>

要启用客户端 LDAPS，您需要为 Active Directory 中的每个域控制器获取并安装服务器证书。LDAP 服务将使用这些证书来侦听并自动接受来自 LDAP 客户端的 SSL 连接。您可以使用由内部 Active Directory Certificate Services (ADCS) 部署颁发的或从商业颁发机构处购买的 SSL 证书。有关 Active Directory 服务器证书要求的更多信息，请参阅 Microsoft 网站上的 [LDAP over SSL (LDAPS) 证书](https://social.technet.microsoft.com/wiki/contents/articles/2980.ldap-over-ssl-ldaps-certificate.aspx)。

### 证书颁发机构证书要求
<a name="ldap_client_side_get_certs_ready"></a>

客户端 LDAPS 操作需要证书颁发机构 (CA) 证书，它表示服务器证书的颁发者。CA 证书将与由 Active Directory 域控制器提供的服务器证书匹配来加密 LDAP 通信。请注意以下 CA 证书要求：
+ 需要企业证书颁发机构（CA）以启用客户端 LDAPS。您可以使用 Active Directory 证书服务、第三方商业证书颁发机构或 [AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)。有关 Microsoft 企业证书颁发机构的更多信息，请参阅 [Microsoft 文档](https://learn.microsoft.com/en-us/previous-versions/tn-archive/cc875810(v=technet.10)?redirectedfrom=MSDN)。
+  要注册一个证书，该证书必须在 90 天以后才到期。
+ 证书必须采用隐私增强邮件 (PEM) 格式。如果要从 Active Directory 内部导出 CA 证书，请选择 base64 编码的 X.509 (.CER) 作为导出文件格式。
+ 每个 AWS 托管 Microsoft AD 目录最多可以存储五 (5) 个 CA 证书。
+ 使用 RSSAS-PSS 签名算法的证书不受支持。
+ 必须注册链接到每个受信任域中的每个服务器证书的 CA 证书。

### 联网要求
<a name="ldap_client_side_considerations_enabling"></a>

AWS 应用程序 LDAP 流量将仅在 TCP 端口 636 上运行，不会回退到 LDAP 端口 389。但是，支持复制、信任等的 Windows LDAP 通信将继续使用带有 Windows 本机安全性的 LDAP 端口 389。配置 AWS 安全组和网络防火墙，以允许托管 AWS Microsoft AD（出站）和自我管理的 Active Directory（入站）中的端口 636 上进行 TCP 通信。在 AWS Managed Microsoft AD 和自托管式 Active Directory 之间保留开放的 LDAP 端口 389。

## 启用客户端 LDAPS
<a name="enableclientsideldaps"></a>

要启用客户端 LDAPS，您需要将证书颁发机构（CA）证书导入 AWS Managed Microsoft AD，然后在目录上启用 LDAPS。启用后， AWS 应用程序与您自行管理的 Active Directory 之间的所有 LDAP 通信将通过安全套接字层 (SSL) 通道加密进行传输。

您可以使用两种不同的方法为您的目录启用客户端 LDAPS。您可以使用 AWS 管理控制台 方法或 AWS CLI 方法。

**注意**  
客户端 LDAPS 是 AWS Microsoft 托管 AD 的一项区域性功能。如果您使用的是[多区域复制](ms_ad_configure_multi_region_replication.md)，则必须分别在每个区域中应用以下过程。有关更多信息，请参阅 [全局与区域特色](multi-region-global-region-features.md)。

**Topics**
+ [步骤 1：在中注册证书 Directory Service](#ms_ad_registercert)
+ [步骤 2：检查注册状态](#ms_ad_check-registration-status)
+ [步骤 3：启用客户端 LDAPS](#ms_ad_enableclientsideldapssteps)
+ [步骤 4：查看 LDAPS 状态](#ms_ad_check-ldaps-status)

### 步骤 1：在中注册证书 Directory Service
<a name="ms_ad_registercert"></a>

使用以下任一方法在中注册证书 Directory Service。

**方法 1：在 Directory Service (AWS 管理控制台) 中注册您的证书**

1. 在 [AWS Directory Service 控制台](https://console.aws.amazon.com/directoryservicev2/)导航窗格中，选择**目录**。

1. 选择目录的目录 ID 链接。

1. 在**报告详细信息**页面上，执行以下操作之一：
   + 如果**多区域复制**下显示多个区域，选择想要注册证书的区域，然后选择**网络与安全**选项卡。有关更多信息，请参阅 [主区域与其他区域](multi-region-global-primary-additional.md)。
   + 如果**多区域复制**下未显示任何区域，选择**网络与安全**选项卡。

1. 在 **Client-side LDAPS (客户端 LDAPS)** 部分中，选择 **Actions (操作)** 菜单，然后选择 **Register certificate (注册证书)**。

1. 在 **Register a CA certificate (注册 CA 证书)** 对话框中，选择 **Browse (浏览)**，然后选择证书并选择 **Open (打开)**。

1. 选择 **Register certificate (注册证书)**。

**方法 2：在 Directory Service (AWS CLI) 中注册您的证书**
+ 运行如下命令。对于证书数据，请指向 CA 证书文件的位置。响应中将会提供证书 ID。

  ```
  aws ds register-certificate --directory-id your_directory_id --certificate-data file://your_file_path
  ```

### 步骤 2：检查注册状态
<a name="ms_ad_check-registration-status"></a>

要查看证书注册的状态或已注册证书的列表，请使用以下任一方法。

**方法 1：在 Directory Service (AWS 管理控制台) 中检查证书注册状态**

1. 转到**目录详细信息**页面上的**客户端 LDAPS** 部分。

1. 查看 **Registration status (注册状态)** 列下显示的当前证书注册状态。当注册状态值更改为 **Registered (已注册)** 时，您的证书已成功注册。

**方法 2：在 Directory Service (AWS CLI) 中检查证书注册状态**
+ 运行如下命令。如果状态值返回 `Registered`，则表示您的证书已成功注册。

  ```
  aws ds list-certificates --directory-id your_directory_id
  ```

### 步骤 3：启用客户端 LDAPS
<a name="ms_ad_enableclientsideldapssteps"></a>

使用以下任一方法在中启用客户端 LDAPS。 Directory Service

**注意**  
您必须已成功注册至少一个证书，然后才能启用客户端 LDAPS。

**方法 1：在 () 中 Directory Service 启用客户端 LDAPS AWS 管理控制台**

1. 转到**目录详细信息**页面上的**客户端 LDAPS** 部分。

1. 请选择**启用**。如果此选项不可用，请验证有效证书是否已成功注册，然后重试。

1. 在 **Enable client-side LDAPS (启用客户端 LDAPS)** 对话框中，选择 **Enable (启用)**。

**方法 2：在 () 中 Directory Service 启用客户端 LDAPS AWS CLI**
+ 运行如下命令。

  ```
  aws ds enable-ldaps --directory-id your_directory_id --type Client
  ```

### 步骤 4：查看 LDAPS 状态
<a name="ms_ad_check-ldaps-status"></a>

使用以下任一方法在中检查 LDAPS 状态。 Directory Service

**方法 1：在 Directory Service ()AWS 管理控制台中检查 LDAPS 状态**

1. 转到**目录详细信息**页面上的**客户端 LDAPS** 部分。

1. 如果状态值显示为 **Enabled (启用)**，则 LDAPS 已成功配置。

**方法 2：在 Directory Service ()AWS CLI中检查 LDAPS 状态**
+ 运行如下命令。如果状态值返回 `Enabled`，则 LDAPS 已成功配置。

  ```
  aws ds describe-ldaps-settings –-directory-id your_directory_id
  ```

## 管理客户端 LDAPS
<a name="ms_ad_manage-client-side-ldaps"></a>

使用这些命令可管理 LDAPS 配置。

您可以使用两种不同的方法来管理客户端 LDAPS 设置。您可以使用 AWS 管理控制台 方法或 AWS CLI 方法。

### 查看证书详细信息
<a name="ms_ad_describe-a-certificate"></a>

使用下列方法之一查看证书设置为何时过期。

**方法 1：在 Directory Service (AWS 管理控制台) 中查看证书详细信息**

1. 在 [AWS Directory Service 控制台](https://console.aws.amazon.com/directoryservicev2/)导航窗格中，选择**目录**。

1. 选择目录的目录 ID 链接。

1. 在**报告详细信息**页面上，执行以下操作之一：
   + 如果**多区域复制**下显示多个区域，选择想要查看证书的区域，然后选择**网络与安全**选项卡。有关更多信息，请参阅 [主区域与其他区域](multi-region-global-primary-additional.md)。
   + 如果**多区域复制**下未显示任何区域，选择**网络与安全**选项卡。

1. 在 **Client-side LDAPS (客户端 LDAPS)** 部分的 **CA certificates (CA 证书)** 下，将显示有关证书的信息。

**方法 2：在 Directory Service (AWS CLI) 中查看证书详细信息**
+ 运行如下命令。对于证书 ID，请使用由 `register-certificate` 或 `list-certificates` 返回的标识符。

  ```
  aws ds describe-certificate --directory-id your_directory_id --certificate-id your_cert_id
  ```

### 取消注册证书
<a name="ms_ad_dergister-a-certificate"></a>

使用下列方法之一取消注册证书。

**注意**  
如果只注册了一个证书，则必须先禁用 LDAPS，然后才能取消注册证书。

**方法 1：在 Directory Service ()AWS 管理控制台中注销证书**

1. 在 [AWS Directory Service 控制台](https://console.aws.amazon.com/directoryservicev2/)导航窗格中，选择**目录**。

1. 选择目录的目录 ID 链接。

1. 在**报告详细信息**页面上，执行以下操作之一：
   + 如果**多区域复制**下显示多个区域，选择想要取消注册证书的区域，然后选择**网络与安全**选项卡。有关更多信息，请参阅 [主区域与其他区域](multi-region-global-primary-additional.md)。
   + 如果**多区域复制**下未显示任何区域，选择**网络与安全**选项卡。

1. 在 **Client-side LDAPS (客户端 LDAPS)** 部分中，选择 **Actions (操作)**，然后选择 **Deregister certificate (取消注册证书)**。

1. 在 **Deregister a CA certificate (取消注册 CA 证书)** 对话框中，选择 **Deregister (取消注册)**。

**方法 2：在 Directory Service ()AWS CLI中注销证书**
+ 运行如下命令。对于证书 ID，请使用由 `register-certificate` 或 `list-certificates` 返回的标识符。

  ```
  aws ds deregister-certificate --directory-id your_directory_id --certificate-id your_cert_id
  ```

### 禁用客户端 LDAPS
<a name="ms_ad_disable-client-side-ldaps"></a>

使用下列方法之一禁用客户端 LDAPS。

**方法 1：在 () 中 Directory Service 禁用客户端 LDAPS AWS 管理控制台**

1. 在 [AWS Directory Service 控制台](https://console.aws.amazon.com/directoryservicev2/)导航窗格中，选择**目录**。

1. 选择目录的目录 ID 链接。

1. 在**报告详细信息**页面上，执行以下操作之一：
   + 如果**多区域复制**下显示多个区域，选择想要禁用客户端 LDAPS 的区域，然后选择**网络与安全**选项卡。有关更多信息，请参阅 [主区域与其他区域](multi-region-global-primary-additional.md)。
   + 如果**多区域复制**下未显示任何区域，选择**网络与安全**选项卡。

1. 在 **Client-side LDAPS (客户端 LDAPS)** 部分中，选择 **Disable (禁用)**。

1. 在 **Disable client-side LDAPS (禁用客户端 LDAPS)** 对话框中，选择 **Disable (禁用)**。

**方法 2：在 () 中 Directory Service 禁用客户端 LDAPS AWS CLI**
+ 运行如下命令。

  ```
  aws ds disable-ldaps --directory-id your_directory_id --type Client
  ```

## 证书注册问题
<a name="certificate_enrollment_issue"></a>

使用 CA 证书注册 AWS 托管 Microsoft AD 域控制器的过程最多可能需要 30 分钟。如果您在证书注册时遇到问题，并且想要重新启动 AWS 托管 Microsoft AD 域控制器，可以联系 支持。要创建支持案例，请参阅[创建支持案例和案例管理](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html)。

# 管理 AWS 托管微软 AD 的合规性
<a name="ms_ad_compliance"></a>

你可以使用 AWS 托管 Microsoft AD 来支持 AWS 云端中你的 Active Directory 感知 Active Directory 的应用程序，这些应用程序必须遵守以下合规性要求。不过，如果您使用 Simple AD，应用程序将不符合合规性要求。

## 支持的合规性标准
<a name="supportedcompliancead"></a>

AWS 托管 Microsoft AD 已经过以下标准的审计，有资格作为解决方案的一部分使用，你需要获得合规性认证。


****  

|  |  | 
| --- |--- |
| ![\[FedRamp Logo\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/FedRAMP.png) | AWS 托管 Microsoft AD 符合联邦风险和授权管理计划 (FedRAMP) 的安全要求，并已获得 FedRAMP 中等和高基线的 FedRAMP 联合授权委员会 (JAB) 临时运营授权 (P-ATO)。有关 FedRAMP 的更多信息，请参阅 [ FedRAMP 合规性](https://aws.amazon.com/compliance/fedramp/)。 | 
| ![\[PCI Logo\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/PCI.png) | AWS 托管 Microsoft AD 在服务提供商级别为 1 的支付卡行业 (PCI) 数据安全标准 (DSS) 3.2 版合规性认证。使用 AWS 产品和服务存储、处理或传输持卡人数据的客户可以使用 AWS 托管 Microsoft AD 来管理自己的 PCI DSS 合规性认证。 有关 PCI DSS 的更多信息，包括如何申请 PCI Compliance Package 的副本，请参阅 AWS [PCI](https://aws.amazon.com/compliance/pci-dss-level-1-faqs/) DSS 第 1 级。重要的是，您必须在托管 AWS Microsoft AD 中配置精细的密码策略，使其与 PCI DSS 版本 3.2 标准保持一致。有关必须强制执行哪些策略的详细信息，请参阅下面标题为 “为 AWS 托管的 Microsoft AD 目录启用 PCI 合规性” 的部分。 | 
| ![\[HIPPA Logo\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/HIPAA.jpg) | AWS 已扩大其《健康保险流通与责任法案》（HIPAA）合规计划，将托管 AWS 微软广告列为符合 [HIP](https://aws.amazon.com/compliance/hipaa-eligible-services-reference/) AA资格的服务。如果您与签订了商业伙伴协议 (BAA) AWS，则可以使用 AWS 托管 Microsoft AD 来帮助构建符合 HIPAA 标准的应用程序。 AWS 为有兴趣进一步了解如何利用健康信息处理和存储的客户提供了一[份以 HIPAA AWS 为重点的白皮书](https://docs.aws.amazon.com/pdfs/whitepapers/latest/architecting-hipaa-security-and-compliance-on-aws/architecting-hipaa-security-and-compliance-on-aws.pdf)。有关更多信息，请参阅 [HIPAA 合规性](https://aws.amazon.com/compliance/hipaa-compliance/)。 | 

## 责任共担
<a name="sharedresponsibilityad"></a>

安全性（包括 HIPAA 和 PCI 合规性）是一项[责任共担](https://aws.amazon.com/compliance/shared-responsibility-model/)工作。必须明白， AWS 托管 Microsoft AD 合规性状态不会自动应用于你在 AWS 云端运行的应用程序。您需要确保您对 AWS 服务的使用符合标准。

有关 AWS 托管 Microsoft AD 支持的所有各种 AWS 合规计划的完整列表，请参阅[按合规计划划分的范围内的AWS 服务](https://aws.amazon.com/compliance/services-in-scope/)。

## 为你的微软 AD AWS 托管目录启用 PCI 合规性
<a name="enablepciad"></a>

要为您的 AWS 托管 Microsoft AD 目录启用 PCI 合规性，您必须按照提供的 PCI DSS 合规性证明 (AOC) 和责任摘要文档中的规定配置精细的密码策略。 AWS Artifact

有关使用精细密码策略的更多信息，请参阅[了解 AWS 托管微软 AD 密码策略](ms_ad_password_policies.md)。

# 增强你的 Microsoft AD AWS 托管网络安全配置
<a name="ms_ad_network_security"></a>

为 AWS 托管 Microsoft AD 目录配置 AWS 的安全组配置了支持托管 Microsoft AD 目录的所有已知用例所需的最小入站网络端口。 AWS 有关已配置 AWS 安全组的更多信息，请参阅[用你的 AWS 托管 Microsoft AD 创建了什么](ms_ad_getting_started_what_gets_created.md)。

要进一步增强 AWS 托管 Microsoft AD 目录的网络 AWS 安全，您可以根据以下常见情况修改安全组。

**客户域控制器 CIDR**：此 CIDR 数据块是本地域控制器所在的地方。

**客户客户端 CIDR**-此 CIDR 块是您的客户端（例如计算机或用户）向您的托管 AWS Microsoft AD 进行身份验证的地方。你的 AWS 托管 Microsoft AD 域控制器也位于此 CIDR 块中。

**Topics**
+ [AWS 仅支持应用程序](#aws_apps_support)
+ [AWS 仅支持信任的应用程序](#aws_apps_trust_support)
+ [AWS 应用程序和原生活动目录工作负载支持](#aws_apps_native_ad_support)
+ [AWS 应用程序和本地活动目录工作负载支持，支持信任支持](#aws_apps_native_ad_trust_support)

## AWS 仅支持应用程序
<a name="aws_apps_support"></a>

所有用户帐户仅在您的 AWS 托管 Microsoft AD 中进行配置，以便与支持的 AWS 应用程序一起使用，例如：
+ Amazon Chime
+ Amazon Connect
+ Quick
+ AWS IAM Identity Center
+ WorkDocs
+ Amazon WorkMail
+ AWS Client VPN
+ AWS 管理控制台

您可以使用以下 AWS 安全组配置来阻止所有流向 AWS 托管 Microsoft AD 域控制器的非必要流量。

**注意**  
以下内容与此 AWS 安全组配置不兼容：  
Amazon EC2 实例
Amazon FSx
Amazon RDS for MySQL
Amazon RDS for Oracle
Amazon RDS for PostgreSQL
Amazon RDS for SQL Server
WorkSpaces
Active Directory 信任
加入域的客户端或服务器

**入站规则**

无。

**出站规则**

无。

## AWS 仅支持信任的应用程序
<a name="aws_apps_trust_support"></a>

所有用户帐户均在您的 AWS 托管 Microsoft AD 或受信任的 Active Directory 中进行配置，以便与支持的 AWS 应用程序一起使用，例如：
+ Amazon Chime
+ Amazon Connect
+ Quick
+ AWS IAM Identity Center
+ WorkDocs
+ Amazon WorkMail
+ Amazon WorkSpaces
+ AWS Client VPN
+ AWS 管理控制台

您可以修改已配置 AWS 的安全组配置，以阻止所有流向托管 AWS Microsoft AD 域控制器的非必要流量。

**注意**  
以下内容与此 AWS 安全组配置不兼容：  
Amazon EC2 实例
Amazon FSx
Amazon RDS for MySQL
Amazon RDS for Oracle
Amazon RDS for PostgreSQL
Amazon RDS for SQL Server
WorkSpaces
Active Directory 信任
加入域的客户端或服务器
此配置要求您确保“客户域控制器 CIDR”网络是安全的。
TCP 445 仅用于创建信任，可在建立信任后删除。
仅当使用基于 SSL 的 LDAP 时，才需要 TCP 636。

**入站规则**


****  

| 协议 | 端口范围 | 来源 | 流量的类型 | Active Directory 使用情况 | 
| --- | --- | --- | --- | --- | 
| TCP 和 UDP  | 53 | 客户域控制器 CIDR | DNS | 用户和计算机身份验证、名称解析、信任  | 
| TCP 和 UDP  | 88 | 客户域控制器 CIDR | Kerberos | 用户和计算机身份验证、林级信任 | 
| TCP 和 UDP  | 389 | 客户域控制器 CIDR | LDAP | 目录、复制、用户和计算机身份验证组策略、信任 | 
| TCP 和 UDP  | 464 | 客户域控制器 CIDR | Kerberos 更改/设置密码 | 复制、用户和计算机身份验证、信任 | 
| TCP | 445 | 客户域控制器 CIDR | SMB / CIFS | 复制、用户和计算机身份验证、组策略信任 | 
| TCP | 135 | 客户域控制器 CIDR | 复制 | RPC、EPM | 
| TCP | 636 | 客户域控制器 CIDR | LDAP SSL | 目录、复制、用户和计算机身份验证组策略、信任 | 
| TCP | 49152 - 65535 | 客户域控制器 CIDR | RPC | 复制、用户和计算机身份验证、组策略、信任 | 
| TCP | 3268 - 3269 | 客户域控制器 CIDR | LDAP GC 和 LDAP GC SSL | 目录、复制、用户和计算机身份验证组策略、信任 | 
| UDP | 123 | 客户域控制器 CIDR | Windows 时间 | Windows 时间、信任 | 

**出站规则**


****  

| 协议 | 端口范围 | 来源 | 流量的类型 | Active Directory 使用情况 | 
| --- | --- | --- | --- | --- | 
| 全部 | 全部 | 客户域控制器 CIDR | 所有流量 |  | 

## AWS 应用程序和原生活动目录工作负载支持
<a name="aws_apps_native_ad_support"></a>

仅在您的 AWS 托管 Microsoft AD 中配置用户帐户，以便与支持的 AWS 应用程序一起使用，例如：
+ Amazon Chime
+ Amazon Connect
+ Amazon EC2 实例
+ Amazon FSx
+ Quick
+ Amazon RDS for MySQL
+ Amazon RDS for Oracle
+ Amazon RDS for PostgreSQL
+ Amazon RDS for SQL Server
+ AWS IAM Identity Center
+ WorkDocs
+ Amazon WorkMail
+ WorkSpaces
+ AWS Client VPN
+ AWS 管理控制台

您可以修改已配置 AWS 的安全组配置，以阻止所有流向托管 AWS Microsoft AD 域控制器的非必要流量。

**注意**  
无法在您的 AWS 托管 Microsoft AD 目录和客户域控制器 CIDR 之间创建和维护 Active Directory 信任。
它要求您确保“客户端 CIDR”网络是安全的。
仅当使用基于 SSL 的 LDAP 时，才需要 TCP 636。
如果要通过此配置使用企业 CA，则需要创建出站规则“TCP, 443, CA CIDR”。

**入站规则**


****  

| 协议 | 端口范围 | 来源 | 流量的类型 | Active Directory 使用情况 | 
| --- | --- | --- | --- | --- | 
| TCP 和 UDP  | 53 | 客户端 CIDR | DNS | 用户和计算机身份验证、名称解析、信任  | 
| TCP 和 UDP  | 88 | 客户端 CIDR | Kerberos | 用户和计算机身份验证、林级信任 | 
| TCP 和 UDP  | 389 | 客户端 CIDR | LDAP | 目录、复制、用户和计算机身份验证组策略、信任 | 
| TCP 和 UDP | 445 | 客户端 CIDR | SMB / CIFS | 复制、用户和计算机身份验证、组策略信任 | 
| TCP 和 UDP  | 464 | 客户端 CIDR | Kerberos 更改/设置密码 | 复制、用户和计算机身份验证、信任 | 
| TCP | 135 | 客户端 CIDR | 复制 | RPC、EPM | 
| TCP | 636 | 客户端 CIDR | LDAP SSL | 目录、复制、用户和计算机身份验证组策略、信任 | 
| TCP | 49152 - 65535 | 客户端 CIDR | RPC | 复制、用户和计算机身份验证、组策略、信任 | 
| TCP | 3268 - 3269 | 客户端 CIDR | LDAP GC 和 LDAP GC SSL | 目录、复制、用户和计算机身份验证组策略、信任 | 
| TCP | 9389 | 客户端 CIDR | SOAP | AD DS Web 服务 | 
| UDP | 123 | 客户端 CIDR | Windows 时间 | Windows 时间、信任 | 
| UDP | 138 | 客户端 CIDR | DFSN 和 NetLogon | DFS、组策略 | 

**出站规则**

无。

## AWS 应用程序和本地活动目录工作负载支持，支持信任支持
<a name="aws_apps_native_ad_trust_support"></a>

所有用户帐户均在您的 AWS 托管 Microsoft AD 或受信任的 Active Directory 中进行配置，以便与支持的 AWS 应用程序一起使用，例如：
+ Amazon Chime
+ Amazon Connect
+ Amazon EC2 实例
+ Amazon FSx
+ Quick
+ Amazon RDS for MySQL
+ Amazon RDS for Oracle
+ Amazon RDS for PostgreSQL
+ Amazon RDS for SQL Server
+ AWS IAM Identity Center
+ WorkDocs
+ Amazon WorkMail
+ WorkSpaces
+ AWS Client VPN
+ AWS 管理控制台

您可以修改已配置 AWS 的安全组配置，以阻止所有流向托管 AWS Microsoft AD 域控制器的非必要流量。

**注意**  
这要求确保“客户域控制器 CIDR”和“客户端 CIDR”网络是安全的。
带有“客户域控制器 CIDR”的 TCP 445 仅用于创建信任，可在建立信任后删除。
带有“客户端 CIDR”的 TCP 445 应保持打开状态，因为它是组策略处理所必需的。
仅当使用基于 SSL 的 LDAP 时，才需要 TCP 636。
如果要通过此配置使用企业 CA，则需要创建出站规则“TCP, 443, CA CIDR”。

**入站规则**


****  

| 协议 | 端口范围 | 来源 | 流量的类型 | Active Directory 使用情况 | 
| --- | --- | --- | --- | --- | 
| TCP 和 UDP  | 53 | 客户域控制器 CIDR | DNS | 用户和计算机身份验证、名称解析、信任  | 
| TCP 和 UDP  | 88 | 客户域控制器 CIDR | Kerberos | 用户和计算机身份验证、林级信任 | 
| TCP 和 UDP  | 389 | 客户域控制器 CIDR | LDAP | 目录、复制、用户和计算机身份验证组策略、信任 | 
| TCP 和 UDP  | 464 | 客户域控制器 CIDR | Kerberos 更改/设置密码 | 复制、用户和计算机身份验证、信任 | 
| TCP | 445 | 客户域控制器 CIDR | SMB / CIFS | 复制、用户和计算机身份验证、组策略信任 | 
| TCP | 135 | 客户域控制器 CIDR | 复制 | RPC、EPM | 
| TCP | 636 | 客户域控制器 CIDR | LDAP SSL | 目录、复制、用户和计算机身份验证组策略、信任 | 
| TCP | 49152 - 65535 | 客户域控制器 CIDR | RPC | 复制、用户和计算机身份验证、组策略、信任 | 
| TCP | 3268 - 3269 | 客户域控制器 CIDR | LDAP GC 和 LDAP GC SSL | 目录、复制、用户和计算机身份验证组策略、信任 | 
| UDP | 123 | 客户域控制器 CIDR | Windows 时间 | Windows 时间、信任 | 
| TCP 和 UDP  | 53 | 客户域控制器 CIDR | DNS | 用户和计算机身份验证、名称解析、信任  | 
| TCP 和 UDP  | 88 | 客户域控制器 CIDR | Kerberos | 用户和计算机身份验证、林级信任 | 
| TCP 和 UDP  | 389 | 客户域控制器 CIDR | LDAP | 目录、复制、用户和计算机身份验证组策略、信任 | 
| TCP 和 UDP | 445 | 客户域控制器 CIDR | SMB / CIFS | 复制、用户和计算机身份验证、组策略信任 | 
| TCP 和 UDP  | 464 | 客户域控制器 CIDR | Kerberos 更改/设置密码 | 复制、用户和计算机身份验证、信任 | 
| TCP | 135 | 客户域控制器 CIDR | 复制 | RPC、EPM | 
| TCP | 636 | 客户域控制器 CIDR | LDAP SSL | 目录、复制、用户和计算机身份验证组策略、信任 | 
| TCP | 49152 - 65535 | 客户域控制器 CIDR | RPC | 复制、用户和计算机身份验证、组策略、信任 | 
| TCP | 3268 - 3269 | 客户域控制器 CIDR | LDAP GC 和 LDAP GC SSL | 目录、复制、用户和计算机身份验证组策略、信任 | 
| TCP | 9389 | 客户域控制器 CIDR | SOAP | AD DS Web 服务 | 
| UDP | 123 | 客户域控制器 CIDR | Windows 时间 | Windows 时间、信任 | 
| UDP | 138 | 客户域控制器 CIDR | DFSN 和 NetLogon | DFS、组策略 | 

**出站规则**


****  

| 协议 | 端口范围 | 来源 | 流量的类型 | Active Directory 使用情况 | 
| --- | --- | --- | --- | --- | 
| 全部 | 全部 | 客户域控制器 CIDR | 所有流量 |  | 

# 编辑 AWS 托管的 Microsoft AD 目录安全设置
<a name="ms_ad_directory_settings"></a>

您可以为托管 AWS Microsoft AD 配置精细的目录设置，以满足您的合规性和安全要求，而不会增加运营工作量。在目录设置中，您可以更新目录使用的协议和密码的安全通道配置。例如，您可以灵活地禁用单个传统密码（例如 RC4 或 DES）和协议（例如 SSL 2.0/3.0 和 TLS 1.0/1.1）。 AWS 然后，Managed Microsoft AD 会将配置部署到目录中的所有域控制器，管理域控制器的重新启动，并在您扩展或部署更多域控制器时保持此配置。 AWS 区域有关所有可用设置的详细信息，请参阅 [目录安全设置列表](#list-ds-settings)。

## 编辑目录安全设置
<a name="edit-ds-settings"></a>

您可以配置和编辑任何目录的设置。

**编辑目录设置**

1. 登录 AWS 管理控制台并打开控制 Directory Service 台，网址为[https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/)。

1. 在**目录**页面上，选择您的目录 ID。

1. 在**网络与安全**下，找到**目录设置**，然后选择**编辑设置**。

1. 在**编辑设置**中，更改要编辑的设置的**值**。编辑设置时，其状态会从**默认**更改为**更新准备就绪**。如果您之前编辑过该设置，则其状态将从**已更新**更改为**更新准备就绪**。然后选择**查看**。

1. 在**查看和更新设置**中，查看**目录设置**并确保新值全部正确。如果要对设置进行任何其他更改，请选择**编辑设置**。当您对更改感到满意并准备实施新值时，请选择**更新设置**。然后，您将返回到目录 ID 页面。
**注意**  
在**目录设置**下，您可以查看已更新设置的**状态**。实施设置后，**状态**将显示为**正在更新**。当设置在**状态**下显示为**正在更新**时，您无法编辑其他设置。如果您的编辑成功更新了设置，则**状态**将显示为**已更新**。如果您的编辑无法更新设置，则**状态**将显示为**失败**。

## 目录安全设置失败
<a name="failed-ds-settings"></a>

如果在设置更新过程中出现错误，则**状态**将显示为**失败**。在失败状态下，设置不会更新为新值，且原始值继续实施。您可以重试更新这些设置或将其恢复到以前的值。

**解决更新设置失败的问题**
+ 在**目录设置**下，选择**解决失败的设置**。然后，执行以下操作之一：
  + 要将设置恢复到失败状态之前的原始值，请选择**恢复失败的设置**。然后，在弹出模式中选择**恢复**。
  + 要重试更新目录设置，请选择**重试失败的设置**。如果要在重试失败的更新之前对目录设置进行其他更改，请选择**继续编辑**。在**查看并重试失败的更新**中，选择**更新设置**。

## 目录安全设置列表
<a name="list-ds-settings"></a>

以下列表显示了所有可用目录安全设置的类型、设置名称、API 名称、潜在值和设置描述。

如果禁用了所有其他安全设置，则默认目录安全设置为 TLS 1.2 和 AES 256/256。无法禁用它们。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/ms_ad_directory_settings.html)

# 为你的 AWS Microsoft AD 托管用户启用用于初始身份验证的公钥加密 (PKINIT)
<a name="ms_ad_map_altsecurityidentity"></a>

AWS 默认情况下，托管 Microsoft AD 目录使用强证书绑定，这需要在证书和 AD 对象之间进行显式映射。对于 AWS 托管 Microsoft AD，以下映射被认为是强大的：
+ `altSecurityIdentities` 颁发者和序列号
+ `altSecurityIdentities` 使用者密钥标识符
+ `altSecurityIdentities` SHA1 公钥的哈希值

这些属性支持强大的证书映射，这要求在 Active Directory 中定义显式 certificate-to-user关系，从而为基于证书的身份验证提供更好的安全性。这有助于防范基于证书的权限提升攻击

可使用此过程配置强证书绑定，在保持证书身份验证功能的同时帮助防止权限提升攻击。

有关更多信息，请参阅 [Microsoft KB5014754：Windows 域控制器上基于证书的身份验证更改](https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16)

## 先决条件
<a name="ms_ad_map_altsecurityidentity_prerequisite"></a>
+ 配置了证书颁发机构的 AWS 托管 Microsoft AD 目录
+ 对 Active Directory 环境的管理权限
+ PowerShell 安装了活动目录模块
+ 要映射至 AD 对象的证书

## 地图 AltSecurityIdentity 属性
<a name="ms_ad_map_altsecurityidentity_steps"></a>

1. 根据证书信息，选择以下 `AltSecurityIdentity` 映射方法之一：
   + **SHA1 hash** — 使用证书公钥的 SHA1 哈希值

     对于 SHA1 哈希映射，请提取证书哈希值并将其应用于用户对象：

     ```
     $Username = 'YourUsername'
     $cert = certutil -dump "YourCertificate.cer"
     $certHash = ($cert | Select-String -Pattern "(sha1):*" | 
         Select-String -Pattern "Cert").ToString().TrimStart('Cert Hash(sha1): ').Replace(' ','')
     Set-ADUser -Identity $Username -Add @{'altSecurityIdentities'="X509:<SHA1-PUKEY>$CertHash"}
     ```
   + **颁发者和序列号**：使用证书的颁发者名称和序列号

     对于颁发者和序列号映射，请使用证书的颁发者和序列号：

     ```
     $Username = 'YourUsername'
     $IssuerName = 'YourCertificateIssuer'
     $SerialNumber = 'YourCertificateSerialNumber'
     Set-ADUser -Identity $Username -Add @{'altSecurityIdentities'="X509:<I>$IssuerName<SR>$SerialNumber"}
     ```
   + **使用者密钥标识符**：使用证书的使用者密钥标识符扩展

     对于使用者密钥标识符映射，请使用证书的使用者密钥标识符：

     ```
     $Username = 'YourUsername'
     $SubjectKeyIdentifier = 'YourSubjectKeyIdentifier'
     Set-ADUser -Identity $Username -Add @{'altSecurityIdentities'="X509:<SKI>$SubjectKeyIdentifier"}
     ```

1. 验证映射是否成功应用：

   ```
   Get-ADUser -Identity $Username -Properties altSecurityIdentities | 
       Select-Object -ExpandProperty altSecurityIdentities
   ```

1. 等待 Active Directory 复制完成（通常为 15-30 秒钟），然后再测试证书身份验证。

## 示例：映射 AltSecurityIdentity 属性的批量证书
<a name="ms_ad_map_altsecurityidentity_example"></a>

以下示例演示如何对来自某个证书颁发机构的多个用户证书的 `AltSecurityIdentity` 属性进行映射：

```
$CertificateTemplateName = 'User'
$Now = $((Get-Date).ToString($(Get-culture).DateTimeFormat.ShortDatePattern))
$Restrict = "Disposition=20,NotAfter>=$Now,Certificate Template=$CertificateTemplateName"
$Out = "SerialNumber,Certificate Hash,User Principal Name,RequesterName,CommonName,CertificateTemplate,NotBefore,NotAfter"
$Certs = certutil -view -restrict $Restrict -out $Out csv | ConvertFrom-CSV
$UserSha1HashMapping = @{}

ForEach ($Cert in $Certs) {
    $UPN = $Cert.'User Principal Name'
    $Username, $Domain = $UPN.Split('@')
    $CertificateThumbprint = ($Cert.'Certificate Hash').Replace(' ','')
    $AdUserObject = Get-ADUser -Identity $Username
    If ($AdUserObject -And $AdUserObject.Count -gt 1) {
        Write-Output "Unable to map user: $Username, multiple user objects found"
        Continue
    }
    If ($AdUserObject) {
        If ($UserSha1HashMapping.Keys -Contains $Username) {
            $UserSha1HashMapping[$Username] += $CertificateThumbprint
        } Else {
            $UserSha1HashMapping[$Username] = @($CertificateThumbprint)
        }
    }
}

ForEach ($User in $UserSha1HashMapping.Keys) {
    Write-Output "Mapping altSecurityIdentity for $User"
    $UserObject = Get-ADUser -Identity $User | Get-ADObject -Properties 'altSecurityIdentities'
    $altSecurityIdentities = $UserObject.altSecurityIdentities
    ForEach ($thumbprint in $UserSha1HashMapping[$User]) {
        $SHA1PUKEY = "X509:<SHA1-PUKEY>$thumbprint"
        If ($altSecurityIdentities -Contains $SHA1PUKEY) {
            Write-Output "Skipping $thumbprint, already mapped."
            Continue
        }
        Write-Output "Adding $thumbprint to $User as altSecurityIdentity"
        Set-ADUser -Identity $User -Add @{'altSecurityIdentities'=$SHA1PUKEY}
    }
}
```

## 后续步骤
<a name="ms_ad_map_altsecurityidentity_next_steps"></a>
+ 使用映射的证书测试基于证书的身份验证
+ 配置应用程序，以使用映射的证书进行身份验证
+ 身份验证事件的 [监控你的 AWS 托管微软 AD](ms_ad_monitor.md)

# 为 AWS 托管的 Microsoft AD 设置 AD AWS 私有 CA 连接器
<a name="ms_ad_pca_connector"></a>

你可以将 AWS 托管 Microsoft AD 与 [AWS 私有证书颁发机构 (CA)](https://docs.aws.amazon.com/privateca/latest/userguide/connector-for-ad.html) 集成，为你的 Active Directory 域控制器、加入域的用户、群组和计算机颁发和管理证书。 AWS 私有 CA Connector for Active Directory 允许您使用完全托管的 AWS 私有 CA 嵌入式替代方案来代替自行管理的企业， CAs 而无需部署、修补或更新本地代理或代理服务器。

您可以通过控制台、Active Directory Directory Service 控制台的 AWS 私有 CA 连接器或通过调用 [https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplate.html](https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplate.html)API 来设置与目录的集 AWS 私有 CA 成。要通过 Active Directory AWS 私有 CA 连接器控制台设置私有 CA 集成，请参阅[创建连接器模板](https://docs.aws.amazon.com/privateca/latest/userguide/create-ad-template.html)。请参阅以下步骤，了解如何从 Directory Service 控制台设置此集成。

## 为 AD 设置 AWS 私有 CA 连接器
<a name="ms_ad_pca_connector_set_up"></a>

**为 Active Directory 创建私有 CA 连接器**

1. 登录 AWS 管理控制台 并打开 Directory Service 控制台，网址为[https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/)。

1. 在**目录**页面上，选择您的目录 ID。

1. 在**应用程序管理**选项卡和 **AWS 应用程序和服务**部分下，选择 **AWS 私有 CA Connector for AD**。

1. 在**为 Active Directory 创建私有 CA 证书**页面上，完成为 Active Directory Connector 创建私有 CA 的步骤。

有关更多信息，请参阅 [Creating a connector](https://docs.aws.amazon.com/privateca/latest/userguide/create-connector-for-ad.html)。

## AD 的查看 AWS 私有 CA 连接器
<a name="ms_ad_pca_connector_view"></a>

**查看私有 CA 连接器的详细信息**

1. 登录 AWS 管理控制台 并打开 Directory Service 控制台，网址为[https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/)。

1. 在**目录**页面上，选择您的目录 ID。

1. 在**应用程序管理**选项卡和 **AWS 应用程序与服务**部分下，查看您的私有 CA 连接器和关联的私有 CA。显示以下字段：

   1. **AWS 私有 CA 连接器 ID**- AWS 私有 CA 连接器的唯一标识符。选择以查看详细信息页面。

   1. **AWS 私有 CA 主题**-有关 CA 的可分辨名称的信息。选择以查看详细信息页面。

   1. **状态**- AWS 私有 CA 连接器的状态检查结果以及 AWS 私有 CA：
      + **激活**：两项检查均通过
      + **1/2 检查失败**：一次检查失败
      + **失败**：两次检查均失败

      有关失败状态的详细信息，请将鼠标悬停在超链接上查看检查失败项。

   1. **DC 证书注册状态**：域控制器证书状态检查：
      + **启用**：证书注册已启用
      + **禁用**：证书注册已禁用

   1. **创建日期**- AWS 私有 CA 连接器的创建时间。

有关更多信息，请参阅 [View connector details](https://docs.aws.amazon.com/privateca/latest/userguide/view-connector-for-ad.html)。

下表显示了 AWS 托管 Microsoft AD 的域控制器证书注册的不同状态。 AWS 私有 CA


| DC 注册状态 | 说明 | 所需操作 | 
| --- | --- | --- | 
|  已启用  |  域控制器证书已成功注册到您的目录。  |  无需操作。  | 
|  失败  |  为目录启用或禁用域控制器证书注册失败。  |  如果启用操作失败，请通过关闭并再次打开域控制器证书进行重试。如果禁用操作失败，请通过打开并再次关闭域控制器证书进行重试。如果重试失败，请联系 AWS Support。  | 
|  Impaired (受损)  |  域控制器在与 AWS 私有 CA 端点通信时存在网络连接问题。  |  检查 AWS 私有 CA VPC 终端节点和 S3 存储桶策略以允许与您的目录建立网络连接。有关更多信息，请参阅[解决 AWS 私有证书颁发机构异常消息](https://docs.aws.amazon.com/privateca/latest/userguide/PCATsExceptions.html)和[解决 AWS 私有 CA 证书吊销问题](https://docs.aws.amazon.com/privateca/latest/userguide/troubleshoot-certificate-revocation.html)。  | 
|  已禁用  |  已成功为目录关闭域控制器证书注册。  |  无需操作。  | 
|  正在禁用  |  正在禁用域控制器证书注册。  |  无需操作。  | 
|  正在启用  |  正在启用域控制器证书注册。  |  无需操作。  | 

## 配置 AD 策略
<a name="ms_ad_pca_connector_configure"></a>

AWS 私有 CA 必须配置 AD 连接器，以便 AWS 托管 Microsoft AD 域控制器和对象可以请求和接收证书。配置您的组策略对象 ([GPO](https://learn.microsoft.com/previous-versions/windows/desktop/policy/group-policy-objects))，以便 AWS 私有 CA 可以向 AWS 托管的 Microsoft AD 对象颁发证书。

### 为域控制器配置 Active Directory 策略
<a name="ms_ad_pca_connector_configure_dc"></a>

**为域控制器开启 Active Directory 策略**

1. 打开**网络和安全**选项卡。

1. 选择 **AWS 私有 CA 连接器**

1. 选择一个链接到向您的目录颁发域控制器证书的 AWS 私有 CA 主题的连接器。

1. 选择**操作**、**启用域控制器证书**。

**重要**  
在开启域控制器证书之前，请配置有效的域控制器模板，以避免更新延迟。

开启域控制器证书注册后，目录的域控制器从 AWS 私有 CA Connector for AD 请求和接收证书。

要更改您的域控制器证书颁发 AWS 私有 CA 方式，请先使用新的 AD AWS 私有 CA 连接器将新证书 AWS 私有 CA 连接到您的目录。在新版本上开启证书注册之前 AWS 私有 CA，请关闭现有证书的注册功能：

**关闭域控制器证书**

1. 打开**网络和安全**选项卡。

1. 选择 **AWS 私有 CA 连接器**

1. 选择一个链接到向您的目录颁发域控制器证书的 AWS 私有 CA 主题的连接器。

1. 选择**操作**、**禁用域控制器证书**。

### 为加入域的用户、计算机和机器配置 Active Directory 策略
<a name="ms_ad_pca_connector_configure_gpo"></a>

**配置组策略对象**

1. 连接到 Microsoft AD AWS 托管管理实例，然后从 “**开始**” 菜单中打开 “[服务器管理器](https://learn.microsoft.com/windows-server/administration/server-manager/server-manager)”。

1. 在**工具**下，选择**组策略管理**。

1. 在**林和域**下，找到您的子域组织单元（OU）（例如，如果您按照 [创建你的 Microsoft AWS 托管广告](ms_ad_getting_started.md#ms_ad_getting_started_create_directory) 中概述的过程进行操作，则子域组织单元为 `corp`），然后右键单击您的子域 OU。选择**在此域中创建 GPO，并将其链接到此处**，然后在名称中输入 PCA GPO。选择**确定**。

1. 新创建的 GPO 将出现在您的子域名后面。右键单击 `PCA GPO` 并选择**编辑**。如果打开的对话框显示警报消息这是一个链接，更改将全局传播，请选择**确定**以继续。**组策略管理编辑器**窗口将打开。

1. 在**组策略管理编辑器**窗口中，转到**计算机配置 > 策略 > Windows 设置 > 安全设置 > 公有密钥政策（选择文件夹）**。

1. 在**对象类型**下，选择**证书服务客户端 – 证书注册策略**。

1. 在**证书服务客户端 – 证书注册策略**窗口中，将**配置模型**更改为**启用**。

1. 确认已选中并**启用** **Active Directory 注册策略**。选择**添加**。

1. **证书注册策略服务器**窗口将打开。在**输入注册服务器策略 URI** 字段中输入创建连接器时生成的证书注册策略服务器端点。将**身份验证类型**保留为 **Windows 集成**。

1. 选择**验证**。验证成功后，选择**添加**。

1. 返回**证书服务客户端 – 证书注册策略**对话框并选中新创建的连接器旁边的复选框，以确保连接器为默认注册策略。

1. 选择 **Active Directory 注册策略**，然后选择**删除**。

1. 在确认对话框中，选择**是**以删除基于 LDAP 的身份验证。

1. 在**证书服务客户端 – 证书注册策略**窗口中，选择**应用**，然后选择**确定**。然后关闭窗口。

1. 在**公有密钥政策文件夹的**对象类型**下，选择证书服务客户端 – 自动注册**。

1. 将**配置模型**选项更改为**启用**。

1. 确认**续订过期的证书**和**更新证书**选项均已选中。保持其他设置不变。

1. 依次选择**应用**、**确定**，然后关闭对话框。

接下来，重复步骤 6-17 中的**用户配置 > 策略 > Windows 设置 > 安全设置 > 公有密钥策略**部分，配置用户配置公有密钥策略。

配置 GPOs 完公钥策略后，域中的对象会向 Conn AWS 私有 CA ector for AD 请求证书并接收由颁发的证书 AWS 私有 CA。

## 确认 AWS 私有 CA 已签发证书
<a name="ms_ad_pca_connector_confirm"></a>

更新 AWS 私有 CA 为你的 AWS 托管 Microsoft AD 颁发证书的过程最多可能需要 8 个小时。

您可以执行以下操作之一：
+ 您可以等待一段时间。
+ 您可以重新启动配置为从接收证书的 AWS 托管 Microsoft AD 域加入的计算机 AWS 私有 CA。然后，您可以按照[Microsoft文档](https://learn.microsoft.com/dotnet/framework/wcf/feature-details/how-to-view-certificates-with-the-mmc-snap-in)中的步骤确认 AWS 私有 CA 已向 AWS 托管 Microsoft AD 域的成员颁发了证书。
+ 您可以使用以下PowerShell命令更新 AWS 托管 Microsoft AD 的证书：

  ```
  certutil -pulse
  ```