

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

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

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

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

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

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

## 步骤 2：设置活动目录
<a name="prereq-msad"></a>

除了私有 CA 之外，您还需要虚拟私有云 (VPC) 中的活动目录。Connector for AD 支持由 Directory Service提供的以下目录类型：
+ [AWS 托管微软 Active Direct](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad) ory：有了它， Directory Service 你可以将微软活动目录 (AD) 作为托管服务运行。 AWS Directory Service for Microsoft Active Directory 也称为 AWS Managed Microsoft AD，由 Windows Server 2019 提供支持。使用 AWS Managed Microsoft AD，你可以在中运行目录感知型工作负载，包括微软 Sharepoint 以及基于.Net 和 SQL Server 的自定义应用程序。 AWS 云
+ [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 中授权 Connector for AD 服务时，系统会自动委派其他权限。您可以跳过此先决条件步骤。

使用 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
  ```
+ 创建和更新 NTAuth证书颁发机构 (CA) 对象。注意：如果存在 Cer NTAuth tificates CA 对象，则必须为其委派权限。如果对象不存在，则必须委派在公钥服务容器上创建子对象的权限。

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

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

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

有关最新版本的脚本和用法详情，请参阅[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 服务。

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

------
#### [ 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
```

调用的服务主体在 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>

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

```
*.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 中的安全组相同。