教程:开始使用 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 Service (Amazon S3) 存储桶和Amazon Identity and Access Management(IAM) 用户角色。

注意

您创建的角色需要在中定义的权限AmazonS3FullAccessAWSTransferConsoleFullAccess, 和IAMFullAccess政策。

  • AmazonS3FullAccess授予权限以设置和使用 Amazon S3 存储桶。

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

  • IAMFullAccess授予创建所需角色和策略的权限。

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

登录 Transfer Family

  1. 登录到Amazon Web Services Management Console然后打开Amazon Transfer Family控制台https://console.aws.amazon.com/transfer/.

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

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

  4. 适用于密码,输入你的Amazon账户密码。

  5. 选择 Sign in (登录)

第 2 步:创建启用 SFTP 的服务器

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

创建启用 SFTP 的服务器

  1. Select服务器然后从导航窗格中选择创建服务器.

  2. In选择协议,选择SFTP,然后选择下一步.

  3. In选择身份提供商,选择托管式服务在 Transfer Family 中存储用户身份和密钥,然后选择下一步.

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

    1. 适用于终端节点类型,选择公开访问终端节点类型。

    2. 适用于定制主机名,选择.

    3. 请选择 Next (下一步)

  5. In选择一个域,选择Amazon S3.

  6. In配置其他详细信中,执行以下操作:

    1. 适用于CloudWatch 日志记录,选择创建新角色允许 Transfer Family 自动创建 IAM 角色,只要您拥有创建新角色的正确权限。创建的 IAM 角色称为AWSTransferLoggingAccess.

    2. 适用于加密算法选项中,选择包含服务器启用的加密算法的安全策略。默认的安全策略是TransferSecurityPolicy-2020-06.

    3. 请选择 Next (下一步)

  7. In审核和创建,选择创建服务器. 您将进入服务器页.

您的新服务器状态更改为在线. 到时候,您的服务器可以执行文件操作,但您需要先创建用户。

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

将用户添加到启用 SFTP 的服务器

  1. 在存储库的服务器(页面) 中,选中要将用户添加到的服务器的复选框。

  2. 选择添加用户

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

  4. 适用于访问中,选择您之前创建的提供 Amazon S3 存储桶访问权限的 IAM 角色。

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

    注意

    服务托管用户的 IAM 角色必须包含访问所需存储桶的权限。包括在内的访问所需存储桶的权限s3 完全访问它授予管理员级别对 S3 资源的权限。

  5. 适用于策略,选择.

  6. 适用于主目录中,选择 Amazon S3 存储桶以存储使用Amazon Transfer Family. 输入路径home用户在使用客户端登录时将到达的目录。

    如果将此参数留空,root使用您的 Amazon S3 存储桶的目录。在这种情况下,请确保您的 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 (CyberDuck) 和 OpenSSH 的过程。

使用 Cyberduck

使用 Cyberduck 通过 Amazon Transfer Family 传输文件

  1. 打开Cyberduck客户端。

  2. 选择打开连接.

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

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

  5. 适用于端口号,输入22对于 SFTP (SFTP)。

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

  7. 适用于SSH 私有密钥,选择或输入 SSH 私有密钥。

  8. 选择 Connect(连接)。

  9. 执行文件传输。

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

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

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

使用 OpenSSH

按照下文中的说明,使用 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