

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

# 使用 Windows ACLs 限制 SMB 文件共享访问权限
<a name="smb-acl"></a>

Amazon S3 文件网关支持两种不同的方法来控制对通过 SMB 文件共享存储的文件和目录的访问：POSIX 权限或 Windows。 ACLs

本节介绍如何在使用微软 Active Directory (ADACLs) 进行身份验证的 SMB 文件共享上使用微软 Windows 访问控制列表 ()。通过使用 Windows ACLs，您可以对 SMB 文件共享中的文件和文件夹设置精细权限。

以下是 Windows ACLs 在 SMB 文件共享上的一些重要特征：
+ 当您的文件网关加入 Active Directory 域时，系统会默认选择 Windows ACLs 作为 SMB 文件共享。
+ 激活后 ACLs ，ACL 信息将保留在 Amazon S3 对象元数据中。
+ 网关为 ACLs 每个文件或文件夹最多保留 10 个。
+ 当您使用 ACLs 激活的 SMB 文件共享来访问在网关之外创建的 S3 对象时，这些对象会继承父文件夹中的 ACLs “信息”。

**注意**  
SMB 文件共享的默认根 ACL 为每个人提供完全访问权限，不过您可以更改根 ACL 的权限。您可以使用 root ACLs 来控制对文件共享的访问权限。您可以设置谁可以挂载文件共享（映射驱动器）以及用户在文件共享中递归地获取文件和文件夹的哪些权限。但是，我们建议您在 S3 存储桶中的顶级文件夹上设置此权限，以便保留 ACL。

 ACLs [当你使用创建共享 API 操作创建新的 SMB 文件共享时，你可以打开 Windows。SMBFile](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateSMBFileShare.html)或者，你可以使用[更新共享 API 操作在现有 SMB 文件SMBFile共享 ACLs ](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_UpdateSMBFileShare.html)上打开 Windows。

## 在新的 SMB 文件共享 ACLs 上激活 Windows
<a name="enable-acl-new-fileshare"></a>

按照以下步骤在新的 SMB 文件共享 ACLs 上激活 Windows。

**在创建新的 SMB 文件共享 ACLs 时激活 Windows**

1. 创建文件网关（如果您还没有）。有关更多信息，请参阅 [创建网关](create-file-gateway.md)。

1. 如果网关未加入域，请将其添加到域中。有关更多信息，请参阅[使用 Active Directory 对用户进行身份验证](https://docs.aws.amazon.com/filegateway/latest/files3/enable-ad-settings.html)。

1. 创建 SMB 文件共享。有关更多信息，请参阅 

1. 从 Storage Gateway 控制台在文件共享 ACLs 上激活 Windows。

   要使用 Storage Gateway 控制台，请执行以下操作：

   1. 选择文件共享，然后选择 **Edit file share (编辑文件共享)**。

   1. 对于 **File/directory access controlled by (文件/目录访问控制方式)** 选项，选择 **Windows Access Control List (Windows 访问控制列表)**。

1. （可选）如果您希望管理员用户有权更新 ACLs 文件共享中的所有文件和文件夹，请将管理员用户添加到。[AdminUsersList](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateSMBFileShare.html#StorageGateway-CreateSMBFileShare-request-AdminUserList)
**注意**  
如果您在 SMB 文件共享的设置中配置了**允许和拒绝的用户和组**列表，则 ACLs 不会授予覆盖这些列表的任何访问权限。  
之前会评估**允许和拒绝的用户和组**列表 ACLs，并控制哪些用户可以装载或访问文件共享。如果任何用户或组被添加到**允许**列表中，则该列表被视为处于激活状态，只有这些用户才能挂载文件共享。  
用户挂载文件共享 ACLs 后，提供更精细的保护，控制用户可以访问哪些特定文件或文件夹。

1. 更新根文件夹下父文件夹的。 ACLs 为此，请使用 Windows 文件资源管理器在 SMB 文件共享中的文件夹 ACLs 上配置。
**注意**  
如果您在根目录而不是根目录下的父文件夹 ACLs 上配置，则 Amazon S3 中不会保留 ACL 权限。

   我们建议 ACLs 在文件共享根目录下的顶级文件夹中进行设置，而不是 ACLs 直接在文件共享的根目录下进行设置。这种方法将信息作为对象元数据保存在 Amazon S3 中。

1. 根据需要开启继承。
**注意**  
您可以为 2019 年 5 月 8 日之后创建的文件共享开启继承。

如果开启继承并以递归方式更新权限，则 Storage Gateway 会更新 S3 存储桶中的所有对象。根据存储桶中的对象数量，更新可能需要一段时间才能完成。

## 在现有的 SMB 文件共享 ACLs 上激活 Windows
<a name="enable-acl-existing-fileshare"></a>

按照以下步骤在具有 POSIX ACLs 权限的现有 SMB 文件共享上激活 Windows。

**使用 Storage Gat ACLs eway 控制台在现有 SMB 文件共享上激活 Windows**

1. 选择文件共享，然后选择 **Edit file share (编辑文件共享)**。

1. 对于 **File/directory access controlled by (文件/目录访问控制方式)** 选项，选择 **Windows Access Control List (Windows 访问控制列表)**。

1. 根据需要开启继承。
**注意**  
我们不建议 ACLs 在根级别进行设置，因为如果您这样做并删除了网关，则需要 ACLs 再次重置网关。

如果开启继承并以递归方式更新权限，则 Storage Gateway 会更新 S3 存储桶中的所有对象。根据存储桶中的对象数量，更新可能需要一段时间才能完成。

## 使用 Windows 时的限制 ACLs
<a name="acl-limits"></a>

使用 Windows ACLs 控制对 SMB 文件共享的访问权限时，请记住以下限制：
+ 当你使用 Windows ACLs SMB 客户端访问文件共享时，只有使用 Active Directory 进行身份验证的文件共享才支持 Windows。
+ 文件网关针对每个文件和目录最多支持 10 个 ACL 条目。
+ 文件网关不支持 `Audit` 和 `Alarm` 条目，即系统访问控制列表（SACL）条目。文件网关支持 `Allow` 和 `Deny` 条目，即自由访问控制列表（DACL）条目。
+ 文件网关不支持高级访问控制条目（ACE）权限。
+ SMB 文件共享的根 ACL 设置仅针对该网关，并且设置将在网关更新和重新启动后保持不变。
**注意**  
如果您在根目录而不是根目录下的父文件夹 ACLs 上配置，则 Amazon S3 中不会保留 ACL 权限。

  在给定以下条件的情况下，请确保执行以下操作：
  + 如果将多个网关配置为访问同一个 Amazon S3 存储桶，请在每个网关上配置根 ACL 以使权限保持一致。
  + 如果您删除文件共享并在同一 Amazon S3 存储桶上重新创建它，请确保使用相同的根 ACLs集。