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

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

Amazon Transfer Family 服务器端点入门

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

先决条件

开始之前,请确保完成先决条件中的要求。在此设置中,您将创建一个亚马逊简单存储服务 (Amazon S3) 存储桶和 Amazon Identity and Access Management 一个 (IAM) 用户角色。

使用 Amazon Transfer Family 控制台需要权限,也需要权限才能配置 Transfer Family 使用的其他 Amazon 服务,例如亚马逊简单存储服务 Amazon Certificate Manager、亚马逊弹性文件系统和亚马逊 Route 53。例如,对于 Amazon 使用 Transfer Family 传入和传出文件的用户,AmazonS3 会FullAccess授予设置和使用 Amazon S3 存储桶的权限。创建 Amazon S3 存储桶需要此策略中的一些权限。

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

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

  • 只有当您希望 Transfer Family 在 Amazon CloudWatch Logs 中自动为您的服务器创建日志角色或为登录服务器的用户创建用户角色时,才需要 IA@@ M FullAccess(或者具体来说是允许创建 IAM 角色的策略)。

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

注意

一般使用并不需要 A mazonS3 FullAccessIAM FullAccess 政策。 Amazon Transfer Family此处将它们作为一种简单的方法来确保您需要的所有权限都得到满足。此外,这些是 Amazon 托管策略,它们是可供所有 Amazon 客户使用的标准策略。您可以查看这些策略中的个人权限,并确定实现您的目的所需的最低权限集。

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

要登录 Transfer Family
  1. 登录 Amazon Web Services Management Console 并打开 Amazon Transfer Family 控制台,网址为 https://console.aws.amazon.com/transfer/

  2. 对于账户 ID 或别名,请输入您的 Amazon Web Services 账户 ID。

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

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

  5. 选择 Sign in(登录)

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

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

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

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

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

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

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

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

    3. 选择下一步

  5. 选择域名中,选择 Amazon S3

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

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

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

    3. 选择下一步

  7. 审核并创建中,选择创建服务器。您将进入服务器页面。

您的新服务器状态更改为在线可能需要几分钟时间。此时,您的服务器可以执行文件操作,但您需要先创建一个用户。

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

要向启用 SFTP 的服务器添加用户
  1. 服务器页面上,选中您要将用户添加到的服务器复选框。

  2. 选择添加用户

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

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

    您可使用创建 IAM 角色和策略中的过程创建此 IAM 角色。该 IAM 角色包括一个提供对您 Amazon S3 存储桶访问权限的 IAM policy。它还包括与 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 密钥对的 SSH 公有密钥部分。

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

    重要

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

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

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

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

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

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

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

使用 Cyberduck

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

  2. 选择打开连接

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

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

  5. 端口号中,输入22 SFTP。

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

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

  8. 选择连接

  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