AWS Storage Gateway
用户指南 (API 版本 2013-06-30)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Microsoft Windows ACL 控制对 SMB 文件共享的访问

在本节中,您可以找到有关如何在使用 Microsoft Active Directory (AD) 启用的 SMB 文件共享上使用 Microsoft Windows 访问控制列表 (ACL) 的信息。通过使用 Windows ACL,您可以为 SMB 文件共享中的文件和文件夹设置精细控制权限。

默认情况下,文件网关支持 POSIX 权限,以控制对通过 NFS 或 SMB 文件共享存储的文件和目录的访问。对于通过 SMB 文件共享存储的文件和目录,文件网关使您可以使用 Windows ACL 而不是 POSIX 权限来控制访问。此类访问控制可以模拟用于本机 Windows 文件共享的 Windows ACL。

下面是 SMB 文件共享上的 Windows ACL 的一些重要特征:

  • 默认情况下,不启用 SMB 文件共享上的 Windows ACL。要启用 Windows ACL,请使用 Storage Gateway 开发工具包或 AWS CLI 中的 UpdateSMBFileShare 操作,将文件共享的 SmbAclEnabled 选项设置为 true

  • 启用 ACL 时,ACL 信息将保留在 Amazon S3 对象元数据中。

  • 对于每个文件或文件夹,网关保留最多 10 个 ACL。

  • 当您使用启用了 ACL 的 SMB 文件共享来访问在网关外创建的 S3 对象时,对象将从父文件夹继承 ACL 的信息。

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

使用 CreateSMBFileShare API 操作创建新的 SMB 文件共享时,可以启用 Windows ACL。或者,您可以使用 UpdateSMBFileShare API 操作在现有 SMB 文件共享上启用 Windows ACL。

在新 SMB 文件共享上启用 Windows ACL

执行以下步骤以在新的 SMB 文件共享上启用 Windows ACL。

在创建新的 SMB 文件共享时启用 Windows ACL

  1. 创建文件网关(如果您还没有)。有关更多信息,请参阅 创建文件网关

  2. 如果网关未加入域,请将其添加到域中。有关更多信息,请参阅 使用 Active Directory 对用户进行身份验证

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

  4. 通过 Storage Gateway 控制台在文件共享上启用 Windows ACL。

    要使用 Storage Gateway 控制台,请执行以下操作:

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

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

  5. (可选)如果希望管理员用户有权更新文件共享中所有文件和文件夹的相关 ACL,请将管理员用户添加到 AdminUsersList

  6. 更新根文件夹下父文件夹的 ACL。为此,请使用 Windows 文件资源管理器在 SMB 文件共享中的文件夹上配置 ACL。

    注意

    如果在根目录而不是根目录下的父文件夹上配置 ACL,则 ACL 权限不会保留在 Amazon S3 中。

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

  7. 根据需要启用继承。

    注意

    您可以为 2019 年 5 月 8 日之后创建的文件共享启用继承。

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

在现有的 SMB 文件共享上启用 Windows ACL

执行以下步骤以在具有 POSIX 权限的现有 SMB 文件共享上启用 Windows ACL。

使用 Storage Gateway 控制台在现有 SMB 文件共享上启用 Windows ACL

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

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

  3. 根据需要启用继承。

    注意

    我们不建议在根级别设置 ACL,因为如果执行此操作并删除您的网关,则需要再次重置 ACL。

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

使用 Windows ACL 的限制

使用 Windows ACL 控制对 SMB 文件共享的访问时,请记住以下限制:

  • 仅当使用 Windows SMB 客户端访问文件共享时,为 Active Directory 启用的文件共享上才支持 Windows ACL。

  • 文件网关针对每个文件和目录最多支持 10 个 ACL 条目。

  • 文件网关不支持 AuditAlarm 条目,它们是系统访问控制列表 (SACL) 条目。文件网关支持 AllowDeny 条目,它们是自由访问控制列表 (DACL) 条目。

  • SMB 文件共享的根 ACL 设置仅针对该网关,并且设置将在网关更新和重新启动后保持不变。

    注意

    如果在根目录而不是根目录下的父文件夹上配置 ACL,则 ACL 权限不会保留在 Amazon S3 中。

    在给定以下条件的情况下,请确保执行以下操作:

    • 如果将多个网关配置为访问同一个 Amazon S3 存储桶,请在每个网关上配置根 ACL 以保持权限一致。

    • 如果您删除文件共享并在同一个 Amazon S3 存储桶上重新创建,请确保使用的是同一组根 ACL。