

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

# 使用自行管理的 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 林中。为此，请将您的文件系统加入 Amazon 托管的 Microsoft Active Directory，并在您创建的 Amazon 托管的 Microsoft Active Directory 和现有的自行管理的 Active Directory 之间建立单向林信任关系。
+  您的 Active Directory 域上的服务账户的用户名和密码，供亚马逊用于 FSx将文件系统加入到您的 Active Directory 域中。您可以将这些凭证以纯文本形式提供，也可以将其存储在其中 Amazon 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.amazonaws.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 配置，包括测试多个域控制器的连接。要限制需要连接的域控制器的数量，您还可以在本地域控制器和 Amazon 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 之间配置连接。您可以使用 [Amazon Direct Connect](https://docs.amazonaws.cn/directconnect/latest/UserGuide/Welcome.html)、[Amazon Virtual Private Network](https://docs.amazonaws.cn/vpn/latest/s2svpn/VPC_VPN.html)、[VPC 对等连接](https://docs.amazonaws.cn/vpc/latest/peering/what-is-vpc-peering.html)或 [Amazon Transit Gateway](https://docs.amazonaws.cn/vpc/latest/tgw/what-is-transit-gateway.html) 来设置此连接。
+ 必须使用亚马逊 FSx 控制台将默认 Amazon VPC 的默认 VPC 安全组添加到您的文件系统中。确保您创建文件系统的子网的安全组和 VPC 网络 ACLs 允许下图所示的端口和方向的流量。  
![\[FSx 适用于 Windows 文件服务器的 VPC 安全组和创建文件系统的子网的网络 ACLs的端口配置要求。\]](http://docs.amazonaws.cn/fsx/latest/WindowsGuide/images/Windows-port-requirements.png)

  下表明确了协议、端口及其角色。    
[\[See the AWS documentation website for more details\]](http://docs.amazonaws.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**
+ [使用存储活动目录凭证 Amazon 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)配置。

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

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

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

#### 将活动目录凭据存储在 Amazon 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 凭证进行加密和解密。

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

1. 在 https://console.aws.amazon.com /kms 处打开 Amazon 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*为文件系统的部署 Amazon Web Services 区域 位置和您*123456789012*的 Amazon Web Services 账户 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：创建 Amazon Secrets Manager 密钥
<a name="create-secret-windows-console"></a>

**创建密钥**

1. 打开 Secrets Manager 控制台，网址为[https://console.aws.amazon.com/secretsmanager/](https://console.amazonaws.cn/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*为文件系统的部署 Amazon Web Services 区域 位置和您*123456789012*的 Amazon Web Services 账户 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. 选择**结束**。

#### 将活动目录凭据存储在 Amazon 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 密钥，请使用 Amazon CLI 命令[创建密](https://docs.amazonaws.cn/cli/latest/reference/kms/create-key.html)钥。

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

以下示例创建了一个对称加密 KMS 密钥，其策略允许 Amazon FSx 使用该密钥进行解密和密钥描述操作。该命令会自动检索您的 Amazon Web Services 账户 ID 和区域，然后使用这些值配置密钥策略，以确保亚马逊 FSx、Secrets Manager 和 KMS 密钥之间进行适当的访问控制。确保您的 Amazon 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：创建 Amazon Secrets Manager 密钥
<a name="create-secret-windows-cli"></a>

要为亚马逊 FSx 创建用于访问您的活动目录的密钥，请使用 c [reate-secre Amazon CLI](https://docs.amazonaws.cn/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 文件系统将在 Amazon Web Services 区域 哪里创建。如果 `AWS_REGION`未设置，则默认为您配置的区域。

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

以下示例创建了一个具有所需格式的密钥，并附加了允许 Amazon FSx 使用该密钥的资源策略。此示例会自动检索您的 Amazon Web Services 账户 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`。此外，请验证您的 Amazon 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 服务账户凭证存储在 Amazon Secrets Manager 中，以增强安全性。这样就无需以明文形式存储敏感凭证，且符合安全最佳实践。有关更多信息，请参阅 [使用自行管理的 Microsoft Active Directory](#self-managed-AD)。