使用MicrosoftWindows ACLs 控制对SMB文件共享的访问 - AWS Storage Gateway
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

使用MicrosoftWindows ACLs 控制对SMB文件共享的访问

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

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

以下是Windows的一些重要特征 ACLs 在SMB文件共享上:

  • 默认情况下,Windows ACLs SMB文件共享未启用。如何启用Windows ACLs,设置 SmbAclEnabled 选项 true 使用 UpdateSMBFileShare 操作 Storage Gateway SDK或 AWS CLI.

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

  • 网关最多可保留10个 ACLs 每个文件或文件夹。

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

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

您可以启用Windows ACLs 当您使用 CreateSMBFileShare API操作。或者您可以启用Windows ACLs 现有SMB文件共享时,使用 UpdateSMBFileShare API操作。

启用Windows ACLs 新的SMB文件共享

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

如何启用Windows ACLs 创建新的SMB文件共享时

  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. (可选)将管理员用户添加到 AdminUsersList,如果您希望管理员用户具有更新的权限 ACLs 文件中的所有文件和文件夹共享。

  6. 更新 ACLs 根文件夹下的父文件夹。要执行此操作,请使用Windows文件资源管理器配置 ACLs 在SMB文件中的文件夹上共享。

    注意

    如果您配置了 ACLs 在根目录下而不是根目录下的父文件夹,ACL权限不会在 Amazon S3.

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

  7. 根据需要启用继承。

    注意

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

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

启用Windows ACLs 现有SMB文件共享

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

如何启用Windows ACLs 现有SMB文件共享,使用 Storage Gateway 控制台

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

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

  3. 根据需要启用继承。

    注意

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

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

使用Windows时的限制 ACLs

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

  • 窗户 ACLs 仅在使用WindowsSMB客户端访问文件共享时为ActiveDirectory启用的文件共享中受支持。

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

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

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

    注意

    如果您配置了 ACLs 在根目录下而不是根目录下的父文件夹,ACL权限不会在 Amazon S3.

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

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

    • 如果您删除文件共享并在同一位置重新创建 Amazon S3 桶中,确保使用相同的根组 ACLs.