

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

# 将 Amazon EC2 实例加入到您的 Simple AD 的方法
<a name="simple_ad_join_instance"></a>

当 Amazon EC2 实例启动时，您可以将其无缝加入到您的 Active Directory 域中。有关更多信息，请参阅 [将 Amazon EC2 Windows 实例加入您的 AWS 托管微软 AD 活动目录](launching_instance.md)。您还可以使用 A [AWS Systems Manager ut](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) omation 直接从 Directory Service 控制台启动 EC2 实例并将其加入 Active Directory 域。

如果需要手动将 EC2 实例加入 Active Directory 域，则必须在正确的区域和安全组或子网中启动该实例，然后将该实例加入该域。

要能够远程连接到这些实例，必须具有从所连接的网络到实例的 IP 连接。在大多数情况下，这要求互联网网关连接到 VPC，并且实例具有公有 IP 地址。

**Topics**
+ [将 Amazon EC2 Windows 实例加入 Simple AD Active Directory](simple_ad_launching_instance.md)
+ [将 Amazon EC2 Linux 实例加入 Simple AD Active Directory](simple_ad_linux_domain_join.md)
+ [委派 Simple AD 的目录加入权限](simple_ad_directory_join_privileges.md)
+ [为 Simple AD 创建 DHCP 选项集](simple_ad_dhcp_options_set.md)

# 将 Amazon EC2 Windows 实例加入 Simple AD Active Directory
<a name="simple_ad_launching_instance"></a>

您可以启动 Amazon EC2 Windows 实例并将其加入 Simple AD 或者，您可以手动将现有 EC2 Windows 实例加入 Simple AD

------
#### [ Seamlessly join an EC2 Windows ]

要通过域无缝加入 EC2 实例，需要完成以下操作：

**先决条件**
+ 拥有 Simple AD。要了解更多信息，请参阅[创建 Simple AD](simple_ad_getting_started.md#how_to_create_simple_ad)。
+ 您需要拥有以下 IAM 权限，才能无缝加入 EC2 Windows 实例：
  + 具有以下 IAM 权限的 IAM 实例配置文件：
    + `AmazonSSMManagedInstanceCore`
    + `AmazonSSMDirectoryServiceAccess`
  + 要通过域将 EC2 无缝加入到 Simple AD，用户需要以下 IAM 权限：
    + Directory Service 权限：
      + `"ds:DescribeDirectories"`
      + `"ds:CreateComputer"`
    + Amazon VPC 权限：
      + `"ec2:DescribeVpcs"`
      + `"ec2:DescribeSubnets"`
      + `"ec2:DescribeNetworkInterfaces"`
      + `"ec2:CreateNetworkInterface"`
      + `"ec2:AttachNetworkInterface"`
    + EC2 权限；
      + `"ec2:DescribeInstances"`
      + `"ec2:DescribeImages"`
      + `"ec2:DescribeInstanceTypes"`
      + `"ec2:RunInstances"`
      + `"ec2:CreateTags"`
    + AWS Systems Manager 权限：
      + `"ssm:DescribeInstanceInformation"`
      + `"ssm:SendCommand"`
      + `"ssm:GetCommandInvocation"`
      + `"ssm:CreateBatchAssociation"`

创建 Simple AD 时，会创建一个包含入站与出站规则的安全组。要了解有关这些规则与端口的更多信息，请参阅[随 Simple AD 创建的内容](simple_ad_what_gets_created.md)。要通过域无缝加入 EC2 Windows 实例，您启动实例的 VPC 应按照 Simple AD 安全组入站和出站规则允许的端口，允许相同的端口。
+ 根据网络安全和防火墙设置，您可能需要允许额外的出站流量。此流量将通过 HTTPS（端口 443）到达以下端点：  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/simple_ad_launching_instance.html)
+ 建议使用能够解析 Simple AD 域名的 DNS 服务器。要实现此操作，可创建 DHCP 选项集。请参阅[为 Simple AD 创建 DHCP 选项集](simple_ad_dhcp_options_set.md)了解更多信息。
  + 如果选择不创建 DHCP 选项集，则 DNS 服务器将是静态的，并由 Simple AD 进行配置。

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

1. 在导航栏中，选择与现有目录 AWS 区域 相同的目录。

1. 在 **EC2 控制面板**的**启动实例**部分，选择**启动实例**。

1. 在**启动实例**页面的**名称和标签**部分下，输入您要用于 Windows EC2 实例的名称。

1.  （可选）选择**添加其他标签**，添加一个或多个标签密钥值对，以组织、跟踪或控制对此 EC2 实例的访问权限。

1. 在**应用程序和操作系统映像（Amazon 机器映像）**部分，在**快速入门**窗格中选择 **Windows**。您可以从**Amazon 机器映像（AMI）**下拉列表中更改 Windows Amazon 机器映像（AMI）。

1. 在**实例类型**部分，从**实例类型**下拉列表中选择要使用的实例类型。

1. 在**密钥对（登录）**部分，您可以选择创建新密钥对，或从现有密钥对中进行选择。

   1. 要创建新的密钥对，请选择**新建新密钥对**。

   1. 输入密钥对的名称，然后为**密钥对类型**和**私钥文件格式**选择一个选项。

   1.  要以可与 OpenSSH 一起使用的格式保存私钥，请选择 **pem**。要以可与 PuTTY 一起使用的格式保存私钥，请选择 **ppk**。

   1. 选择**创建密钥对**。

   1. 您的浏览器会自动下载私有密钥文件。将私有密钥文件保存在安全位置。
**重要**  
这是您保存私有密钥文件的唯一机会。

1. 在**启动实例**页面的**网络设置**部分下，选择**编辑**。从 **VPC – *必需***下拉列表中选择创建目录的 **VPC**。

1. 从**子网**下拉列表中选择 VPC 中的其中一个公有子网。选择的子网必须将所有外部流量都路由到互联网网关。否则将无法远程连接到实例。

   有关如何连接到互联网网关的更多信息，请参阅《Amazon VPC 用户指南》**中的[使用互联网网关连接到互联网](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_Internet_Gateway.html)。

1. 在**自动分配公有 IP** 下，选择**启用**。

   有关公共和私有 IP 寻址的更多信息，请参阅《Amazon EC2 用户指南》**中的 [Amazon EC2 实例 IP 寻址](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-instance-addressing.html)。

1. 对于**防火墙（安全组）**设置，您可以使用默认设置或进行更改以满足您的需求。

1. 对于**配置存储**设置，您可以使用默认设置或进行更改以满足您的需求。

1. 选择**高级详细信息**部分，从**域加入目录**下拉列表中选择您的域。
**注意**  
选择域加入目录后，您可能会看到：  

![\[选择域加入目录时出现错误消息。您现有的 SSM 文档存在错误。\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/SSM-Error-Message.png)

当 EC2 启动向导识别到某个现有 SSM 文档包含意外属性时，会发生此错误。您可以执行以下操作之一：  
如果您之前编辑了 SSM 文档且属性为预期属性，请选择关闭并继续启动 EC2 实例，不做任何更改。
选择“在此处删除现有 SSM 文档”链接以删除 SSM 文档。这将允许创建包含正确属性的 SSM 文档。启动 EC2 实例时，将自动创建 SSM 文档。

1. 对于 **IAM 实例配置文件**，您可以选择现有的 IAM 实例配置文件或创建新的 IAM 实例配置文件。从 IAM 实例配置文件下拉列表中选择一个SSMDirectoryServiceAccess附有 **Ama** **zon SSMManaged InstanceCore** 和 Amazon AWS 托管策略**的 IAM 实例配置文件**。要创建新的 IAM 配置文件，请选择**创建新的 IAM 配置文件**链接，然后执行以下操作：

   1. 选择**创建角色**。

   1. 在**选择受信任的实体**下，选择 **AWS 服务**。

   1. 在 **Use case**（使用案例）下，选择 **EC2**。

   1.  在 “**添加权限**” 下的策略列表中，选择 **Amazon SSMManaged InstanceCore 和 Ama** **zon SSMDirectory ServiceAccess** 政策。在搜索框中键入 **SSM** 以筛选列表。选择**下一步**。
**注意**  
**Amazon SSMDirectory ServiceAccess** 提供将实例加入由管理的活动目录的权限 Directory Service。**Amazon SSMManaged InstanceCore** 提供使用该 AWS Systems Manager 服务所需的最低权限。有关创建具有这些权限的角色的更多信息，以及您可以分配给 IAM 角色的其他权限和策略的信息，请参阅《AWS Systems Manager 用户指南》**中的[为 Systems Manager 创建 IAM 实例配置文件](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html)。

   1. 在**名称、查看和创建**页面上，输入**角色名称**。您将需要此角色名称来附加到 EC2 实例。

   1. （可选）您可以在**描述**字段中提供 IAM 实例配置文件的描述。

   1. 选择**创建角色**。

   1.  返回**启动实例**页面，选择 **IAM 实例配置文件**旁边的刷新图标。您的新 IAM 实例配置文件应显示在 **IAM 实例配置文件**下拉列表中。选择新的配置文件，其余设置保留默认值。

1. 选择**启动实例**。

------
#### [ Manually join an EC2 Windows ]

要将现有 Amazon EC2 Windows 实例手动加入 Simple AD Active Directory，必须使用 [将 Amazon EC2 Windows 实例加入 Simple AD Active Directory](#simple_ad_launching_instance)中指定的参数启动该实例。

您将需要 Simple AD DNS 服务器的 IP 地址。此信息可以在**目录服务** > **目录** > 目录的**目录 ID** 链接 > **目录详细信息**以及**网络与安全**下找到。

![\[在 Directory Service 控制台的目录详细信息页面上，突出显示所 Directory Service 提供的 DNS 服务器的 IP 地址。\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/directory_details_highlighted.png)


**将 Windows 实例加入 Simple AD Active Directory**

1. 使用任何远程桌面协议客户端连接到实例。

1. 在实例上打开 TCP/ IPv4 属性对话框。

   1. 打开 **Network Connections**。
**提示**  
您可以在实例上从命令提示符运行以下命令，直接打开 **Network Connections**。  

      ```
      %SystemRoot%\system32\control.exe ncpa.cpl
      ```

   1. 打开任何已启用网络连接的上下文菜单 (右键单击)，然后选择 **Properties**。

   1. 在连接属性对话框中，打开 (双击) **Internet Protocol Version 4**。

1. 选择**使用以下 DNS 服务器地址**，将**首选 DNS 服务器**地址和**备用 DNS 服务器**地址更改为 Simple AD 提供的 DNS 服务器的 IP 地址，然后选择**确定**。  
![\[“互联网协议版本 4 (TCP/IPv4) 属性” 对话框突出显示了首选 DNS 服务器和备用 DNS 服务器字段。\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/dns_server_addresses.png)

1. 打开实例的 **System Properties** 对话框，选择 **Computer Name** 选项卡，然后选择 **Change**。
**提示**  
您可以在实例上从命令提示符运行以下命令，打开 **System Properties** 对话框。  

   ```
   %SystemRoot%\system32\control.exe sysdm.cpl
   ```

1. 在**成员**字段中，选择**域**，输入 Simple AD Active Directory 的完全限定名称，然后选择**确定**。

1. 当系统提示输入域管理员的名称和密码时，输入具有域加入权限的账户的用户名和密码。有关委托这些权限的更多信息，请参阅[委派 Simple AD 的目录加入权限](simple_ad_directory_join_privileges.md)。
**注意**  
可以输入完全限定的域名或 NetBIOS 名称，后跟反斜杠（\$1），然后是用户名。用户名应为 **Administrator**。例如，**corp.example.com\$1administrator** 或 **corp\$1administrator**。

1. 收到欢迎加入域的消息之后，重新启动实例使更改生效。

现在实例已加入 Simple AD Active Directory 域，您可以远程登录该实例并安装实用工具来管理目录，如添加用户和组。Active Directory 管理工具可用于创建用户和组。有关更多信息，请参阅 [安装适用于 Simple AD 的 Active Directory 管理工具](simple_ad_install_ad_tools.md)。

------

# 将 Amazon EC2 Linux 实例加入 Simple AD Active Directory
<a name="simple_ad_linux_domain_join"></a>

您可以在 AWS 管理控制台中启动 Amazon EC2 实例并将其加入 Simple AD。您也可以手动将 EC2 Linux 实例加入 Simple AD。

支持以下 Linux 实例分发版和版本：
+ Amazon Linux AMI 2018.03.0
+ Amazon Linux 2（64 位 x86）
+ Red Hat Enterprise Linux 8 (HVM)（64 位 x86）
+ Ubuntu Server 18.04 LTS 和 Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux 企业服务器 15 SP1

**注意**  
Ubuntu 14 和 Red Hat Enterprise Linux 7 和 8 之前的发行版不支持无缝域加入功能。

**Topics**
+ [将 Amazon EC2 Linux 实例无缝加入 Simple AD Active Directory](simple_ad_seamlessly_join_linux_instance.md)
+ [手动将 Amazon EC2 Linux 实例加入 Simple AD Active Directory](simple_ad_join_linux_instance.md)

# 将 Amazon EC2 Linux 实例无缝加入 Simple AD Active Directory
<a name="simple_ad_seamlessly_join_linux_instance"></a>

此过程会将 Amazon EC2 Linux 实例无缝加入 Simple AD Active Directory。

支持以下 Linux 实例分发版和版本：
+ Amazon Linux AMI 2018.03.0
+ Amazon Linux 2（64 位 x86）
+ Red Hat Enterprise Linux 8 (HVM)（64 位 x86）
+ Ubuntu Server 18.04 LTS 和 Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux 企业服务器 15 SP1

**注意**  
Ubuntu 14 和 Red Hat Enterprise Linux 7 和 8 之前的发行版不支持无缝域加入功能。

## 先决条件
<a name="simple_ad_seamless-linux-prereqs"></a>

您需要完成本节中的过程，才能设置通过域无缝加入 Linux 实例。

### 选择无缝域名加入服务账户
<a name="simple_ad_seamless-linux-prereqs-select"></a>

您可以将 Linux 计算机无缝加入 Simple AD 域。要执行此操作，您必须创建一个具有创建计算机账户权限的用户账户，才能将计算机加入域。尽管*域管理员*或其他组的成员可能有足够的权限将计算机加入域，但我们不建议使用此角色。作为最佳实践，我们建议您使用具有将计算机加入域所需最低权限的服务账户。

有关如何处理并委托权限到服务账户委托权限以创建计算机账户的信息，请参阅 [向您的服务账户委派权限](ad_connector_getting_started.md#connect_delegate_privileges)。

### 创建密钥以存储域服务账户
<a name="-create-secrets"></a>

您可以使用 AWS Secrets Manager 存储域名服务帐户。有关更多信息，请参阅[创建 AWS Secrets Manager 密钥](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html)。

**注意**  
Secrets Manager 会产生相关费用。有关更多信息，请参阅《AWS Secrets Manager User Guide》**中的 [Pricing](https://docs.aws.amazon.com//secretsmanager/latest/userguide/intro.html#asm_pricing)。

**创建密钥并存储域服务账户信息**

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

1. 选择**存储新密钥**。

1. 在 **Store a new secret**（存储新密钥）页面上，执行以下操作：

   1. 在**密钥类型**下，选择**其他密钥类型**。

   1. 在**键/值对**下，执行以下操作：

      1. 在第一个框中，输入 **awsSeamlessDomainUsername**。在同一行的下一个框中，输入您服务账户的用户名。例如，如果您之前使用过该 PowerShell 命令，则服务帐户名称将为**awsSeamlessDomain**。
**注意**  
必须完全按照原样输入 **awsSeamlessDomainUsername**。确保前后均没有任何空格。否则，域加入将失败。  
![\[在 AWS Secrets Manager 控制台的 “选择密钥类型” 页面上。在密钥类型下选择其他类型的密钥并输入 awsSeamlessDomainUsername 作为键值。\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/secrets_manager_1.png)

      1. 选择**添加行**。

      1. 在新行的第一个框中输入 **awsSeamlessDomainPassword**。在同一行的下一个框中，输入服务账户密码。
**注意**  
必须完全按照原样输入 **awsSeamlessDomainPassword**。确保前后均没有任何空格。否则，域加入将失败。

      1. 在**加密密钥**下，保留默认值 `aws/secretsmanager`。选择此选项时， AWS Secrets Manager 始终会对密钥进行加密。您也可以选择您创建的密钥。

      1. 选择**下一步**。

1. 在 “**密钥名称**” 下，使用以下格式输入包含您的目录 ID 的密钥名称，*d-xxxxxxxxx*替换为您的目录 ID：

   ```
   aws/directory-services/d-xxxxxxxxx/seamless-domain-join
   ```

   这将用于检索应用程序中的密钥。
**注意**  
您必须**aws/directory-services/*d-xxxxxxxxx*/seamless-domain-join**完全按原样输入，但要*d-xxxxxxxxxx*用您的目录 ID 替换。确保前后均没有空格。否则，域加入将失败。  
![\[在 AWS Secrets Manager 控制台的配置密钥页面上。输入密钥名称并突出显示。\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/secrets_manager_2.png)

1. 将其他所有内容都设置为默认值，然后选择**下一步**。

1. 在**配置自动轮换**下，选择**禁用自动轮换**，然后选择**下一步**。

   存储此密钥后，您可以为其启用轮换。

1. 查看设置，然后选择**存储**以保存更改。Secrets Manager 控制台将返回您账户中的密钥列表，并且列表中现在包含新的密钥。

1. 从列表中选择您新创建的密钥名称，并记下**密钥 ARN** 值。您需要在下一部分中使用该名称。

### 为域服务账户密钥启用轮换
<a name="seamless-linux-prereqs-turn-on-rotation"></a>

我们建议您定期轮换密钥以改善安全状况。

**为域服务账户密钥启用轮换**
+ 按照《*AWS Secrets Manager 用户指南*》中[为 AWS Secrets Manager 密钥设置自动轮换](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_turn-on-for-other.html)中的说明进行操作。

  对于步骤 5，使用《AWS Secrets Manager 用户指南》**中的轮换模板 [Microsoft Active Directory 凭证](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-rotation-templates.html#template-AD-password)。

  如需帮助，请参阅《*AWS Secrets Manager 用户指南》*中的[AWS Secrets Manager 轮换疑难解答](https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot_rotation.html)。

### 创建所需 IAM policy 和角色
<a name="seamless-linux-prereqs-create-policy"></a>

使用以下先决条件步骤创建自定义策略，该策略允许对您的 Secrets Manager 无缝域加入密钥（您之前创建的）进行只读访问，并创建新的 Linux EC2 DomainJoin IAM 角色。

#### 创建 Secrets Manager IAM 读取策略
<a name="seamless-linux-prereqs-create-policy-step1"></a>

您可以使用 IAM 控制台创建策略，授予对 Secrets Manager 密钥的只读访问权限。

**创建 Secrets Manager IAM 读取策略**

1. 以有权创建 IAM 策略的用户 AWS 管理控制台 身份登录。然后在上打开 IAM 控制台[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中的**访问管理**下，选择**策略**。

1. 选择**创建策略**。

1. 选择 **JSON** 选项卡，然后复制以下 JSON 策略文档中的文本。然后将其粘贴到 **JSON** 文本框中。
**注意**  
确保将区域和资源 ARN 替换为您之前创建的密钥的实际区域和资源 ARN。

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret"
               ],
               "Resource": [
                   "arn:aws:secretsmanager:us-east-1:xxxxxxxxx:secret:aws/directory-services/d-xxxxxxxxx/seamless-domain-join"
               ]
           }
       ]
   }
   ```

1. 完成后，选择**下一步**。策略验证程序将报告任何语法错误。有关更多信息，请参阅[验证 IAM policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html)。

1. 在**检查策略**页面上，输入一个策略名称，例如 **SM-Secret-Linux-DJ-*d-xxxxxxxxxx*-Read**。查看**摘要**部分，以查看您的策略授予的权限。选择**创建策略**，保存更改。托管策略列表中将显示新策略，并且现在已准备好附加到身份中。

**注意**  
我们建议您为每个密钥创建一个策略。这样做可以确保实例只能访问相应的密钥，并在实例受损时将影响降至最低。

#### 创建 Linux EC2 DomainJoin 角色
<a name="seamless-linux-prereqs-create-policy-step2"></a>

您可以使用 IAM 控制台创建用于域加入 Linux EC2 实例的角色。

**创建 Linux EC2 DomainJoin 角色**

1. 以有权创建 IAM 策略的用户 AWS 管理控制台 身份登录。然后在上打开 IAM 控制台[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中的**访问管理**下，选择**角色**。

1. 在内容窗格中，选择**创建角色**。

1. 在**选择受信任实体的类型**下，选择 **AWS 服务**。

1. 在**使用案例**下，选择 **EC2**，然后选择**下一步**。  
![\[在 IAM 控制台的 “选择可信实体” 页面上。 AWS 服务和 EC2 已选中。\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/iam-console-trusted-entity.png)

1. 对于**筛选策略**，执行以下操作：

   1. 输入 **AmazonSSMManagedInstanceCore**。然后选择列表中该项目的复选框。

   1. 输入 **AmazonSSMDirectoryServiceAccess**。然后选择列表中该项目的复选框。

   1. 输入 **SM-Secret-Linux-DJ-*d-xxxxxxxxxx*-Read**（或您在上一过程中创建的策略名称）。然后选择列表中该项目的复选框。

   1. 添加了上面列出的三个策略后，选择**创建角色**。
**注意**  
Amazon SSMDirectory ServiceAccess 提供将实例加入由管理的活动目录的权限 Directory Service。Amazon SSMManaged InstanceCore 提供使用该 AWS Systems Manager 服务所需的最低权限。有关创建具有这些权限的角色的更多信息，以及您可以分配给 IAM 角色的其他权限和策略的信息，请参阅《AWS Systems Manager 用户指南》**中的[为 Systems Manager 创建 IAM 实例配置文件](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html)。

1. 在**角色名称**字段中，输入新角色的名称，如 **LinuxEC2DomainJoin** 或您喜欢的其他名称。

1. （可选）对于**角色描述**，请输入描述。

1. （可选）在**步骤 3：添加标签**下选择**添加新标签**以添加标签。标签键值对用于组织、跟踪或控制此角色的访问权限。

1. 选择**创建角色**。

## 将 Linux 实例无缝加入 Simple AD Active Directory
<a name="simple_ad_seamless-linux-join-instance"></a>

**无缝加入 Linux 实例**

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

1. 从导航栏的区域选择器中，选择与现有目录 AWS 区域 相同的目录。

1. 在 **EC2 控制面板**的**启动实例**部分，选择**启动实例**。

1. 在**启动实例**页面的**名称和标签**部分下，输入您要用于 Linux EC2 实例的名称。

1.  *（可选）*选择**添加其他标签**，添加一个或多个标签键值对，以组织、跟踪或控制此 EC2 实例的访问权限。

1. 在**应用程序和操作系统映像（Amazon 机器映像）**部分中，选择您想要启动的 Linux AMI。
**注意**  
使用的 AMI 必须具有 AWS Systems Manager （SSM 代理）版本 2.3.1644.0 或更高版本。要通过从该 AMI 启动实例来检查 AMI 中已安装的 SSM Agent 版本，请参阅[获取当前安装的 SSM Agent 版本](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-get-version.html)。如果您需要升级 SSM Agent，请参阅[在适用于 Linux 的 EC2 实例上安装和配置 SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html)。  
SSM 在将 Linux 实例加入 Active Directory 域时使用 `aws:domainJoin` 插件。该插件将 Linux 实例的主机名更改为 EC2 AMAZ-*XXXXXXX* 格式。有关 `aws:domainJoin` 的更多信息，请参阅《AWS Systems Manager 用户指南》**中的 [AWS Systems Manager 命令文档插件参考](https://docs.aws.amazon.com//systems-manager/latest/userguide/documents-command-ssm-plugin-reference.html#aws-domainJoin)。

1. 在**实例类型**部分，从**实例类型**下拉列表中选择要使用的实例类型。

1. 在**密钥对（登录）**部分，您可以选择创建新密钥对，或从现有密钥对中进行选择。要创建新的密钥对，请选择**新建新密钥对**。输入密钥对的名称，然后为**密钥对类型**和**私钥文件格式**选择一个选项。要以可与 OpenSSH 一起使用的格式保存私钥，请选择 **pem**。要以可与 PuTTY 一起使用的格式保存私钥，请选择 **ppk**。选择**创建密钥对**。您的浏览器会自动下载私有密钥文件。将私有密钥文件保存在安全位置。
**重要**  
这是您保存私有密钥文件的唯一机会。

1. 在**启动实例**页面的**网络设置**部分下，选择**编辑**。从 **VPC – *必需***下拉列表中选择创建目录的 **VPC**。

1. 从**子网**下拉列表中选择 VPC 中的其中一个公有子网。选择的子网必须将所有外部流量都路由到互联网网关。否则将无法远程连接到实例。

   有关如何连接到互联网网关的更多信息，请参阅《Amazon VPC 用户指南》**中的[使用互联网网关连接到互联网](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_Internet_Gateway.html)。

1. 在**自动分配公有 IP** 下，选择**启用**。

   有关公共和私有 IP 寻址的更多信息，请参阅《Amazon EC2 用户指南》**中的 [Amazon EC2 实例 IP 寻址](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-instance-addressing.html)。

1. 对于**防火墙（安全组）**设置，您可以使用默认设置或进行更改以满足您的需求。

1. 对于**配置存储**设置，您可以使用默认设置或进行更改以满足您的需求。

1. 选择**高级详细信息**部分，从**域加入目录**下拉列表中选择您的域。
**注意**  
选择域加入目录后，您可能会看到：  

![\[选择域加入目录时出现错误消息。您现有的 SSM 文档存在错误。\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/SSM-Error-Message.png)

当 EC2 启动向导识别到某个现有 SSM 文档包含意外属性时，会发生此错误。您可以执行以下操作之一：  
如果您之前编辑了 SSM 文档且属性为预期属性，请选择关闭并继续启动 EC2 实例，不做任何更改。
选择“在此处删除现有 SSM 文档”链接以删除 SSM 文档。这将允许创建包含正确属性的 SSM 文档。启动 EC2 实例时，将自动创建 SSM 文档。

1. 对于 **IAM 实例配置文件**，请选择您之前在先决条件部分**步骤 2：创建 Linux EC2 DomainJoin 角色中创建的 IAM 角色**。

1. 选择**启动实例**。

**注意**  
如果您要使用 SUSE Linux 进行无缝域加入，则需要重新启动才能进行身份验证。要从 Linux 终端重启 SUSE，请键入 **sudo reboot**。

# 手动将 Amazon EC2 Linux 实例加入 Simple AD Active Directory
<a name="simple_ad_join_linux_instance"></a>

除 Amazon EC2 Windows 实例外，您还可以将特定 Amazon EC2 Linux 实例加入 Simple AD Active Directory。支持以下 Linux 实例分发版和版本：
+ Amazon Linux AMI 2018.03.0
+ Amazon Linux 2（64 位 x86）
+ Amazon Linux 2023 AMI
+ Red Hat Enterprise Linux 8 (HVM)（64 位 x86）
+ Ubuntu Server 18.04 LTS 和 Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux 企业服务器 15 SP1

**注意**  
其他 Linux 分发版和版本可能会正常运行，但未经过测试。

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

必须先按照 [将 Amazon EC2 Linux 实例无缝加入 Simple AD Active Directory](simple_ad_seamlessly_join_linux_instance.md) 中指定的步骤启动实例，然后才能将 Amazon Linux、CentOS、Red Hat 或 Ubuntu 实例加入目录。

**重要**  
以下某些过程如果未正确执行，可能会使实例无法访问或不可用。因此，我们强烈建议在执行这些过程之前对实例创建备份或拍摄快照。

**将 Linux 实例加入目录**  
使用以下选项卡之一对特定 Linux 实例执行步骤：

------
#### [ Amazon Linux ]<a name="amazonlinux"></a>

1. 使用任何 SSH 客户端连接到实例。

1. 将 Linux 实例配置为使用 Directory Service提供的 DNS 服务器的 DNS 服务器 IP 地址。可以通过在附加到 VPC 的 DHCP 选项集中进行设置，或是通过在实例上手动设置，来执行此操作。如果要手动设置，请参阅 AWS 知识中心的[如何为私有 EC2 实例分配静态 DNS 服务器](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/)，以了解有关为特定 Linux 分发版和版本设置持久性 DNS 服务器的指导。

1. 确保 64 位 Amazon Linux 实例为最新状态。

   ```
   sudo yum -y update
   ```

1. 在 Linux 实例上安装所需的 Amazon Linux 软件包。
**注意**  
其中一些程序包可能已安装。  
安装程序包时，可能会遇到几个弹出配置屏幕。通常可以将这些屏幕中的字段保留为空白。  
Amazon Linux  

   ```
   sudo yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
   ```
**注意**  
有关确定您所使用的 Amazon Linux 版本的帮助，请参阅《**Amazon EC2 用户指南（适用于 Linux 实例）》中的[识别 Amazon Linux 映像](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html#amazon-linux-image-id)。

1. 使用以下命令将实例加入目录。

   ```
   sudo realm join -U join_account@EXAMPLE.COM example.com --verbose
   ```  
*join\$1account@EXAMPLE.COM*  
*example.com*网域中具有域加入权限的账户。在出现提示时输入账户的密码。有关委托这些权限的更多信息，请参阅[为托 AWS 管 Microsoft AD 委派目录加入权限](directory_join_privileges.md)。  
*example.com*  
目录的完全限定 DNS 名称。

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. 设置 SSH 服务以允许进行密码身份验证。

   1. 在文本编辑器中打开 `/etc/ssh/sshd_config` 文件。

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. 将 `PasswordAuthentication` 设置为 `yes`。

      ```
      PasswordAuthentication yes
      ```

   1. 重新启动 SSH 服务。

      ```
      sudo systemctl restart sshd.service
      ```

      或者：

      ```
      sudo service sshd restart
      ```

1. 重新启动实例之后，使用任何 SSH 客户端连接到它，然后通过执行以下步骤将域管理员组添加到 sudoers 列表：

   1. 使用以下命令打开 `sudoers` 文件：

      ```
      sudo visudo
      ```

   1. 将以下内容添加到 `sudoers` 文件的底部并保存该文件。

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

      （以上示例使用“\$1<space>”形成 Linux 空格字符。）

------
#### [ CentOS ]<a name="centos"></a>

1. 使用任何 SSH 客户端连接到实例。

1. 将 Linux 实例配置为使用 Directory Service提供的 DNS 服务器的 DNS 服务器 IP 地址。可以通过在附加到 VPC 的 DHCP 选项集中进行设置，或是通过在实例上手动设置，来执行此操作。如果要手动设置，请参阅 AWS 知识中心的[如何为私有 EC2 实例分配静态 DNS 服务器](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/)，以了解有关为特定 Linux 分发版和版本设置持久性 DNS 服务器的指导。

1. 确保 CentOS 7 实例为最新状态。

   ```
   sudo yum -y update
   ```

1. 在 Linux 实例上安装所需 CentOS 7 软件包。
**注意**  
其中一些程序包可能已安装。  
安装程序包时，可能会遇到几个弹出配置屏幕。通常可以将这些屏幕中的字段保留为空白。

   ```
   sudo yum -y install sssd realmd krb5-workstation samba-common-tools
   ```

1. 使用以下命令将实例加入目录。

   ```
   sudo realm join -U join_account@example.com example.com --verbose
   ```  
*join\$1account@example.com*  
*example.com*网域中具有域加入权限的账户。在出现提示时输入账户的密码。有关委托这些权限的更多信息，请参阅[为托 AWS 管 Microsoft AD 委派目录加入权限](directory_join_privileges.md)。  
*example.com*  
目录的完全限定 DNS 名称。

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. 设置 SSH 服务以允许进行密码身份验证。

   1. 在文本编辑器中打开 `/etc/ssh/sshd_config` 文件。

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. 将 `PasswordAuthentication` 设置为 `yes`。

      ```
      PasswordAuthentication yes
      ```

   1. 重新启动 SSH 服务。

      ```
      sudo systemctl restart sshd.service
      ```

      或者：

      ```
      sudo service sshd restart
      ```

1. 重新启动实例之后，使用任何 SSH 客户端连接到它，然后通过执行以下步骤将域管理员组添加到 sudoers 列表：

   1. 使用以下命令打开 `sudoers` 文件：

      ```
      sudo visudo
      ```

   1. 将以下内容添加到 `sudoers` 文件的底部并保存该文件。

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

      （以上示例使用“\$1<space>”形成 Linux 空格字符。）

------
#### [ Red hat ]<a name="redhat"></a>

1. 使用任何 SSH 客户端连接到实例。

1. 将 Linux 实例配置为使用 Directory Service提供的 DNS 服务器的 DNS 服务器 IP 地址。可以通过在附加到 VPC 的 DHCP 选项集中进行设置，或是通过在实例上手动设置，来执行此操作。如果要手动设置，请参阅 AWS 知识中心的[如何为私有 EC2 实例分配静态 DNS 服务器](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/)，以了解有关为特定 Linux 分发版和版本设置持久性 DNS 服务器的指导。

1. 确保 Red Hat - 64 位实例为最新状态。

   ```
   sudo yum -y update
   ```

1. 在 Linux 实例上安装所需的 Red Hat 程序包。
**注意**  
其中一些程序包可能已安装。  
安装程序包时，可能会遇到几个弹出配置屏幕。通常可以将这些屏幕中的字段保留为空白。

   ```
   sudo yum -y install sssd realmd krb5-workstation samba-common-tools
   ```

1. 使用以下命令将实例加入目录。

   ```
   sudo realm join -v -U join_account example.com --install=/
   ```  
*join\$1account*  
域中具有*example.com*域加入权限的帐户的**AMAccount名称**。在出现提示时输入账户的密码。有关委托这些权限的更多信息，请参阅[为托 AWS 管 Microsoft AD 委派目录加入权限](directory_join_privileges.md)。  
*example.com*  
目录的完全限定 DNS 名称。

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. 设置 SSH 服务以允许进行密码身份验证。

   1. 在文本编辑器中打开 `/etc/ssh/sshd_config` 文件。

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. 将 `PasswordAuthentication` 设置为 `yes`。

      ```
      PasswordAuthentication yes
      ```

   1. 重新启动 SSH 服务。

      ```
      sudo systemctl restart sshd.service
      ```

      或者：

      ```
      sudo service sshd restart
      ```

1. 重新启动实例之后，使用任何 SSH 客户端连接到它，然后通过执行以下步骤将域管理员组添加到 sudoers 列表：

   1. 使用以下命令打开 `sudoers` 文件：

      ```
      sudo visudo
      ```

   1. 将以下内容添加到 `sudoers` 文件的底部并保存该文件。

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

      （以上示例使用“\$1<space>”形成 Linux 空格字符。）

------
#### [ Ubuntu ]<a name="ubuntu"></a>

1. 使用任何 SSH 客户端连接到实例。

1. 将 Linux 实例配置为使用 Directory Service提供的 DNS 服务器的 DNS 服务器 IP 地址。可以通过在附加到 VPC 的 DHCP 选项集中进行设置，或是通过在实例上手动设置，来执行此操作。如果要手动设置，请参阅 AWS 知识中心的[如何为私有 EC2 实例分配静态 DNS 服务器](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/)，以了解有关为特定 Linux 分发版和版本设置持久性 DNS 服务器的指导。

1. 确保您的 Ubuntu - 64 位实例为最新状态。

   ```
   sudo apt-get update
   sudo apt-get -y upgrade
   ```

1. 在 Linux 实例上安装所需的 Ubuntu 程序包。
**注意**  
其中一些程序包可能已安装。  
安装程序包时，可能会遇到几个弹出配置屏幕。通常可以将这些屏幕中的字段保留为空白。

   ```
   sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
   ```

1. 禁用反向 DNS 解析，并将默认领域设置为您的域的 FQDN。Ubuntu 实例在 DNS 中**必须** 可以反向解析，领域才能使用。否则，您必须在 /etc/krb5.conf 中禁用 DNS，如下所示：

   ```
   sudo vi /etc/krb5.conf
   ```

   ```
   [libdefaults]
   default_realm = EXAMPLE.COM
   rdns = false
   ```

1. 使用以下命令将实例加入目录。

   ```
   sudo realm join -U join_account example.com --verbose
   ```  
*join\$1account@example.com*  
域中具有*example.com*域加入权限的帐户的**AMAccount名称**。在出现提示时输入账户的密码。有关委托这些权限的更多信息，请参阅[为托 AWS 管 Microsoft AD 委派目录加入权限](directory_join_privileges.md)。  
*example.com*  
目录的完全限定 DNS 名称。

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. 设置 SSH 服务以允许进行密码身份验证。

   1. 在文本编辑器中打开 `/etc/ssh/sshd_config` 文件。

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. 将 `PasswordAuthentication` 设置为 `yes`。

      ```
      PasswordAuthentication yes
      ```

   1. 重新启动 SSH 服务。

      ```
      sudo systemctl restart sshd.service
      ```

      或者：

      ```
      sudo service sshd restart
      ```

1. 重新启动实例之后，使用任何 SSH 客户端连接到它，然后通过执行以下步骤将域管理员组添加到 sudoers 列表：

   1. 使用以下命令打开 `sudoers` 文件：

      ```
      sudo visudo
      ```

   1. 将以下内容添加到 `sudoers` 文件的底部并保存该文件。

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

      （以上示例使用“\$1<space>”形成 Linux 空格字符。）

------

**注意**  
使用 Simple AD 时，如果在 Linux 实例上创建用户账户时使用了“强制用户在首次登录时更改密码”选项，则该用户无法使用 **kpasswd** 首次更改其密码。要首次更改密码，域管理员必须使用 Active Directory 管理工具更新用户密码。

## 通过 Linux 实例管理账户
<a name="simple_ad_manage_accounts"></a>

要通过 Linux 实例管理 Simple AD 中的账户，您必须更新您的 Linux 实例上的特定配置文件，如下所示：

1. ****在 /.conf 文件中将 **krb5\$1use\$1kdcin** fo 设置为 False。etc/sssd/sssd****例如：

   ```
   [domain/example.com]
       krb5_use_kdcinfo = False
   ```

1. 需要重启 sssd 服务配置才能生效：

   ```
   $ sudo systemctl restart sssd.service
   ```

   或者，您也可以使用：

   ```
   $ sudo service sssd start
   ```

1. 如果您将通过 CentOS Linux 实例管理用户，还必须编辑文件 **/etc/smb.conf** 以包括：

   ```
   [global] 
     workgroup = EXAMPLE.COM
     realm = EXAMPLE.COM 
     netbios name = EXAMPLE
     security = ads
   ```

## 限制账户登录访问
<a name="simple_ad_linux_filter"></a>

因为所有账户都是在 Active Directory 中定义的，因此默认情况下，目录中的所有用户都可以登录该实例。可以在 **sssd.conf** 中使用 **ad\$1access\$1filter** 来仅允许特定用户登录到实例。例如：

```
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
```

*memberOf*  
指示仅当用户是特定组的成员时，才允许他们访问实例。

*cn*  
应具有访问权限的组的通用名称。在此示例中，组名为*admins*。

*ou*  
这是上面的组所在的组织单位。在此示例中，OU 是*Testou*。

*dc*  
这是您的域的域组成部分。在本示例中，*example*。

*dc*  
这是附加域组成部分。在本示例中，*com*。

您必须手动将 **ad\$1access\$1filter** 添加到 **/etc/sssd/sssd.conf**。

在文本编辑器中打开 **/etc/sssd/sssd.conf** 文件。

```
sudo vi /etc/sssd/sssd.conf
```

执行此操作之后，**sssd.conf** 可能类似于下面这样：

```
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam

[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
```

需要重启 sssd 服务配置才能生效：

```
sudo systemctl restart sssd.service
```

或者，您也可以使用：

```
sudo service sssd restart
```

## ID 映射
<a name="simple-ad-id-mapping"></a>

可以通过两种方法执行 ID 映射，以维护 UNIX/Linux 用户标识符（UID）和组标识符（GID）以及 Windows 和 Active Directory 安全标识符（SID）身份之间的统一体验。这些方法如下：

1. 集中化

1. 分布式

**注意**  
Active Directory 中的集中式用户身份映射需要可移植操作系统接口或 POSIX。

**集中式用户身份映射**  
Active Directory 或其他轻型目录访问协议（LDAP）服务为 Linux 用户提供 UID 和 GID。在 Active Directory 中，如果配置了 POSIX 扩展，这些标识符将存储在用户的属性中：
+ UID：Linux 用户名（字符串）
+ UID 号：Linux 用户 ID 号（整数）
+ GID 号：Linux 组 ID 号（整数）

要将 Linux 实例配置为使用 Active Directory 提供的 UID 和 GID，请在 sssd.conf 文件中设置 `ldap_id_mapping = False`。在设置此值之前，请确认您已向 Active Directory 中的用户和组添加了 UID、UID 号和 GID 号。

**分布式用户身份映射**  
如果 Active Directory 没有 POSIX 扩展名，或者如果您选择不集中管理身份映射，Linux 可以计算 UID 和 GID 值。Linux 使用用户的唯一安全标识符（SID）来保持一致性。

要配置分布式用户 ID 映射，请在 sssd.conf 文件中设置 `ldap_id_mapping = True`。

**常见问题**  
如果设置 `ldap_id_mapping = False`，有时启动 SSSD 服务会失败。此失败的原因是由于更改 UIDs 不支持。建议在每次从 ID 映射更改为 POSIX 属性，或从 POSIX 属性更改为 ID 映射时删除 SSSD 缓存。有关 ID 映射与 ldap\$1id\$1mapping 参数的更多详细信息，请参阅 Linux 命令行中的 sssd-ldap(8) 手册页。

## 连接到 Linux 实例
<a name="simple_ad_linux_connect"></a>

当用户使用 SSH 客户端连接到实例时，系统会提示他们输入用户名。用户可以采用 `username@example.com` 或 `EXAMPLE\username` 格式输入用户名。响应将类似于以下内容，具体取决于您使用的 Linux 发行版：

**Amazon Linux、Red Hat Enterprise Linux 和 CentOS Linux**

```
login as: johndoe@example.com
johndoe@example.com's password:
Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX
```

**SUSE Linux**

```
SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit)

As "root" (sudo or sudo -i) use the:
  - zypper command for package management
  - yast command for configuration management

Management and Config: https://www.suse.com/suse-in-the-cloud-basics
Documentation: https://www.suse.com/documentation/sles-15/
Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud

Have a lot of fun...
```

**Ubuntu Linux**

```
login as: admin@example.com
admin@example.com@10.24.34.0's password:
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64)

* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage

  System information as of Sat Apr 18 22:03:35 UTC 2020

  System load:  0.01              Processes:           102
  Usage of /:   18.6% of 7.69GB   Users logged in:     2
  Memory usage: 16%               IP address for eth0: 10.24.34.1
  Swap usage:   0%
```

# 委派 Simple AD 的目录加入权限
<a name="simple_ad_directory_join_privileges"></a>

要将计算机加入到目录，需要有权将计算机加入到目录的账户。

对于 Simple AD，**域管理员**组的成员拥有足够权限将计算机加入到目录。

但是根据最佳实践，应使用只拥有所需的最小权限的账户。以下过程演示如何创建名为 `Joiners` 的新组，并向此组委派将计算机加入到目录所需的权限。

您必须在已加入到目录且已安装 **Active Directory 用户和计算机** MMC 管理单元的计算机上执行此过程。您还必须以域管理员身份登录。

**要委托 Simple AD 的加入权限**

1. 打开 **Active Directory User and Computers** 并在导航树中选择您的域根。

1. 在左侧的导航树中，打开 **Users** 的上下文菜单 (右键单击)，选择 **New**，然后选择 **Group**。

1. 在 **New Object - Group** 框中，键入以下内容，然后选择 **OK**。
   + 对于 **Group name (组名称)**，键入 **Joiners**。
   + 对于 **Group scope**，选择 **Global**。
   + 对于 **Group type**，选择 **Security**。

1. 在导航树中，选择您的域根。从 **Action** 菜单中选择 **Delegate Control**。

1. 在 **Delegation of Control Wizard** 页面上，选择 **Next**，然后选择 **Add**。

1. 在 **Select Users, Computers, or Groups** 框中，键入 `Joiners`，然后选择 **OK**。如果找到多个对象，请选择上面创建的 `Joiners` 组。选择**下一步**。

1. 在 **Tasks to Delegate** 页面上，选择 **Create a custom task to delegate**，然后选择 **Next**。

1. 选择 **Only the following objects in the folder**，然后选择 **Computer objects**。

1. 选择 **Create selected objects in this folder**，然后选择 **Delete selected objects in this folder**。然后选择**下一步**。  
![\[“委派控制向导 Active Directory 对象类型”对话框仅选择文件夹中的以下对象、用户对象、在此文件夹中创建选定对象以及删除此文件夹中的选定对象。\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/aduc_delegate_join_linux.png)

1. 选择 **Read** 和 **Write**，然后选择 **Next**。  
![\[“委派控制向导权限”对话框中选择了以下权限：常规权限、特定于属性权限和读取权限。\]](http://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/images/aduc_delegate_join_permissions.png)

1. 在 **Completing the Delegation of Control Wizard** 页面上验证信息，然后选择 **Finish**。

1. 使用强密码创建一个用户，并将该用户添加到 `Joiners` 组。然后，用户将有足够的权限 Directory Service 连接到该目录。

# 为 Simple AD 创建 DHCP 选项集
<a name="simple_ad_dhcp_options_set"></a>

AWS 建议您为 Directory Service 目录创建 DHCP 选项集，并将 DHCP 选项集分配给您的目录所在的 VPC。这使该 VPC 中的任何实例都可以指向指定域和 DNS 服务器以解析其域名。

 有关 DHCP 选项集的更多信息，请参阅[https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)《Amazon VPC 用户指南》中的 *DHCP 选项集*。

**为目录创建 DHCP 选项集**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **DHCP Options Sets**，然后选择 **Create DHCP options set**。

1. 在**创建 DHCP 选项集**页面上，输入目录的以下值：  
**名称**  
选项集的可选标签。  
**域名**  
目录的完全限定名称，例如 `corp.example.com`。  
**域名服务器**  
您 AWS提供的目录的 DNS 服务器的 IP 地址。  
可以转到 [AWS Directory Service 控制台](https://console.aws.amazon.com/directoryservicev2/)导航窗格，选择**目录**，然后选择正确的目录 ID，从而找到这些地址。  
**NTP 服务器**  
将此字段留空。  
**NetBIOS 名称服务器**  
将此字段留空。  
**NetBIOS 节点类型**  
将此字段留空。

1. 选择**创建 DHCP 选项集**。新的 DHCP 选项集会出现在您的 DHCP 选项列表中。

1. 记下新的 DHCP 选项集的 ID (dopt-*xxxxxxxx*)。使用它将新选项集与 VPC 相关联。

**更改与 VPC 相关联的 DHCP 选项集。**

在您创建 DHCP 选项集之后，您便无法再修改这些选项。如果您希望 VPC 使用不同的 DHCP 选项集，您必须创建新的选项集，并将其与您的 VPC 相关联。您还可以设置 VPC，让其不使用任何 DHCP 选项。

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择**您的 VPCs**。

1. 选择 VPC，然后依次选择**操作**、**编辑 VPC 设置**。

1. 对于 **DHCP 选项集**，选择一个选项集或选择**无 DHCP 选项集**，然后选择**保存**。

要使用命令行更改与 VPC 相关联的 DHCP 选项集，请参阅以下内容：
+ **AWS CLI**: [associate-dhcp-options](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-dhcp-options.html)
+  **AWS Tools for Windows PowerShell**: [Register-EC2DhcpOption](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2DhcpOption.html)