

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

# 使用自行管理的 Microsoft Active Directory
<a name="self-managed-AD"></a>

如果您的组织在本地或云端使用自行管理的 Active Directory 管理身份和设备，则可以在创建时将 FSx 适用于 Windows 文件服务器的文件系统加入到您的 Active Directory 域中。

 当您将文件系统加入自我管理的 Active Directory 时， FSx 适用于 Windows 的文件服务器的文件系统与您的用户和现有资源（包括现有文件服务器）位于同一 Active Directory 林（包含域、用户和计算机的 Active Directory 配置中的顶级逻辑容器）和同一 Active Directory 域中。

**注意**  
您可以将您的资源（包括您的 Amazon FSx 文件系统）隔离到与用户所在林分开的 Active Directory 林中。为此，请将您的文件系统加入 AWS 托管的 Microsoft Active Directory，并在您创建的 AWS 托管的 Microsoft Active Directory 和现有的自行管理的 Active Directory 之间建立单向林信任关系。
+  您的 Active Directory 域上的服务账户的用户名和密码，供亚马逊用于 FSx将文件系统加入到您的 Active Directory 域中。您可以将这些凭证以纯文本形式提供，也可以将其存储在其中 AWS Secrets Manager 并提供密钥 ARN（推荐）。
+  （可选）您希望将文件系统加入其中的域中的组织单元（OU）。
+ （可选）您要委派授权，使其对文件系统执行管理操作的域组。例如，此域组可以管理 Windows 文件共享、管理文件系统根文件夹上的访问控制列表 (ACLs)、获取文件和文件夹的所有权等。如果您未指定此组，则默认情况下，亚马逊 FSx 会将此权限委托给您的 Active Directory 域中的域管理员组。
**注意**  
您提供的域组名称在 Active Directory 中必须是唯一的。 FSx Windows 文件服务器在以下情况下不会创建域组：  
如果已经存在一个名称由您指定过的群组
如果未指定名称，Active Directory 中已经存在一个名为“域管理员”的群组。

  有关更多信息，请参阅 [将亚马逊 FSx 文件系统加入自我管理的 Microsoft Active Directory 域](creating-joined-ad-file-systems.md)。

**Topics**
+ [先决条件](#self-manage-prereqs)
+ [服务账户权限](#service-account-prereqs)
+ [使用自行管理 Active Directory 时的最佳实践](#self-managed-AD-best-practices)
+ [亚马逊 FSx 服务账户](#self-managed-AD-service-account)
+ [向 Amazon FSx 服务账户或群组委派权限](assign-permissions-to-service-account.md)
+ [验证 Active Directory 配置](validate-ad-config.md)
+ [将亚马逊 FSx 文件系统加入自我管理的 Microsoft Active Directory 域](creating-joined-ad-file-systems.md)
+ [获取用于手动 DNS 条目的正确文件系统 IP 地址](file-system-ip-addresses-for-dns.md)
+ [更新自行管理的 Active Directory 配置](update-self-ad-config.md)
+ [更改亚马逊 FSx 服务账户](changing-ad-service-account.md)
+ [监控自行管理的 Active Directory 更新](monitor-self-ad-update.md)

## 先决条件
<a name="self-manage-prereqs"></a>

在将 FSx 适用于 Windows 的文件服务器文件系统加入自我管理的 Microsoft Active Directory 域之前，请查看以下先决条件，以帮助确保您可以成功地将亚马逊 FSx 文件系统加入到自我管理的 Active Directory 中。

### 本地配置
<a name="on-prem-prereqs"></a>

这些是你要加入亚马逊 FSx 文件系统的自行管理的 Microsoft Active Directory（本地或云端）的先决条件。
+ Active Directory 域控制器：
  + 必须具有 Windows Server 2008 R2 或更高版本的域功能级别。
  + 必须可写入。
  + 至少有一个可访问的域控制器必须是林的全局目录。
+ DNS 服务器必须能够解析如下所示的名称：
  + 在要加入文件系统的域中
  + 在林的根域中
+ DNS 服务器和 Active Directory 域控制器 IP 地址必须满足以下要求，这些要求因创建亚马逊 FSx 文件系统的时间而异：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/WindowsGuide/self-managed-AD.html)

  如果您需要使用非私有 IP 地址范围访问 2020 年 12 月 17 日之前创建的 Windows 文件服务器文件系统，则可以通过恢复文件系统的备份来创建新的文件系统。 FSx 有关更多信息，请参阅 [将备份还原至新文件系统](how-to-restore-backups.md)。
+ 自行管理的 Active Directory 的域名必须满足以下要求：
  + 该域名未采用单标签域（SLD）格式。Amazon FSx 不支持 SLD 域名。
  + 对于单可用区 2 和所有多可用区文件系统，域名不得超过 47 个字符。
+ 您定义的任何 Active Directory 站点必须满足以下先决条件：
  + VPC 中与文件系统关联的子网必须在 Active Directory 站点中进行定义。
  + VPC 子网与任何 Active Directory 站点子网之间没有产生冲突。

  Amazon FSx 需要连接到您在活动目录环境中定义的域控制器或 Active Directory 站点。亚马逊 FSx 将忽略所有在端口 389 上屏蔽了 TCP 和 UDP 的域控制器。对于您的 Active Directory 中的其余域控制器，请确保它们满足 Amazon FSx 连接要求。此外，确认对服务账户所做的任何更改均已传播到所有这些域控制器。
**重要**  
 FSx 创建文件系统后，请勿移动 Amazon 在 OU 中创建的计算机对象。这样做会导致您的文件系统配置错误。

您可以使用 [Amazon Active Directory 验证工具验证您的 Act FSx ive](validate-ad-config.md) Directory 配置，包括测试多个域控制器的连接。要限制需要连接的域控制器的数量，您还可以在本地域控制器和 AWS Managed Microsoft AD之间建立信任关系。有关更多信息，请参阅 [使用资源林隔离模型](fsx-aws-managed-ad.md#using-a-rfim)。

**重要**  
 FSx 只有当你使用微软 DNS 作为默认 DNS 服务时，亚马逊才会注册文件系统的 DNS 记录。如果您使用的是第三方 DNS，则需要在创建文件系统后手动设置文件系统的 DNS 记录条目。

### 网络配置
<a name="network-configs"></a>

本节介绍了将文件系统加入自行管理的 Active Directory 的网络配置要求。我们强烈建议您在尝试将文件系统加入自行管理的 A [ct FSx ive Directory 之前，使用 Amazon Active Directory 验证工具](validate-ad-config.md#test-ad-network-config)测试您的网络设置。
+ 确保您的防火墙规则允许您的 Active Directory 域控制器与 Amazon FSx 之间的 ICMP 流量。
+ 必须在您要在其中创建文件系统的 Amazon VPC 与自行管理的 Active Directory 之间配置连接。您可以使用 [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)、[AWS Virtual Private Network](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)、[VPC 对等连接](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)或 [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) 来设置此连接。
+ 必须使用亚马逊 FSx 控制台将默认 Amazon VPC 的默认 VPC 安全组添加到您的文件系统中。确保您创建文件系统的子网的安全组和 VPC 网络 ACLs 允许下图所示的端口和方向的流量。  
![\[FSx 适用于 Windows 文件服务器的 VPC 安全组和创建文件系统的子网的网络 ACLs的端口配置要求。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/WindowsGuide/images/Windows-port-requirements.png)

  下表明确了协议、端口及其角色。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/WindowsGuide/self-managed-AD.html)

  这些流量规则还需要镜像到适用于每个 Active Directory 域控制器、DNS 服务器、 FSx 客户端和管理员的防火墙上。 FSx 

**注意**  
如果您使用的是 VPC 网络 ACLs，则还必须允许来自文件系统的动态端口 (49152-65535) 上的出站流量。

**重要**  
虽然 Amazon VPC 安全组要求仅在网络流量启动的方向上打开端口，但大多数 Windows 防火墙和 VPC 网络都 ACLs 要求双向打开端口。

## 服务账户权限
<a name="service-account-prereqs"></a>

您需要在自行管理的 Microsoft Active Directory 中有一个服务账户，该账户具有将计算机对象加入该自行管理的 Microsoft Active Directory 域的委派权限。*服务账户*是自行管理的 Active Directory 中的一个用户账户，该账户已被委派某些任务。

以下是必须向要加入文件系统的 OU 中的 Amazon FSx 服务账户委派的最低权限集。
+ 如果使用 Active Directory 用户和计算机 MMC 中的*委派控制*：
  + 重置密码
  + 读取和写入账户限制
  + 已验证写入 DNS 主机名
  + 已验证写入服务主体名称
+ 如果使用 Active Directory 用户和计算机 MMC 中的*高级功能*：
  + 修改权限
  + 创建计算机对象
  + 删除计算机对象

有关更多信息，请参阅主题为[错误：当已委派控制的非管理员用户尝试将计算机加入域控制器时，访问被拒绝](https://support.microsoft.com/en-us/help/932455/error-message-when-non-administrator-users-who-have-been-delegated-con)的 Microsoft Windows Server 文档。

有关设置所需权限的更多信息，请参阅 [向 Amazon FSx 服务账户或群组委派权限](assign-permissions-to-service-account.md)。

## 使用自行管理 Active Directory 时的最佳实践
<a name="self-managed-AD-best-practices"></a>

**Topics**
+ [使用存储活动目录凭证 AWS Secrets Manager](#bp-store-ad-creds-using-secret-manager-windows)

我们建议您在将亚马逊 FSx 版 Windows 文件服务器文件系统加入自行管理的 Microsoft Active Directory 时，遵循这些最佳实践。这些最佳实践有助于您保持文件系统的持续、不间断的可用性。

**为亚马逊使用单独的服务账户 FSx**  
使用单独的服务账户授予[所需的权限](#service-account-prereqs)，让 Amazon FSx 完全管理加入您自行管理的 Active Directory 的文件系统。我们不建议为此使用**域管理员**。

**使用 Active Directory 组**  
使用 Active Directory 组管理与亚马逊 FSx 服务账户关联的活动目录权限和配置。

**隔离组织单元（OU）**  
为了便于查找和管理您的 Amazon FSx 计算机对象，我们建议您将用于 Windows File Server 文件系统的组织单位 (OU) 与其他域控制器问题区分开来。 FSx 

**保留活动目录配置 up-to-date**  
必须保留文件系统的 Active Directory 配置 up-to-date而不作任何更改。例如，如果自行管理的 Active Directory 使用基于时间的密码重置策略，则在密码重置后，应立即更新文件系统上的服务账户密码。有关更多信息，请参阅 [更新自行管理的 Active Directory 配置](update-self-ad-config.md)。

**更改亚马逊 FSx 服务账户**  
如果您使用新服务账户更新文件系统，则此账户必须拥有加入 Active Directory 的所需权限和特权，并对与文件系统关联的现有计算机对象拥有**完全控制**权限。有关更多信息，请参阅 [更改亚马逊 FSx 服务账户](changing-ad-service-account.md)。

**将子网分配给单个 Microsoft Active Directory 站点**  
如果您的 Active Directory 环境中有大量域控制器，请使用 A **ctive Directory 网站和服务**将您的亚马逊 FSx 文件系统使用的子网分配给可用性和可靠性最高的单个 Active Directory 站点。确保 VPC 安全组、VPC 网络 ACL、您 DCs的 Windows 防火墙规则以及您的 Active Directory 基础设施中的任何其他网络路由控制允许亚马逊 FSx 通过所需端口进行通信。这允许 Windows 在无法使用分配的 Active Directory 站点时还原至其他域控制器。有关更多信息，请参阅 [使用 Amazon VPC 进行文件系统访问控制](limit-access-security-groups.md)。

**使用安全组规则限制流量**  
使用安全组规则在虚拟私有云（VPC）中实现最低权限原则。可以使用 VPC 安全组规则限制文件允许的入站和出站网络流量的类型。例如，我们建议仅允许出站流量流向自行管理的 Active Directory 域控制器或所用子网或安全组内部。有关更多信息，请参阅 [使用 Amazon VPC 进行文件系统访问控制](limit-access-security-groups.md)。

**请勿移动 Amazon 创建的计算机对象 FSx**  
 FSx 创建文件系统后，请勿移动 Amazon 在 OU 中创建的计算机对象。这样做会导致您的文件系统配置错误。

**验证 Active Directory 配置**  
在尝试将 FSx 适用于 Windows 的文件服务器文件系统加入您的活动目录之前，我们强烈建议您使用[亚马逊 Active Directory 验证工具验证您的 FSx 活动目录](validate-ad-config.md)配置。

### 使用存储活动目录凭证 AWS Secrets Manager
<a name="bp-store-ad-creds-using-secret-manager-windows"></a>

你可以使用 AWS Secrets Manager 安全地存储和管理你的 Microsoft Active Directory 域加入服务帐户凭据。此方法无需在应用程序代码或配置文件中以明文形式存储敏感凭证，从而增强您的安全状况。

您还可以配置 IAM 策略，以管理对密钥的访问权限，并为密码设置自动轮换策略。

#### 将活动目录凭据存储在 AWS Secrets Manager （控制台）中
<a name="bp-store-ad-creds-sm-windows-console"></a>

##### 步骤 1：创建 KMS 密钥
<a name="create-kms-key-windows-console"></a>

创建 KMS 密钥，以在 Secrets Manager 中对 Active Directory 凭证进行加密和解密。

**创建密钥**
**注意**  
对于**加密密钥**，请创建新密钥，不要使用 AWS 默认 KMS 密钥。请务必 AWS KMS key 在包含要加入 Active Directory 的文件系统的同一个区域中创建。

1. 在 https://console.aws.amazon.com /kms 处打开 AWS KMS 控制台。

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

1. 对于**密钥类型**，选择**对称**。

1. 对于**密钥用法**，选择**加密和解密**。

1. 对于**高级选项**，执行以下操作：

   1. 对于**密钥材料源**，选择 **KMS**。

   1. 对于**区域性**，选择**单区域密钥**，然后选择**下一步**。

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

1. 对于**别名**，提供 KMS 密钥的名称。

1. （可选）对于**描述**，提供 KMS 密钥的描述。

1. （可选）对于**标签**，提供 KMS 密钥的标签，然后选择**下一步**。

1. （可选）对于**密钥管理员**，提供获授权管理此密钥的 IAM 用户和角色。

1. 对于**密钥删除**，确保选中**允许密钥管理员删除此密钥**复选框，然后选择**下一步**。

1. （可选）对于**密钥用户**，提供获授权在加密操作中使用此密钥的 IAM 用户和角色。选择**下一步**。

1. 对于**密钥策略，选择**编辑**并在政策****声明**中包含以下内容以允许 Amazon FSx 使用 KMS 密钥，然后选择**下一步**。请务必将替换*us-west-2*为文件系统的部署 AWS 区域 位置和您*123456789012*的 AWS 账户 ID。

   ```
   {
       "Sid": "Allow FSx to use the KMS key",
       "Version": "2012-10-17", 		 	 	 
       "Effect": "Allow",
       "Principal": {
           "Service": "fsx.amazonaws.com"
       },
       "Action": [
           "kms:Decrypt",
           "kms:DescribeKey"
       ],
       "Resource": "arn:aws:kms:us-west-2:123456789012:key/*",
       "Condition": {
           "StringEquals": {
               "kms:ViaService": "secretsmanager.us-west-2.amazonaws.com",
               "aws:SourceAccount": "123456789012"
           },
           "ArnLike": {
               "aws:SourceArn": "arn:aws:fsx:us-west-2:123456789012:file-system/*"
           }
       }
   }
   ```

1. 选择**结束**。

**注意**  
通过修改 `Resource` 和 `aws:SourceArn` 字段，您可以设置更精细的访问控制，以针对特定的密钥和文件系统。

##### 步骤 2：创建 AWS Secrets Manager 密钥
<a name="create-secret-windows-console"></a>

**创建密钥**

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

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

1. 对于**密钥类型**，请选择**其他密钥类型**。

1. 对于**键/值对**，请执行以下操作以添加您的两个密钥：

   1. 对于第一个密钥，请输入 `CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME`。

   1. 对于第一个密钥的值，请仅输入 AD 用户的用户名（不带域前缀）。

   1. 对于第二个密钥，请输入 `CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD`。

   1. 对于第二个密钥的值，请输入您在域中为 AD 用户创建的密码。

1. 对于**加密密钥**，输入上一步所创建 KMS 密钥的 ARN，然后选择**下一步**。

1. 在**密钥名称**中，输入一个描述性名称，以便您稍后查找自己的密钥。

1. （可选）对于**描述**，输入密钥名称的描述。

1. 对于**资源权限**，选择**编辑**。

   在权限策略中添加以下策略以允许 Amazon FSx 使用该密钥，然后选择 **Next**。请务必将替换*us-west-2*为文件系统的部署 AWS 区域 位置和您*123456789012*的 AWS 账户 ID。

   ```
   {
       "Version": "2012-10-17", 		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "fsx.amazonaws.com"
               },
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret"
               ],
               "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:*",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "123456789012"
                   },
                   "ArnLike": {
                       "aws:SourceArn": "arn:aws:fsx:us-west-2:123456789012:file-system/*"
                   }
               }
           }
       ]
   }
   ```
**注意**  
通过修改 `Resource` 和 `aws:SourceArn` 字段，您可以设置更精细的访问控制，以针对特定的密钥和文件系统。

1. （可选）您可以将 Secrets Manager 配置为自动轮换凭证。选择**下一步**。

1. 选择**结束**。

#### 将活动目录凭据存储在 AWS Secrets Manager (CLI) 中
<a name="bp-store-ad-creds-sm-windows-cli"></a>

##### 步骤 1：创建 KMS 密钥
<a name="create-kms-key-windows-cli"></a>

创建 KMS 密钥，以在 Secrets Manager 中对 Active Directory 凭证进行加密和解密。

要创建 KMS 密钥，请使用 AWS CLI 命令[创建密](https://docs.aws.amazon.com/cli/latest/reference/kms/create-key.html)钥。

在此命令中，设置 `--policy` 参数，以指定定义 KMS 密钥权限的密钥策略。该策略必须包含以下内容：
+ Amazon 的服务主体 FSx，即`fsx.amazonaws.com`。
+ 所需的 KMS 操作：`kms:Decrypt` 和 `kms:DescribeKey`。
+ 您的 AWS 区域 和账户的资源 ARN 模式。
+ 限制密钥使用的条件键：
  + `kms:ViaService`，以确保请求通过 Secrets Manager 发出。
  + `aws:SourceAccount`，以限制您的账户。
  + `aws:SourceArn`仅限于特定的 Amazon FSx 文件系统。

以下示例创建了一个对称加密 KMS 密钥，其策略允许 Amazon FSx 使用该密钥进行解密和密钥描述操作。该命令会自动检索您的 AWS 账户 ID 和区域，然后使用这些值配置密钥策略，以确保亚马逊 FSx、Secrets Manager 和 KMS 密钥之间进行适当的访问控制。确保您的 AWS CLI 环境与将加入 Active Directory 的文件系统位于同一区域。

```
# Set region and get Account ID
REGION=${AWS_REGION:-$(aws configure get region)}
ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text)

# Create Key
KMS_KEY_ARN=$(aws kms create-key --policy "{
  \"Version\": \"2012-10-17\", 		 	 	 
  \"Statement\": [
    {
      \"Sid\": \"Enable IAM User Permissions\",
      \"Effect\": \"Allow\",
      \"Principal\": {
        \"AWS\": \"arn:aws:iam::$ACCOUNT_ID:root\"
      },
      \"Action\": \"kms:*\",
      \"Resource\": \"*\"
    },
    {
      \"Sid\": \"Allow FSx to use the KMS key\",
      \"Effect\": \"Allow\",
      \"Principal\": {
        \"Service\": \"fsx.amazonaws.com\"
      },
      \"Action\": [
        \"kms:Decrypt\",
        \"kms:DescribeKey\"
      ],
      \"Resource\": \"*\",
      \"Condition\": {
        \"StringEquals\": {
          \"kms:ViaService\": \"secretsmanager.$REGION.amazonaws.com\",
          \"aws:SourceAccount\": \"$ACCOUNT_ID\"
        },
        \"ArnLike\": {
          \"aws:SourceArn\": \"arn:aws:fsx:$REGION:$ACCOUNT_ID:file-system/*\"
        }
      }
    }
  ]
}" --query 'KeyMetadata.Arn' --output text)

echo "KMS Key ARN: $KMS_KEY_ARN"
```

**注意**  
通过修改 `Resource` 和 `aws:SourceArn` 字段，您可以设置更精细的访问控制，以针对特定的密钥和文件系统。

##### 步骤 2：创建 AWS Secrets Manager 密钥
<a name="create-secret-windows-cli"></a>

要为亚马逊 FSx 创建用于访问您的活动目录的密钥，请使用 c [reate-secre AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/create-secret.html) t 命令并设置以下参数：
+ `--name`：密钥的标识符。
+ `--description`：密钥用途的描述。
+ `--kms-key-id`：您在[步骤 1](#create-kms-key-windows-cli) 中创建的 KMS 密钥 ARN，用于加密静态密钥。
+ `--secret-string`：包含 AD 凭证的 JSON 字符串，格式如下：
  + `CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME`：不带域前缀的 AD 服务账户用户名，例如 `svc-fsx`。**请勿**提供域前缀，例如 `CORP\svc-fsx`。
  + `CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD`：AD 服务账户密码。
+ `--region`：您的 Amazon FSx 文件系统将在 AWS 区域 哪里创建。如果 `AWS_REGION`未设置，则默认为您配置的区域。

创建密钥后，使用[put-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/logs/put-resource-policy.html)命令附加资源策略，并设置以下参数：
+ `--secret-id`：要附加策略的密钥的名称或 ARN。以下示例使用 **FSxSecret** 作为 `--secret-id`。
+ `--region`: 和你的秘密 AWS 区域 一样。
+ `--resource-policy`：授予亚马逊访问密钥 FSx 权限的 JSON 政策文档。该策略必须包含以下内容：
  + Amazon 的服务主体 FSx，即**fsx.amazonaws.com**。
  + 所需的 Secrets Manager 操作：`secretsmanager:GetSecretValue` 和 `secretsmanager:DescribeSecret`。
  + 您的 AWS 区域 和账户的资源 ARN 模式。
  + 以下限制访问的条件键：
    + `aws:SourceAccount`，以限制您的账户。
    + `aws:SourceArn`仅限于特定的 Amazon FSx 文件系统。

以下示例创建了一个具有所需格式的密钥，并附加了允许 Amazon FSx 使用该密钥的资源策略。此示例会自动检索您的 AWS 账户 ID 和区域，然后使用这些值配置资源策略，以确保在 Amazon FSx 和密钥之间进行适当的访问控制。

确保使用您在[步骤 1](#create-kms-key-windows-cli) 中所创建密钥的 ARN 替换 `KMS_KEY_ARN`，并使用 Active Directory 服务账户凭证替换 `CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME` 和 `CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD`。此外，请验证您的 AWS CLI 环境配置是否与将要加入 Active Directory 的文件系统的区域相同。

```
# Set region and get account ID
REGION=${AWS_REGION:-$(aws configure get region)}
ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text)

# Replace with your KMS key ARN from Step 1
KMS_KEY_ARN="arn:aws:kms:us-east-2:123456789012:key/1234542f-d114-555b-9ade-fec3c9200d8e"

# Replace with your Active Directory credentials
AD_USERNAME="Your_Username"  
AD_PASSWORD="Your_Password"

# Create the secret
SECRET_ARN=$(aws secretsmanager create-secret \
  --name "FSxSecret" \
  --description "Secret for FSx access" \
  --kms-key-id "$KMS_KEY_ARN" \
  --secret-string "{\"CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME\":\"$AD_USERNAME\",\"CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD\":\"$AD_PASSWORD\"}" \
  --region "$REGION" \
  --query 'ARN' \
  --output text)

echo "Secret created with ARN: $SECRET_ARN"

# Attach the resource policy with proper formatting
aws secretsmanager put-resource-policy \
  --secret-id "FSxSecret" \
  --region "$REGION" \
  --resource-policy "{
    \"Version\": \"2012-10-17\", 		 	 	 
    \"Statement\": [
      {
        \"Effect\": \"Allow\",
        \"Principal\": {
          \"Service\": \"fsx.amazonaws.com\"
        },
        \"Action\": [
          \"secretsmanager:GetSecretValue\",
          \"secretsmanager:DescribeSecret\"
        ],
        \"Resource\": \"$SECRET_ARN\",
        \"Condition\": {
          \"StringEquals\": {
            \"aws:SourceAccount\": \"$ACCOUNT_ID\"
          },
          \"ArnLike\": {
            \"aws:SourceArn\": \"arn:aws:fsx:$REGION:$ACCOUNT_ID:file-system/*\"
          }
        }
      }
    ]
  }"

echo "Resource policy attached successfully"
```

**注意**  
通过修改 `Resource` 和 `aws:SourceArn` 字段，您可以设置更精细的访问控制，以针对特定的密钥和文件系统。

## 亚马逊 FSx 服务账户
<a name="self-managed-AD-service-account"></a>

加入自我管理的 Active Directory 的 Amazon FSx 文件系统在整个生命周期中都需要有效的服务账户。Amazon FSx 使用该服务账户来全面管理您的文件系统并执行管理任务，这些任务需要将计算机对象退出并重新加入到您的 Active Directory 域中。这些任务包括更换出现故障的文件服务器并给 Microsoft Windows Server 软件打补丁。 FSx 要让亚马逊执行这些任务，亚马逊 FSx 服务账户必须至少拥有[服务账户权限](#service-account-prereqs)委托给它的一组权限，如中所述。

尽管**域管理员**组的成员拥有足够的权限来执行这些任务，但我们强烈建议您使用单独的服务账户将所需的权限委托给 Amazon FSx。

有关如何使用 **Active Directory 用户和计算机** MMC 管理单元中的**委派控制**或**高级功能**功能来委派权限的更多信息，请参阅 [向 Amazon FSx 服务账户或群组委派权限](assign-permissions-to-service-account.md)。

如果您使用新服务账户更新文件系统，新服务账户必须拥有加入 Active Directory 的所需权限和特权，并对与文件系统关联的现有计算机对象拥有**完全控制**权限。有关更多信息，请参阅 [更改亚马逊 FSx 服务账户](changing-ad-service-account.md)。

我们建议将您的 Active Directory 服务账户凭证存储在 AWS Secrets Manager 中，以增强安全性。这样就无需以明文形式存储敏感凭证，且符合安全最佳实践。有关更多信息，请参阅 [使用自行管理的 Microsoft Active Directory](#self-managed-AD)。

# 向 Amazon FSx 服务账户或群组委派权限
<a name="assign-permissions-to-service-account"></a>

亚马逊 FSx 服务账户或管理员组必须具有[必要的权限](self-managed-AD.md#service-account-prereqs)，才能将 Windows 文件服务器文件系统加入 FSx 您的自我管理的 Active Directory 域。要委派这些权限，可以使用 Active Directory User and Computers MMC 管理单元中的**委派控制**或**高级功能**，如以下过程所述。

## 使用**委派控制**分配权限
<a name="assign-permissions-delegate-control"></a>

**使用**委派控制**为服务账号或群组分配权限**

1. 以 Active Directory 域的域管理员身份登录系统。

1. 打开 **Active Directory User and Computers** MMC 管理单元。

1. 在任务窗格中，展开域节点。

1. 找到并打开您要修改的 OU 的上下文（右键单击）菜单，然后选择**委派控制**。

1. 在**控制委派向导**页面上，选择**下一步**。

1. 选择 “**添**加” 以添加您的亚马逊 FSx 服务账户或群组的名称，然后选择 “**下一步**”。

1. 在**要委派的任务**页面上，选择**创建要委派的自定义任务**，然后选择**下一步**。

1. 选择**仅文件夹中的以下对象**，然后选择**计算机对象**。

1. 选择**在此文件夹中创建选定对象**和**删除此文件夹中的选定对象**。然后选择**下一步**。

1. 在**权限**中，请选择以下选项：
   + **重置密码**
   + **读取和写入账户限制**
   + **已验证写入 DNS 主机名**
   + **已验证写入服务主体名称**

1. 选择**下一步**，然后选择**完成**。

1. 关闭 **Active Directory User and Computers** MMC 管理单元。

## 使用**高级功能**分配权限
<a name="assign-permissions-advanced-features"></a>

1. 以 Active Directory 域的域管理员身份登录系统。

1. 打开 **Active Directory User and Computers** MMC 管理单元。

1. 从菜单栏中选择**查看**，并确保已启用**高级功能**（如果启用了该功能，则旁边会显示一个对勾标记）。

1. 在任务窗格中，展开域节点。

1. 找到并打开您要修改的 OU 的上下文菜单（右键单击），然后选择**属性**。

1. 在 **OU 属性**窗格中，选择**安全**选项卡。

1. 在**安全**选项卡上，选择**高级**。然后选择**添加**。

1. 在 “**权限输入**” 页面上，选择 **“选择委托人**”，然后输入您的亚马逊 FSx 服务账户或群组的名称。在**适用于:**中，选择**此对象和所有后代计算机**。请确保选择了以下权限：
   + **修改权限**
   + **创建计算机对象**
   + **删除计算机对象**

1. 选择**应用**，然后选择**确定**。

1. 关闭 **Active Directory User and Computers** MMC 管理单元。

# 验证 Active Directory 配置
<a name="validate-ad-config"></a>

 在创建加入活动目录 FSx 的 Windows 文件服务器文件系统之前，我们建议您使用亚马逊 Active Directory 验证工具验证您的 FSx 活动目录配置。请注意，成功验证 Active Directory 配置需要出站互联网连接。<a name="test-ad-network-config"></a>

**验证 Active Directory 配置**

1. 在同一个子网中，启动一个具有相同 Amazon VPC 安全组且您要将其用于 FSx for Windows File Server 文件系统的 Amazon EC2 Windows 实例。确保您的 EC2 实例具有所需的 `AmazonEC2ReadOnlyAccess` IAM 权限。您可以使用 IAM 策略模拟器验证 EC2 实例角色权限。有关更多信息，请参阅《IAM 用户指南》**中的[使用 IAM 策略模拟器测试 IAM 策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html)。

1. 将 EC2 Windows 实例加入 Active Directory 有关更多信息，请参阅《AWS Directory Service 管理指南》**中的[手动加入 Windows 实例](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/join_windows_instance.html)。

1. 连接到您的 EC2 实例。有关详细信息，请参阅《Amazon EC2 用户指南》中的 [Connecting to Your Windows Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html)**。

1. 在 EC2 实例上打开 Windows PowerShell 窗口（使用以**管理员身份运行**）。

   要测试是否安装了 Windows 所需 PowerShell 的 Active Directory 模块，请使用以下测试命令。

   

   ```
   PS C:\> Import-Module ActiveDirectory
   ```

   

   如果上一操作返回错误，请使用以下命令进行安装。

   

   ```
   PS C:\> Install-WindowsFeature RSAT-AD-PowerShell
   ```

1. 使用以下命令下载网络验证工具。

   

   ```
   PS C:\> Invoke-WebRequest "https://docs.aws.amazon.com/fsx/latest/WindowsGuide/samples/AmazonFSxADValidation.zip" -OutFile "AmazonFSxADValidation.zip"
   ```

1. 使用以下命令下载 zip 文件。

   ```
   PS C:\> Expand-Archive -Path "AmazonFSxADValidation.zip"
   ```

1. 将 `AmazonFSxADValidation` 模块添加到当前会话。

   ```
   PS C:\> Import-Module .\AmazonFSxADValidation
   ```

1. 通过替换为以下命令来设置必需的参数：
   + 活动目录域名 (*DOMAINNAME.COM*)
   + 使用以下选项之一为服务账户密码准备 `$Credential` 对象。
     + 要以交互方式生成凭证对象，请使用以下命令。

       ```
       $Credential = Get-Credential
       ```
     + 要使用 AWS Secrets Manager 资源生成凭证对象，请使用以下命令。

       ```
       $Secret = ConvertFrom-Json -InputObject (Get-SECSecretValue -SecretId $AdminSecret).SecretString
       $Credential = (New-Object PSCredential($Secret.UserName,(ConvertTo-SecureString $Secret.Password -AsPlainText -Force)))
       ```
   + DNS 服务器 IP 地址 (*IP\$1ADDRESS\$11*,*IP\$1ADDRESS\$12*)
   + 您计划在其中创建 Amazon FSx 文件系统的子网的子网 ID（例如 *SUBNET\$11**SUBNET\$12*，`subnet-04431191671ac0d19`）。

   ```
   PS C:\> 
   $FSxADValidationArgs = @{
       # DNS root of ActiveDirectory domain
       DomainDNSRoot = 'DOMAINNAME.COM'
   
       # IP v4 addresses of DNS servers
       DnsIpAddresses = @('IP_ADDRESS_1', 'IP_ADDRESS_2')
   
       # Subnet IDs for Amazon FSx file server(s)
       SubnetIds = @('SUBNET_1', 'SUBNET_2')
   
       Credential = $Credential
   }
   ```

1. （可选）在运行验证工具之前 DomainControllersMaxCount，按照随附`README.md`文件中的说明设置组织单位、委派管理员组并启用服务帐户权限验证。
**注意**  
如果操作系统非英语，则 `Domain Admins` 组的名称会有所不同。例如，该组在法语 OS 版本中被命名为 `Administrateurs du domaine`。如果未指定值，则将使用默认 `Domain Admins` 组名，且文件系统创建失败。

1. 使用此命令运行验证工具。

   ```
   PS C:\> $Result = Test-FSxADConfiguration @FSxADValidationArgs
   ```

1. 以下是成功测试结果的示例。

   ```
   Test 1 - Validate EC2 Subnets ...
   ...
   Test 17 - Validate 'Delete Computer Objects' permission ...
   
   Test computer object amznfsxtestd53f deleted!
   ...
   SUCCESS - All tests passed! Please proceed to creating an Amazon FSx file system. For your convenience, SelfManagedActiveDirectoryConfiguration of result can be used directly in CreateFileSystemWindowsConfiguration for New-FSXFileSystem
   PS C:\AmazonFSxADValidation> $Result.Failures.Count
   0
   PS C:\AmazonFSxADValidation> $Result.Warnings.Count
   0
   ```

   以下是测试结果有误的示例。

   ```
   Test 1 - Validate EC2 Subnets ...
   ...
   Test 7 - Validate that provided EC2 Subnets belong to a single AD Site ...
   
   Name          DistinguishedName                                                         Site
   ----          -----------------                                                         ----
   10.0.0.0/19   CN=10.0.0.0/19,CN=Subnets,CN=Sites,CN=Configuration,DC=test-ad,DC=local   CN=SiteB,CN=Sites,CN=Configu...
   10.0.128.0/19 CN=10.0.128.0/19,CN=Subnets,CN=Sites,CN=Configuration,DC=test-ad,DC=local CN=Default-First-Site-Name,C...
   10.0.64.0/19  CN=10.0.64.0/19,CN=Subnets,CN=Sites,CN=Configuration,DC=test-ad,DC=local  CN=SiteB,CN=Sites,CN=Configu...
   
   
   
   Best match for EC2 subnet subnet-092f4caca69e360e7 is AD site CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=te
   st-ad,DC=local
   Best match for EC2 subnet subnet-04431191671ac0d19 is AD site CN=SiteB,CN=Sites,CN=Configuration,DC=test-ad,DC=local
   WARNING: EC2 subnets subnet-092f4caca69e360e7 subnet-04431191671ac0d19 matched to different AD sites! Make sure they
   are in a single AD site.
   ...
   9 of 16 tests skipped.
   FAILURE - Tests failed. Please see error details below:
   
   Name                           Value
   ----                           -----
   SubnetsInSeparateAdSites       {subnet-04431191671ac0d19, subnet-092f4caca69e360e7}
   
   
   
   Please address all errors and warnings above prior to re-running validation to confirm fix.
   PS C:\AmazonFSxADValidation> $Result.Failures.Count
   1
   PS C:\AmazonFSxADValidation> $Result.Failures
   
   Name                           Value
   ----                           -----
   SubnetsInSeparateAdSites       {subnet-04431191671ac0d19, subnet-092f4caca69e360e7}
   
   
   PS C:\AmazonFSxADValidation> $Result.Warnings.Count
   0
   ```

   如果您在运行验证工具时收到警告或错误，请参阅验证工具包（`TROUBLESHOOTING.md`）和 [对亚马逊进行故障排除 FSx](troubleshooting.md) 中包含的《问题排查指南》。

# 将亚马逊 FSx 文件系统加入自我管理的 Microsoft Active Directory 域
<a name="creating-joined-ad-file-systems"></a>

当你 FSx 为 Windows 文件服务器创建新的文件系统时，你可以配置 Microsoft Active Directory 集成，使其加入你自行管理的 Microsoft Active Directory 域。为此，请为您的 Microsoft Active Directory 提供以下信息：
+ 本地 Microsoft Active Directory 目录的完全限定域名（FQDN）。
**注意**  
Amazon FSx 目前不支持单一标签域名 (SLD) 域名。
+ 域的 DNS 服务器的 IP 地址。
+ Amazon 用于将文件系统加入您的域的 A FSx ctive Directory 服务账户的证书。可通过以下任一方式提供这些凭证：
  + **选项 1**： AWS Secrets Manager 秘密 ARN-包含您的 Active Directory 域上服务帐户的用户名和密码的密钥。有关更多信息，请参阅 [使用存储活动目录凭证 AWS Secrets Manager](self-managed-AD.md#bp-store-ad-creds-using-secret-manager-windows)。
  + **选项 2**：纯文本凭证
    + **服务账户用户名**：现有 Microsoft Active Directory 中服务账户的用户名。请勿包含域前缀或后缀。例如，对于 `EXAMPLE\ADMIN`，仅使用 `ADMIN`。
    + **服务账户密码** – 服务账户的密码。

或者，您也可以指定以下内容：
+  您希望 Amazon FSx 文件系统加入的域内的特定组织单位 (OU)。
+  域组的名称，其成员被授予 Amazon FSx 文件系统的管理权限。您提供的域组名称在 Active Directory 中必须是唯一的。

在您指定此信息后，Amazon 会使用您提供的服务账户将您的新文件系统 FSx 加入到您自行管理的 Active Directory 域中。

**重要**  
 FSx 只有当你加入的活动目录域使用微软 DNS 作为默认 DNS 时，亚马逊才会注册文件系统的 DNS 记录。如果您使用的是第三方 DNS，则需要在创建 FSx 文件系统后手动设置 Amazon 文件系统的 DNS 条目。有关为文件系统选择正确 IP 地址的更多信息，请参阅[获取用于手动 DNS 条目的正确文件系统 IP 地址](file-system-ip-addresses-for-dns.md)。

## 开始前的准备工作
<a name="b4-you-begin"></a>

确保您已完成 [使用自行管理的 Microsoft Active Directory](self-managed-AD.md) 中详述的 [先决条件](self-managed-AD.md#self-manage-prereqs)。

## 创建加入自我管理 FSx 的 Active Directory 的 Windows 文件服务器文件系统（控制台）
<a name="create-joined-fsx-console"></a>

1. 打开 Amazon FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1. 在控制面板上，选择**创建文件系统**以启动文件系统创建向导。

1. 选择 “**Window FSx s 文件服务器**”，然后选择 “**下一步**”。显示**创建文件系统**页面。

1. 为您的文件提供名称。您最多可以使用 256 个 Unicode 字母、空格和数字以及特殊字符：\$1 - = . \$1 : /

1. 对于**存储容量**，请输入文件系统的存储容量，以 GiB 为单位。如果您使用的是 SSD 存储，请输入 32 – 65,536 范围内的任意整数。如果您使用的是 HDD 存储，请输入 2,000 – 65,536 范围内的任意整数。创建文件系统后，您可以根据需要随时增加存储容量。有关更多信息，请参阅 [管理存储容量](managing-storage-configuration.md#managing-storage-capacity)。

1. 保持**吞吐能力**设置为默认设置。**吞吐能力**是托管文件系统的文件服务器可以持续提供数据的速度。**建议的吞吐能力**设置基于您选择的存储容量。如果您需要的吞吐能力超过建议吞吐能力，请选择**指定吞吐能力**，然后选择一个值。有关更多信息，请参阅 [FSx 用于 Windows 文件服务器的性能性能](performance.md)。

   创建文件系统后，您可以根据需要随时修改吞吐能力。有关更多信息，请参阅 [管理吞吐能力](managing-throughput-capacity.md)。

1. 选择要与文件系统关联的 VPC。在本入门练习中，请选择与您的 Directory Service 目录和 Amazon EC2 实例相同的 VPC。

1. 为**可用区**和**子网**选择任意值。

1. 对于 **VPC 安全组**，用于您的默认 Amazon VPC 的默认安全组已添加到控制台中的文件系统。请确保您创建 FSx 文件系统的子网的安全组和 VPC 网络 ACLs 允许以下图所示的端口和方向上的流量。  
![\[FSx 适用于 Windows 文件服务器对 VPC 安全组和创建文件系统的子网的网络 ACLs 的端口配置要求。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/WindowsGuide/images/Windows-port-requirements.png)

   下表确定了每个端口的作用。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/WindowsGuide/creating-joined-ad-file-systems.html)
**重要**  
单可用区 2 和所有多可用区文件系统部署都需要允许 TCP 端口 9389 上的出站流量。
**注意**  
如果您使用的是 VPC 网络 ACLs，则还必须允许来自文件系统的动态端口 (49152-65535) 上的出站流量。 FSx 
   + 允许所有流量流向与您自行管理的 Microsoft Active Directory 域的 DNS 服务器和域控制器关联的 IP 地址的出站规则。有关更多信息，请参阅 [Microsoft 关于为 Active Directory 通信配置防火墙的文档](https://support.microsoft.com/en-us/help/179442/how-to-configure-a-firewall-for-domains-and-trusts)。
   + 确保这些流量规则也镜像到适用于每个 Active Directory 域控制器、DNS 服务器、 FSx 客户端和管理员的防火墙上。 FSx
**注意**  
 如果您定义了 Active Directory 站点，则必须确保与 Amazon FSx 文件系统关联的 VPC 中的子网在 Active Directory 站点中定义，并且您的 VPC 中的子网与其他站点中的子网之间不存在冲突。您可以使用 Active Directory Sites and Services MMC 管理单元查看和更改这些设置。
**重要**  
虽然 Amazon VPC 安全组要求仅在网络流量启动的方向上打开端口，但大多数 Windows 防火墙和 VPC 网络都 ACLs 要求双向打开端口。

1. 对于 **Windows 身份验证**，选择**自行管理的 Microsoft Active Directory**。

1.  输入自行管理的 Microsoft Active Directory 目录的**完全限定域名**值。
**注意**  
域名不能采用单标签域（SLD）格式。Amazon FSx 目前不支持 SLD 域名。
**重要**  
对于单可用区 2 和所有多可用区文件系统，Active Directory 域名不得超过 47 个字符。

1. 输入自行管理的 Microsoft Active Directory 目录的**组织单元**值。
**注意**  
确保您提供的服务账号已将权限委托给您在此处指定的 OU，或者如果您未指定，则委托给默认 OU。

1. 在自行管理的 Microsoft Active Directory 目录的 **DNS 服务器 IP 地址**中至少输入一个值（不超过两个）。

1. **服务账户凭证**：选择如何提供服务账户凭证：
   + **选项 1**： AWS Secrets Manager 秘密 ARN-包含您的 Active Directory 域上服务帐户的用户名和密码的密钥。有关更多信息，请参阅 [使用存储活动目录凭证 AWS Secrets Manager](self-managed-AD.md#bp-store-ad-creds-using-secret-manager-windows)。
   + **选项 2**：纯文本凭证
     + **服务账户用户名**：现有 Microsoft Active Directory 中服务账户的用户名。请勿包含域前缀或后缀。例如，对于 `EXAMPLE\ADMIN`，仅使用 `ADMIN`。
     + **服务账户密码** – 服务账户的密码。
     + **确认密码** – 服务账户的密码。
**重要**  
 输入**服务账户用户名**时，请勿包含域前缀（`corp.com\ServiceAcct`）或域后缀（`ServiceAcct@corp.com`）。  
 输入**服务账户用户名**（`CN=ServiceAcct,OU=example,DC=corp,DC=com`）时，请勿使用可分辨名称（DN）。

1. 对于**委派的文件系统管理员组**，请指定 `Domain Admins` 组或自定义委派的文件系统管理员组（如果已创建）。您指定的组应具有在您的文件系统上执行管理任务的委托授权。如果您不提供值，Amazon 会 FSx 使用内置`Domain Admins`组。请注意，Amazon FSx 不支持`Delegated file system administrators group`将（您指定的`Domain Admins`群组或自定义群组）置于内置容器中。
**重要**  
 如果您未提供**委派文件系统管理员组**，则默认情况下，Amazon 会 FSx 尝试在您的 Active Directory 域中使用该内置`Domain Admins`组。如果此内置组的名称已更改，或者您使用其他组进行域管理，则必须在此处为该组提供该名称。
**重要**  
 在提供群组名称参数时，请勿包含域名前缀 (corp.com\$1 FSx Admins) 或域后缀 (FSxAdmins@corp.com)。  
 请勿使用该组的可分辨名称（DN）。可分辨名称的一个例子是 CN= FSx Admins、ou=Example、dc=Corp、dc=com。

## 创建加入自我管理 FSx 的 Active Directory 的 Windows 文件服务器文件系统 ()AWS CLI
<a name="create-joined-fsx-cli"></a>

 以下示例创建了一个 FSx 适用于 Windows 文件服务器的文件系统，该文件系统`SelfManagedActiveDirectoryConfiguration`位于`us-east-2`可用区。

```
aws fsx --region us-east-2 \
create-file-system \
--file-system-type WINDOWS \
--storage-capacity 300 \
--security-group-ids security-group-id \
--subnet-ids subnet-id\
--windows-configuration SelfManagedActiveDirectoryConfiguration='{DomainName="corp.example.com", \
OrganizationalUnitDistinguishedName="OU=FileSystems,DC=corp,DC=example,DC=com",FileSystemAdministratorsGroup="FSxAdmins", \
UserName="FSxService",Password="password", \
   DnsIps=["10.0.1.18"]}',ThroughputCapacity=8
```

**重要**  
 FSx 创建文件系统后，请勿移动 Amazon 在 OU 中创建的计算机对象。这样做会导致您的文件系统配置错误。

# 获取用于手动 DNS 条目的正确文件系统 IP 地址
<a name="file-system-ip-addresses-for-dns"></a>

 FSx 只有当你使用微软 DNS 作为默认 DNS 服务时，亚马逊才会注册文件系统的 DNS 记录。如果您使用的是第三方 DNS，则需要为您的 Amazon FSx 文件系统手动设置 DNS 条目。本节介绍在必须手动将文件系统添加到 DNS 时，如何获取要使用的正确的文件系统 IP 地址。请注意，创建文件系统后，在删除文件系统之前，其 IP 地址不会更改。

**如何获取用于 DNS A 条目的文件系统 IP 地址**

1. 在中 [https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)，选择要获取 IP 地址的文件系统以显示文件系统详细信息页面。

1. 在**网络与安全**选项卡中，执行以下任一操作：
   + 对于单可用区 1 文件系统：
     + 在**子网**面板中，选择**网络接口**下显示的弹性网络接口，打开 Amazon EC2 控制台中的**网络接口**页面。
     + 要使用的单可用区 1 文件系统的 IP 地址显示在**主私 IPv4 有 IP** 列中。
   + 对于单可用区 2 或多可用区文件系统：
     + 在**首选子网**面板中，选择**网络接口**下显示的弹性网络接口，打开 Amazon EC2 控制台中的**网络接口**页面。
     + 要使用的首选子网的 IP 地址显示在 “**辅助私 IPv4 有 IP**” 列中。
     + 在 Amazon FSx **备用子网**面板中，选择网络接口下显示的弹性**网络接口**，在 Amazon EC2 控制台中打开 “**网络接口**” 页面。
     + 备用子网要使用的 IP 地址显示在 “**辅助私 IPv4 有 IP**” 列中。

**注意**  
如果您需要为单可用区 2 或多可用区文件系统的 Windows 远程 PowerShell 终端节点设置 DNS 条目，则应使用**首选**子网的弹性网络接口**的主私有 IPv4 地址**。有关更多信息，请参阅 [将 Amazon FSx CLI 用于 PowerShell](administering-file-systems.md#remote-pwrshell)。

# 更新自行管理的 Active Directory 配置
<a name="update-self-ad-config"></a>

为了帮助确保您的 Amazon FSx 文件系统持续、不间断地可用，当以下任何 Active Directory 属性发生变化时，您必须更新文件系统的 Active Directory 配置：
+ DNS 服务器的 IP 地址
+ 自行管理的 Active Directory 的服务账户凭证

当您更新 Amazon FSx 文件系统的自我管理的 Active Directory 配置时，在应用**更新**时，您的文件系统的状态将从 “**可用**” 切换为 “正在更新”。验证状态是否在应用更新后切换回**可用** – 请注意，更新可能需要几分钟时间才能完成。有关更多信息，请参阅 [监控自行管理的 Active Directory 更新](monitor-self-ad-update.md)。

如果自行管理的 Active Directory 配置在更新后出现问题，则文件系统状态会切换为**错误配置**。在此状态下，控制台、API 和 CLI 中的文件系统描述旁边显示错误消息和建议的更正措施。采取建议的更正措施后，请验证文件系统的状态是否最终变为**可用**。

**重要**  
如果您使用新服务账户更新文件系统，请确保新服务账户对与文件系统关联的现有计算机对象具有**完全控制**权限。

若要了解如何排查与自行管理的 Active Directory 配置相关的可能问题，请参阅 [文件系统处于配置错误状态](misconfigured-ad-config.md)。

您可以使用 AWS 管理控制台、Amazon FSx API 或 AWS CLI 更新文件系统自我管理的 Active Directory 配置的服务账户凭证和 DNS 服务器 IP 地址。您可以随时使用 AWS 管理控制台、CLI 和 API 跟踪自我管理的 Active Directory 配置更新的进度。有关更多信息，请参阅 [监控自行管理的 Active Directory 更新](monitor-self-ad-update.md)。

**更新自行管理的 Active Directory 配置（控制台）**

1. 打开亚马逊 FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1. 导航到**文件系统**，然后选择要更新自行管理的 Active Directory 配置的 Windows 文件系统。

1. 然后在**网络与安全**选项卡中，根据要更新的 Active Directory 属性，为 **DNS 服务器 IP 地址**或服务账户用户名选择**更新**。

1. 在出现的对话框中，输入新的 DNS 服务器 IP 地址或新的服务账户凭证（用户名和密码）或密钥 ARN。您可以使用 AWS Secrets Manager 来存储您的凭据。有关更多信息，请参阅 [使用存储活动目录凭证 AWS Secrets Manager](self-managed-AD.md#bp-store-ad-creds-using-secret-manager-windows)。

1. 选择**更新**以启动 Active Directory 配置更新。

   您可以使用 AWS 管理控制台 或[监控更新进度](monitor-self-ad-update.md) AWS CLI。

**更新自行管理的 Active Directory 配置（CLI）**
+ 要更新 FSx 适用于 Windows 文件服务器的文件系统的自行管理的 Active Directory 配置，请使用 AWS CLI 命令[update-file-system](https://docs.aws.amazon.com/cli/latest/reference/fsx/update-file-system.html)。设置以下参数：
  + `--file-system-id` 设置为要更新的文件系统的 ID。
  + `UserName` 自行管理的 Active Directory 服务账户的新用户名。
  + `Password` 自行管理的 Active Directory 服务账户的新密码。
  + `DomainJoinServiceAccountSecret`包含您的 Active Directory 域上服务帐户的用户名和密码的 AWS Secrets Manager 密钥
**注意**  
您不能同时提供两者 username/password 以及域名加入服务帐户密钥来连接您的 Active Directory。仅提供一组凭证。
  + `DnsIps` 自行管理的 Active Directory DNS 服务器的 IP 地址。

  ```
  aws fsx update-file-system --file-system-id fs-0123456789abcdef0 \
    --windows-configuration 'SelfManagedActiveDirectoryConfiguration={UserName=username,Password=password,\
       DnsIps=[192.0.2.0,192.0.2.24]}'
  ```

  如果此更新操作成功，则该服务将返回 HTTP 200 响应。响应中的 `AdminstrativeActions` 对象描述了请求及其状态。

# 更改亚马逊 FSx 服务账户
<a name="changing-ad-service-account"></a>

如果您使用新服务账户更新文件系统，新服务账户必须拥有加入 Active Directory 的所需权限和特权，并对与文件系统关联的现有计算机对象拥有**完全控制**权限。此外，确保新的服务账户属于启用了**组策略**设置**域控制器：允许在域加入期间重复使用计算机账户**的受信任账户的一部分。

我们强烈建议使用 Active Directory 组管理与服务账户关联的 Active Directory 权限和配置。

更改 Amazon 的服务账户时 FSx，请确保服务账户具有以下设置：
+ 新的服务账户（或其所属的 Active Directory 组）对与文件系统关联的现有计算机对象拥有**完全控制**权限。
+  新服务账户和以前的服务账户（或其所属的 Active Directory 组）是受信任账户（或受信任的 Active Directory 组）的一部分，并在 Active Directory 中的所有域控制器上启用了**域控制器：允许在域加入期间重复使用计算机账户**的组策略设置。

如果服务账户不满足这些要求，可能会出现以下情况：
+ 对于单可用区文件系统，文件系统可能会变为 **[MISCONFIGURED\$1UNAVAILABLE](administering-file-systems.md#file-system-lifecycle-states)**。
+ 对于多可用区文件系统，文件系统可能会**[配置错误](administering-file-systems.md#file-system-lifecycle-states)**，并且 RemotePowerShell 端点名称可能会更改。

## 配置域控制器的组策略
<a name="config-ad-group-policy"></a>

以下 [Microsoft 推荐过程](https://support.microsoft.com/en-us/topic/kb5020276-netjoin-domain-join-hardening-changes-2b65a0f3-1f4c-42ef-ac0f-1caaf421baf8#bkmk_take_action)描述了如何使用域控制器组策略来配置允许列表策略。

**配置域控制器的允许列表策略**

1. 在自行管理的 Microsoft Active Directory 中的所有成员计算机和域控制器上安装 2023 年 9 月 12 日或之后版本的 Microsoft Windows 更新。

1. 在适用于自行管理的 Active Directory 中所有域控制器的新组策略或现有组策略中，配置以下设置。

   1. 导航到**计算机配置 > 策略 > Windows 设置 > 安全设置 > 本地策略 > 安全选项**。

   1. 双击**域控制器：允许在域加入期间重复使用计算机账户**。

   1. 选择**定义此策略设置和 <编辑安全 ...>**。

   1. 使用对象选择器将用户或受信任的计算机账户创建者和拥有者组添加至**允许**权限。（作为最佳实践，我们强烈建议使用群组获取权限。） **请勿添加执行域加入的用户账户。**
**警告**  
将策略的成员资格限制为受信任用户和服务账户。请勿将经过身份验证的用户、所有人或其他大型群组添加至此策略。相反，应将特定的受信任用户和服务账户添加至群组，然后将这些群组添加至策略。

1. 在组策略刷新间隔内等待或在所有域控制器上运行 **gpupdate /force**。

1. 验证 HKLM\$1 System\$1 CCS\$1 Control\$1 SAM — “ComputerAccountReuseAllowList” 注册表项是否填充了所需的 SDDL。**请勿手动编辑注册表**。

1. 尝试加入一台安装了 2023 年 9 月 12 日或更高版本更新的计算机。确保策略中列出的其中一个账户拥有该计算机账户。还要确保其注册表未启用该**NetJoinLegacyAccountReuse**密钥（设置为 1）。如果域加入失败，请查看 **`c:\windows\debug\netsetup.log`**。

# 监控自行管理的 Active Directory 更新
<a name="monitor-self-ad-update"></a>

您可以使用 AWS 管理控制台、API 或监控自行管理的 Active Directory 配置更新的进度 AWS CLI，如以下过程所述。

更新文件系统的自行管理的 Active Directory 配置时，在应用更新时，文件系统的状态会从**可用**切换为**正在更新**。更新完成后，状态将切换回**可用**。Active Directory 配置更新可能需要几分钟才能完成。

## 在控制台中监控更新
<a name="monitor-self-ad-update-action-console"></a>

在**文件系统详细信息**窗口的**更新**选项卡中，您可以查看每种更新类型的 10 个最近更新。

![\[显示最近更新列表的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/WindowsGuide/images/fs-updates-panel.png)


对于自行管理的 Active Directory 更新，您可以查看以下信息。

****更新类型****  
支持的类型如下：  
+ DNS 服务器 IP 地址
+ 服务账户凭证

****目标值****  
要将文件系统属性更新到的所需值。对于**服务账户凭证**更新，仅显示用户名，此字段中从不包含服务账户密码。

****状态****  
当前更新状态。对于自行管理的 Active Directory 更新，可能的值如下所示：  
+ **待处理** — Amazon FSx 已收到更新请求，但尚未开始处理。
+ 处理@@ **中** — Amazon FSx 正在处理更新请求。
+ **已完成** – 文件系统更新成功完成。
+ **失败** – 文件系统更新失败。选择问号（**?**）可查看失败的详细信息。

****进度百分比****  
以完成百分比的形式显示文件系统更新的进度。

****请求时间****  
Amazon FSx 收到更新操作请求的时间。

## 使用 AWS CLI 和 API 监控更新
<a name="monitor-self-ad-update-action-cli-api"></a>

您可以使用[describe-file-systems](https://docs.aws.amazon.com/cli/latest/reference/fsx/describe-file-systems.html) AWS CLI 命令和 [DescribeFileSystems](https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html)API 操作查看和监控正在进行的文件系统更新请求。`AdministrativeActions` 数组列出每种管理操作类型的 10 个最近更新操作。

以下示例显示了 CLI 命令 **describe-file-systems** 的响应摘录。输出显示了两个自我管理的 Active Directory 文件系统更新。

```
        {
            "OwnerId": "111122223333",
            .
            .
            .
            "StorageCapacity": 1000,
            "AdministrativeActions": [
                {
                    "AdministrativeActionType": "FILE_SYSTEM_UPDATE",
                    "RequestTime": 1581694766.757,
                    "Status": "PENDING",
                    "TargetFileSystemValues": {
                        "WindowsConfiguration": {
                            "SelfManagedActiveDirectoryConfiguration": {
                                "UserName": "serviceUser",
                            }
                        }
                    }
                },
                {
                    "AdministrativeActionType": "FILE_SYSTEM_UPDATE",
                    "RequestTime": 1619032957.759,
                    "Status": "FAILED",
                    "TargetFileSystemValues": {
                        "WindowsConfiguration": {
                            "SelfManagedActiveDirectoryConfiguration": {
                            "DnsIps": [
                                    "10.0.138.161"
                                ]
                            }
                        }
                    },
                    "FailureDetails": {
                        "Message": "Failure details message."
                    }
                }
            ],
     .
     .
     .
```