教程:Amazon Transfer Family 入门 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

教程:Amazon Transfer Family 入门

利用本教程开始使用Amazon Transfer Family(Transfer Family)。您将学习如何使用 Amazon S3 存储创建具有可公开访问终端节点的 SFTP 服务器,使用服务管理身份验证添加用户,以及如何使用 Cyberduck 传输文件。

内容

先决条件

开始之前,请确保完成中的要求设置。在此设置中,您将创建 Amazon Simple Storage Storage Storage Storage Storage Storage Storage ServiceAmazon Identity and Access Management (Amazon

使用Amazon Transfer Family控制台需要权限,配置 Transfer Family 使用的其他Amazon服务(例如亚马逊简单存储服务、Amazon Elastic File System 和亚马逊 Route 53)也需要权限。Amazon Certificate Manager例如,对于Amazon使用 Transfer Family 传入和传出文件的用户,AmazonS3FullAccess 授予设置和使用 Amazon S3 存储桶的权限。创建 Amazon S3 存储桶需要此策略中的某些权限。

要使用 Transfer Family 控制台,您需要满足以下条件:

  • AWSTransferConsoleFullAccess授予您的 SFTP 用户创建 Transfer Family 资源的权限。

  • 仅当您想让 Transfer Family 在 Amazon L CloudWatch ogs 中为服务器自动创建日志角色或为登录服务器的用户创建用户角色时,才需要 IA@@ MFullAccess(或具体地说是允许创建 IAM 角色的策略)。

  • 要创建和删除 VPC 服务器类型,您需要在策略中添加 ec2:CreateVpcEndpoint 和 ec2:DeleteVpcEndpoints 操作。

注意

一般用法不需要FullAccess A mazonS3FullAccessIAM 政策Amazon Transfer Family。此处介绍它们是一种简单的方法,可确保涵盖您需要的所有权限。此外,这些是Amazon托管策略,是可供所有Amazon客户使用的标准策略。您可以查看这些策略中的个人权限,并确定满足您的目的所需的最低权限集。

步骤 1:登录到 Amazon Transfer Family 控制台

登录 Transfer Family
  1. 登录Amazon Web Services Management Console并通过 https://console.aws.amazon.com/transfer/ 打开主Amazon Transfer Family机。

  2. 对于 Account ID or alias (帐户 ID 或别名),请输入您的帐户 ID 或别名。

  3. 对于 IAM 用户名,输入您为 Transfer Family 创建的用户角色的名称。

  4. 在 “密码” 中,输入您的Amazon账户密码。

  5. 选择 Sign in (登录)

步骤 2:创建支持 SFTP 的服务器

安全外壳 (SSH) 文件传输协议 (SFTP) 是一种用于通过互联网安全传输数据的网络协议。该协议支持 SSH 的全部安全和身份验证功能。它广泛用于交换数据,包括金融服务、医疗保健、零售和广告等各个行业的业务合作伙伴之间的敏感信息。

创建启用 SFTP 的服务器
  1. 从 “导航” 窗格中选择 “服务器”,然后选择 “创建服务器”。

  2. “选择协议” 中,选择 SFTP,然后选择 “下一步”。

  3. “选择身份提供商” 中,选择 “管理在 Transfer Family 中存储用户身份和密钥的服务”,然后选择 “下一步”。

  4. 选择端点中,执行以下操作:

    1. 对于端点类型,选择可公开访问的端点类型。

    2. 对于 “自定义主机名”,选择 “”。

    3. 选择 Next(下一步)

  5. 选择域中,选择 Amazon S3

  6. Configure Det ails 中,执行以下操作:

    1. 要进行CloudWatch 登录,请选择创建新角色以允许 Transfer Family 自动创建 IAM 角色,前提是您拥有创建新角色的权限。创建的 IAM 角色被称为AWSTransferLoggingAccess

    2. 对于加密算法选项,请选择包含允许服务器使用的加密算法的安全策略。默认安全策略是TransferSecurityPolicy-2020-06

    3. 选择 Next(下一步)

  7. 在 “查看并创建” 中,选择 “创建服务器”。您将被带到服务器页面。

可能需要几分钟才能将新服务器的状态更改为 “机”。此时,您的服务器可以执行文件操作,但您需要先创建用户。

第 3 步:添加服务管理用户

如欲将用户添加到启用 SFTP 的服务器
  1. 在 Server 页面中,选中要向其添加用户的服务器对应的复选框。

  2. 选择添加用户

  3. 在 “用户配置” 部分中,在 “用户名” 中输入用户名。此用户名最少必须为 3 个字符,最多为 100 个字符。您可以在用户名中使用以下字符:a—z、A-Z、A-Z、A-Z、0—9、下划线 “_”、连字符 “-”、句点 “” . ',以及符号 “@”。用户名不能以连字符、句点或 @ 符号开头。

  4. 对于 Amazon S3 存储桶的访问对 Amazon S3 存储桶的访问权限,该角色提供对 Amazon S3 存储桶的访问权限。

    您可使用创建 IAM 角色和策略中的过程创建此 IAM 角色。该 IAM 角色包含一个 IAM 角色,该策略提供对 Amazon S3 存储桶的访问权限。它还包括与 Amazon Transfer Family 服务的信任关系,在另一个 IAM 策略中定义。

    注意

    服务托管用户的 IAM 角色必须包含访问所需存储段的权限。访问所需存储段的权限包含在 S3 中FullAccess,它授予对 S3 资源的管理员级别权限。

  5. 对于 “策略”,选择 “”。

  6. 对于主目录,选择 Amazon S3 存储桶来存储要传输的数据Amazon Transfer Family。输入用户使用客户端登录时所在home目录的路径。

    如果您将此参数留空,则系统将使用 Amazon S3 存储桶的root目录。在这种情况下,请确保您的 IAM 角色提供对此 root 目录的访问权限。

    注意

    我们建议您选择包含用户名的目录路径,这样您就可以有效地使用会话策略。会话策略将用户在 Amazon S3 存储桶中的访问权限限制为该用户的home目录。

  7. 对于 “受限制”,选中该复选框,这样您的用户就无法访问该文件夹以外的任何内容,也看不到 Amazon S3 存储桶或文件夹名称。

    注意

    为用户分配主目录并限制用户访问该主目录时,这应该足以锁定用户对指定文件夹的访问权限。需要应用进一步控制时,请使用会话策略。

  8. 对于 SSH 公钥,输入 SSH key pair 的 SSH 公钥部分。

    您的密钥先由服务进行验证,然后才能添加新用户。

    重要

    SSH 公钥的格式为ssh-rsa <string>。有关如何生成 SSH 密钥对的说明,请参阅生成 SSH 密钥集

  9. (可选)对于,输入一个或多个标签作为键值对,然后选择添加标签

  10. 选择 Add (添加) 可将您的新用户添加到所选服务器。

    新用户出现在服务器详细信息页面的用户部分中。

步骤 4:使用客户端传输文件

您可以通过在客户端中指定传输操作来通过Amazon Transfer Family服务传输文件。 Amazon Transfer Family支持多个客户端。有关详细信息,请参阅 使用客户端传输文件

本节包含使用 Cyberduck 和 OpenSSH 的过程。

使用 Cyber

使用 Cyberduck 通过 Amazon Transfer Family 传输文件
  1. 打开 Cyberduck 客户端。

  2. 选择 “打开连接”。

  3. 在 “打开连接” 对话框中,选择 SFTP(SSH 文件传输协议)

  4. 对于服务器,输入您的服务器终端节点。服务器端点位于服务器详细信息页面上,请参阅查看服务器详细信息

  5. 对于端口号,输入22 SFTP。

  6. 对于 Username (用户名),输入您在管理用户中创建的用户的名称。

  7. 对于 SSH 私钥,选择或输入 SSH 私钥。

  8. 选择 Connect(连接)。

  9. 执行文件传输。

    根据您的文件所在的位置,执行以下操作之一:

    • 在本地目录(源)中,选择要传输的文件,然后将它们拖放到 Amazon S3 目录(目标)中。

    • 在 Amazon S3 目录(源)中,选择要传输的文件,然后将其拖放到本地目录(目标)中。

使用 OpenSSH er

按照下文中的说明,使用 OpenSSH 从命令行传输文件。

注意

此客户端只能在启用 SFTP 的服务器上运行。

要通过 Amazon Transfer Family 传输文件,请使用 OpenSSH 命令行实用工具
  1. 在 Linux 或 Macintosh 上,打开命令终端。

  2. 在提示符处,输入以下命令:% sftp -i transfer-key sftp_user@service_endpoint

    在前面的命令中,sftp_user 是用户名,transfer-key 是 SSH 私有密钥。这里service_endpoint是所选服务器的Amazon Transfer Family控制台中显示的服务器端点。

    此时应显示 sftp 提示符。

  3. (可选)要查看用户的主目录,请在sftp提示符下输入以下命令:sftp> pwd

  4. 在下一行上,输入以下文本:sftp> cd /mybucket/home/sftp_user

    在本入门练习中,此 Amazon S3 存储桶是文件传输的目标。

  5. 在下一行上,输入以下命令:sftp> put filename.txt

    put命令将文件传送到 Amazon S3 存储桶。

    此时将显示类似于下文的消息,指示文件传输正在进行或者已完成。

    Uploading filename.txt to /my-bucket/home/sftp_user/filename.txt

    some-file.txt 100% 127 0.1KB/s 00:00