

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

# 设置 Connector for AD
<a name="connector-for-ad-getting-started-prerequisites"></a>

本节中的步骤是使用适用于 AD 的连接器的先决条件。它假设你已经创建了一个 AWS 账户。完成此页面上的步骤后，即可开始为 AD 创建连接器。

**Multi-Region 目录支持**  
对于多区域 AWS Managed Microsoft AD 目录，您只能为目录的主区域中的 AD 连接器和目录注册创建连接器。有关多区域复制的信息，请参阅《*AWS Directory Service 管理指南*》[中的](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_configure_multi_region_replication.html)Multi-Region 复制。

## 步骤 1：使用创建私有 CA AWS 私有 CA
<a name="prereq-pca"></a>

设置私有证书颁发机构 (CA)，为您的目录对象颁发证书。有关更多信息，请参阅 [中的证书颁发机构 AWS 私有 CA](creating-managing.md)。

私有 CA 必须处于该`Active`状态才能为 AD 创建连接器。私有 CA 的使用者名称必须包含公用名。如果您尝试使用不带公用名的私有 CA 创建连接器，则连接器创建将失败。

## 第 2 步：设置 Active Directory
<a name="prereq-msad"></a>

除了私有 CA 之外，您还需要虚拟私有云 (VPC) 中的活动目录。Connector for AD 支持由 Directory Service提供的以下目录类型：
+ [AWS 托管的微软活动目录](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad)：有了 Directory Service 它，你可以将微软活动目录（AD）作为托管服务运行。 AWS Directory Service for Microsoft Active Directory 也称为 AWS Managed Microsoft AD，由 Windows Server 2019 提供支持。使用 AWS Managed Microsoft AD，你可以在中运行目录感知工作负载 AWS Cloud，包括微软 Sharepoint 以及自定义 .NET 和 SQL 应用程序。Server-based 
+ [Active Directory Connector](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_ad_connector)：AD Connector 是一种目录网关，可以将目录请求重定向到本地 Microsoft Active Directory，而无需在云中缓存任何信息。AD Connector 支持连接到 Amazon EC2 上托管的域

## （仅限 Active Directory 连接器）步骤 3：向服务帐号委派权限
<a name="prereq-sa"></a>

**注意**  
如果您使用的是 AWS Managed Microsoft AD ，当您使用您的目录授权 AD Connector 服务时，系统会自动委托额外的权限。您可以跳过此先决条件步骤。

使用 Directory Service AD Connector 时，您需要向服务账户委派其他权限。在服务账户上设置访问控制列表（ACL）以允许以下功能：
+ 向其自身添加和删除服务主体名称（SPN）
+ 在以下容器中创建和更新证书颁发机构：

  ```
  #containers
  CN=Public Key Services,CN=Services,CN=Configuration
  CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration
  CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration
  ```
+ 创建和更新 NTAuthCertificates 证书颁发机构 (CA) 对象。注意：如果 NTAuthCertificates CA 对象存在，则必须为其委托权限。如果对象不存在，则必须委派在公钥服务容器上创建子对象的权限。

  ```
  #objects
  CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration
  ```

官方 Active Directory [ 连接器存储库中提供的 PowerShell 脚本](https://github.com/aws-samples/sample-aws-privateca-connector-for-active-directory)可用于委托目录服务 AD 连接器服务帐户所需的额外权限。

此脚本创建 NTAuthCertificates 证书颁发机构对象。

有关脚本的最新版本和用法详细信息，请参阅[GitHub 存储库](https://github.com/aws-samples/sample-aws-privateca-connector-for-active-directory)中的自述文件。

## 第 4 步：创建 IAM 策略
<a name="prereq-iam"></a>

要为 AD 创建连接器，您需要一个 IAM policy，该策略允许您创建连接器资源，与 Connector for AD 服务共享您的私有 CA，并使用您的目录中授权 Connector for AD 服务。

**注意**  
在 AWS GovCloud （美国）区域中，将以下策略示例`arn:aws-us-gov`中的所有 ARN 模式替换`arn:aws`为。例如，模板 ARN 变为`arn:aws-us-gov:acm-pca:::template/BlankEndEntityCertificate_APIPassthrough/V*`。

以下是用户托管策略的示例：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "pca-connector-ad:*",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "acm-pca:DescribeCertificateAuthority",
                "acm-pca:GetCertificate",
                "acm-pca:GetCertificateAuthorityCertificate",
                "acm-pca:ListCertificateAuthorities",
                "acm-pca:ListTags",
                "acm-pca:PutPolicy"                
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "acm-pca:IssueCertificate",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "acm-pca:TemplateArn": "arn:aws:acm-pca:::template/BlankEndEntityCertificate_APIPassthrough/V*"
                },
                "ForAnyValue:StringEquals": {
                    "aws:CalledVia": "pca-connector-ad.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [ 
                "ds:AuthorizeApplication",
                "ds:DescribeDirectories",
                "ds:ListTagsForResource",
                "ds:UnauthorizeApplication",
                "ds:UpdateAuthorizedApplication"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateVpcEndpoint",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeVpcs",
                "ec2:DeleteVpcEndpoints"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeTags",
                "ec2:DeleteTags",
                "ec2:CreateTags"
            ],
            "Resource": "arn:*:ec2:*:*:vpc-endpoint/*"
        }
    ]
}
```

------

AD 连接器需要额外的 AWS RAM 权限，才能在控制台和命令行中使用。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ram:CreateResourceShare",
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "ram:Principal": "pca-connector-ad.amazonaws.com",
                    "ram:RequestedResourceType": "acm-pca:CertificateAuthority"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ram:GetResourcePolicies",
                "ram:GetResourceShareAssociations",
                "ram:GetResourceShares",
                "ram:ListPrincipals",
                "ram:ListResources",
                "ram:ListResourceSharePermissions",
                "ram:ListResourceTypes"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 第 5 步：与 Connector for AD 共享您的私有 CA
<a name="prereq-share-pca"></a>

您需要使用 AWS Resource Access Manager 服务主体共享与连接器服务共享您的私有 CA。

当您在 AWS 控制台中创建连接器时，系统会自动为您创建资源共享。

当您使用创建资源共享时 AWS CLI，将使用该 AWS RAM **create-resource-share**命令。

以下命令创建资源共享：

```
$  aws ram create-resource-share \
    --region {{us-east-1}} \
    --name {{MyPcaConnectorAdResourceShare}} \
    --permission-arns arn:aws:ram::aws:permission/AWSRAMBlankEndEntityCertificateAPIPassthroughIssuanceCertificateAuthority \
    --resource-arns arn:aws:acm-pca:{{region}}:{{account}}:certificate-authority/{{CA_ID}} \
    --principals pca-connector-ad.amazonaws.com \
    --sources {{account}}
```

对于 AWS GovCloud （美国）区域，使用`aws-us-gov`分区和 AWS GovCloud （美国）区域：

```
$  aws ram create-resource-share \
    --region {{us-gov-west-1}} \
    --name {{MyPcaConnectorAdResourceShare}} \
    --permission-arns arn:aws-us-gov:ram::aws:permission/AWSRAMBlankEndEntityCertificateAPIPassthroughIssuanceCertificateAuthority \
    --resource-arns arn:aws-us-gov:acm-pca:{{us-gov-west-1}}:{{account}}:certificate-authority/{{CA_ID}} \
    --principals pca-connector-ad.amazonaws.com \
    --sources {{account}}
```

调用的服务主体在 PCA 上 CreateConnector 拥有证书颁发权限。要防止使用 Connector for AD 的服务主体拥有对您的 AWS 私有 CA 资源的常规访问权限，请使用 `CalledVia` 限制其权限。

## 步骤 6：创建目录注册
<a name="prereq-directory-permission"></a>

您授权 Connector for AD 服务使用您的目录，以便连接器可以与您的目录通信。要授权 Connector for AD 服务，您需要创建目录注册。有关创建目录注册的更多信息，请参阅 [管理目录注册](directory-registration.md)

## 步骤 7：配置安全组
<a name="prereq-security-groups"></a>

 您的 VPC 与 AD 连接器之间的通信是通过的 AWS PrivateLink，这需要一个或多个具有入站规则的安全组，在您的 VPC 上打开端口 443 TCP。当您创建连接器时，系统会要求您输入此安全组。您可以将源指定为自定义，然后选择 VPC 的 CIDR 块。您可以选择进一步限制此项（即 IP、CIDR 和安全组 ID）。

## 步骤 8：配置目录对象的网络访问权限
<a name="prereq-network-access-for-directory-objects"></a>

 目录对象需要公共互联网访问才能验证来自以下域的在线证书状态协议 (OCSP) 和证书吊销列表 (CRL)：

```
*.windowsupdate.com
*.amazontrust.com
```

 最低要求的访问规则：
+  OCSP 和 CRL 通信所必需的：

  ```
  TCP 80: (HTTP) to 0.0.0.0/0
  ```
+  AD 连接器所必需的：

  ```
  TCP 443: (HTTPS) to 0.0.0.0/0
  ```
+  活动目录必填项：

  ```
  TCP 88: (Kerberos) to Domain Controller IP range
  TCP/UDP 389/636: (LDAP/LDAPS) to Domain Controller IP range, depending on Domain Controller configuration
  TCP/UDP 53: (DNS) to 0.0.0.0/0
  ```

 如果设备无法访问公共互联网，则证书颁发将间歇性失败，并显示错误代码 ` WS_E_OPERATION_TIMED_OUT. `

**注意**  
 如果您正在为 Amazon EC2 实例配置安全组，则该安全组不必与步骤 7 中的安全组相同。