使用逻辑目录简化 Transfer Family 目录结构 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用逻辑目录简化 Transfer Family 目录结构

为了简化您的Amazon Transfer Family服务器目录结构时,您可以使用逻辑目录。使用逻辑目录,您可以构建一个虚拟目录结构,该结构使用用户在连接到 Amazon S3 存储桶或 Amazon EFS 文件系统时导航的用户友好名称。使用逻辑目录时,可以避免向最终用户泄露绝对目录路径、Amazon S3 存储桶名称和 EFS 文件系统名称。

您可以使用逻辑目录将用户的根目录设置为存储层次结构中的所需位置,方法是执行chrootoperation. 在此模式下,用户无法导航到您为他们配置的主目录或根目录之外的目录。

例如,尽管 Amazon S3 用户已被划定为仅访问/mybucket/home/${transfer:UserName},某些客户端允许用户遍历文件夹/mybucket/home. 在这种情况下,用户只有在注销并再次返回到 Transfer Family 服务器后,才会重新登录到其预期的主目录。执行chroot操作可以防止这种情况发生。

您可以跨存储桶和前缀创建自己的目录结构。如果您的工作流需要特定的目录结构,您无法通过存储桶前缀复制该目录结构,则此功能非常有用。您还可以链接到 Amazon S3 中的多个非连续位置,类似于在 Linux 文件系统中创建符号链接,其中您的目录路径引用了文件系统中的不同位置。

使用逻辑目录的规则

在构建逻辑目录映射之前,应了解以下规则:

  • 何时Entry"/",您只能有一个映射,因为不允许重叠路径。

  • 目标可以使用${Transfer:UserName}变量,如果存储桶或文件系统路径已根据用户名进行参数化。

  • 目标可以是不同存储桶或文件系统中的路径,但您必须确保映射的 IAM 角色(Role参数)提供了对这些存储桶或文件系统的访问权限。

  • 请勿指定HomeDirectory参数,因为此值隐含在Entry Target对时使用LOGICAL的值HomeDirectoryType参数。

实现逻辑目录和 chroot

使用逻辑目录和chroot功能,您必须执行以下操作:

为每个用户打开逻辑目录。通过设置HomeDirectoryTypeParameterLOGICAL创建或更新用户时。

"HomeDirectoryType": "LOGICAL"

Chroot

适用于chroot,创建一个目录结构,该结构包含单个EntryTarget每个用户的配对。根文件夹是Entry点,以及Target是存储桶或文件系统中要映射到的位置。

Example for Amazon S3
[{"Entry": "/", "Target": "/mybucket/jane"}]
Example for Amazon EFS
[{"Entry": "/", "Target": "/fs-faa1a123/jane"}]

您可以像前面的示例那样使用绝对路径,也可以使用${Transfer:UserName},如以下示例所示。

[{"Entry": "/", "Target": "/mybucket/${Transfer:UserName}"}]

在前面的示例中,用户被锁定到其根目录,无法在层次结构中向上跨越更高的位置。

虚拟目录结构

对于虚拟目录结构,您可以创建多个Entry Target配对,在 S3 存储桶或 EFS 文件系统中的任意位置(包括跨多个存储桶或文件系统),只要用户的 IAM 角色映射有权访问它们。

在以下虚拟结构示例中,当用户登录AmazonSFTP,它们位于具有/pics/doc/reporting, 和/anotherpath/subpath/financials.

[ {"Entry": "/pics", "Target": "/bucket1/pics"}, {"Entry": "/doc", "Target": "/bucket1/anotherpath/docs"}, {"Entry": "/reporting", "Target": "/reportingbucket/Q1"}, {"Entry": "/anotherpath/subpath/financials", "Target": "/reportingbucket/financials"}]

有关配置逻辑目录和chroot,包括Amazon CloudFormation模板,请参阅简化您的Amazon带有根目录和逻辑目录的 SFTP 结构中的AmazonValue 博客。