一般性问题

问:什么是 AWS Transfer 系列?

答:AWS Transfer 系列是 AWS Transfer for SFTP、AWS Transfer for FTPS 和 AWS Transfer for FTP 的统称。AWS Transfer 系列为 SFTP、FTPS 和 FTP 直接进出 Amazon S3 的文件传输提供完全托管式支持。通过维持身份认证、访问和防火墙的现有客户端配置,可以无缝迁移文件传输工作流程,客户、合作伙伴和内部团队或者其应用程序无需任何更改。

问:什么是 SFTP?

答:SFTP 是指 Secure Shell (SSH) 文件传输协议,一种用于通过 Internet 安全传输数据的网络协议。该协议支持 SSH 的完整安全性和身份验证功能,并且广泛用于多个行业(包括金融服务、医疗保健、媒体和娱乐、零售、广告等)内业务合作伙伴之间的数据交换。

问:什么是 FTP?

答:FTP 是指文件传输协议,一种用于传输数据的网络协议。FTP 针对控制和数据传输使用独立通道。控制通道通常开放至终止或不活动超时,数据通道在传输期间一直活动。FTP 使用明文,不支持流量加密。

问:什么是 FTPS?

答:FTPS 是指 SSL 文件传输协议,是 FTP 的扩展。它使用传输层协议 (TLS) 和安全套接层 (SSL) 密码协议对流量进行加密。FTPS 允许同时或独立地对控制和数据通道连接进行加密。

问:为什么应该使用 AWS Transfer 系列?

答:现在,如果您使用文件传输协议(例如 SFTP、FTPS 或 FTP)与第三方(例如供应商、业务合作伙伴或客户)交换数据,并且希望在 AWS 上管理此类数据,进行处理、分析和存档,那么您必须托管和管理自己的 文件传输服务。这要求您在运行和管理基础设施、修补服务器、监控正常运行时间和可用性以及制定一次性机制来预置用户和审计用户活动方面进行投资。AWS Transfer 系列为 SFTP、FTPS 和 FTP 提供了完全托管式支持来应对这些挑战,该服务可以减轻您的运营负担,同时为最终用户保留现有的传输工作流程。该服务将传输的文件作为对象存储在 Amazon S3 存储桶中,因此您可以从数据湖内的这些文件中提取价值,或将其用于客户关系管理 (CRM) 或企业资源计划 (ERP) 工作流程,也可以用于在 AWS 中归档。

问:使用 AWS Transfer 系列有哪些好处?

答:AWS Transfer 系列为您提供完全托管、高度可用的文件传输服务,其中包含自动扩展功能,无需您亲自管理文件传输相关基础设施。您的最终用户的工作流程将保持不变,同时上传和下载的数据将存储在 Amazon S3 存储桶中。现在,通过将数据存储在 Amazon S3 中,您可以在满足合规性要求的环境中轻松地将其与各种 AWS 服务配合使用,以支持数据处理、分析、机器学习和存档。

问:如何使用 AWS Transfer 系列?

答:只需 3 个简单步骤,您就可以为 SFTP、FTPS 和/或 FTP 启用始终可用的服务器终端节点。首先,选择您希望最终用户连接至终端节点的协议。接下来,通过集成现有身份提供商,例如用于身份验证的 Microsoft Active Directory 或 LDAP(“BYO”身份验证),设置您的用户。最后,分配 IAM 角色,用于访问您的 S3 存储桶。协议、身份提供商和 S3 存储桶访问策略启用后,您的用户可以继续使用现有的客户端和配置,而他们访问的数据将存储在您的 S3 存储桶中。

问:SFTP 与 FTPS 之间有何区别? 我应该使用哪种服务,何时使用?

答:FTPS 和 SFTP 都可用于安全传输。由于是不同的协议,两者使用不同的客户端和技术来提供安全隧道,用于传输命令和数据。SFTP 是较新的协议,针对命令和数据使用单一通道,所需的端口少于 FTPS。

问:使用此服务时,我的用户能否使用 SCP、HTTPS 或 AS2 传输文件?

答:不可以,您的用户需要使用 SFTP、FTPS 或 FTP 传输文件。大部分文件传输客户端将这两种协议作为选项,身份验证期间需要选择其中一项。

问:我的用户能否继续使用现有的文件传输客户端和应用程序?

答:可以,只要为所选协议启用了终端节点,任何现有文件传输客户端应用程序可继续使用。常用的客户端示例包括 WinSCP、FileZilla、CyberDuck、lftp 和 OpenSSH 客户端。 

问:是否可以使用 CloudFormation 自动部署服务器和用户?

答:可以。您可以部署 CloudFormation 模板来自动创建 SFTP 服务器和用户,或与身份提供商集成。请参阅使用指南,以在 CloudFormation 模板中使用 AWS Transfer 资源

服务器终端节点选项

问:能否使用公司域名 (sftp.mycompanyname.com) 访问我的 SFTP 终端节点?

答:可以。如果您已有域名,则可以使用 Amazon Route53 或任意 DNS 服务将用户的流量从已注册域路由到 AWS 中的服务器终端节点。请参阅有关 AWS Transfer 系列如何使用 Amazon Route 53 自定义域名的文档(仅适用于面向互联网的终端节点)。

问:如果我没有域名,还可以使用此服务吗?

答:可以,如果您没有域名,则用户可以使用服务提供的主机名访问终端节点。或者,您可以使用 Amazon Route 53 控制台或 API 注册新域,并将流量从此新域路由到服务提供的终端节点主机名。

问:能否使用已有公有区域的域?

答:可以,您将需要为该域设置别名并指向服务提供的终端节点主机名。

问:是否可以将服务器设置为仅可访问我的 VPC 中的资源?

答:可以。创建服务器或更新现有服务器时,可以选择指定通过公共互联网访问终端节点还是在 VPC 内部托管终端节点。通过将 VPC 托管终端节点用于服务器,您可以将其设置为只能由同一 VPC 、您指定的其他 VPC 或使用扩展 VPC 的网络技术(如 AWS Direct Connect、AWS VPN 或 VPC 对等)的本地环境中的客户端访问。您可以利用子网网络访问控制列表 (NACL) 或终端节点安全组进一步限制对 VPC 的特定子网中的资源的访问。有关详细信息,请参阅有关使用 AWS PrivateLink 在 VPC 内创建服务器终端节点的文档。

问:FTP 能够用于面向互联网的终端节点?

不可以,启用 FTP 后,您只能使用 VPC 托管的终端节点的内部访问选项。若果流量需要跨越公共网络,应使用 SFTP 或 FTPS 等安全协议。

问:需要使用 FTP 在公共互联网上进行传输,怎么办?

该服务不允许在公共网络上使用 FTP,因为您创建用于 FTP 的服务器时,服务器终端节点仅可访问您的 VPC 内的资源。如果需要使用 FTP 在公共互联网上交换数据,您可以为服务器的 VPC 终端节点配置面向互联网的网络负载均衡器 (NLB)。

问:能否在无 VPC 的情况下使用 FTP?

不可以,托管 FTP 服务器终端节点需要 VPC。 请参阅 CloudFormation 模板的文档,了解如何自动创建 VPC 资源以在服务器创建期间托管终端节点。

问:我的最终用户是否可以使用固定 IP 地址在其防火墙内建立我的服务器终端节点的访问白名单?

答:可以。您可以为自己的服务器选择 VPC 托管终端节点并选择面向互联网的选项,为您的服务器终端节点启用固定 IP。这样您就可以直接将弹性 IP(包括 BYO IP)连接至终端节点,将其分配为终端节点的 IP 地址。请参阅文档:在 VPC 内创建服务器终端节点中关于创建面向互联网的终端节点部分。

问:我是否可以按最终用户的源 IP 地址限制传入流量?

答:可以。您可以将安全组附加到服务器的 VPC 终端节点,由其控制至您的服务器的入站流量。请参阅文档:在 VPC 内创建服务器终端节点中关于创建面向互联网的终端节点部分。

问:我的最终用户是否可以使用固定 IP 地址访问终端节点类型为 PUBLIC 的服务器?

答:不能。目前 PUBLIC 终端节点类型上不支持通常用于防火墙白名单目的的固定 IP 地址。

问:为了访问我的 SFTP 服务器的“公共”类型的终端节点,我的最终用户需要将哪些 IP 地址范围列入白名单?

答:如果您使用的是“公共”终端节点类型,您的用户需要将此处发布的 AWS IP 地址范围加入白名单。有关 AWS IP 地址范围的最新详情,请参阅相应文档。

问:创建服务器后,我的 AWS Transfer for SFTP 服务器的主机密钥是否会发生更改?

答:不会。服务器主机密钥在您创建服务器时分配给您,除非您将其删除并创建新密钥,否则主机密钥始终不变。

问:我能否从当前的 SFTP 服务器中导入密钥,使用户不必重新验证会话信息?

答:可以。您可以在创建新服务器或更新现有服务器时提供 RSA 主机密钥。最终用户的客户端将使用此密钥来标识您的服务器。请参阅有关使用 AWS CLI/软件开发工具包上传服务器的主机密钥的文档

问:我的最终用户的 FTP 客户端如何验证我的 FTPS 服务器的身份?

答:启用 FTPS 访问后,您需要提供 Amazon Certificate Manager (ACM) 证书。此证书由您的最终用户客户端用于验证您的 FTPS 服务器的身份。参阅 ACM 文档中的请求新证书将现有证书导入 ACM

问:是否支持 FTPS 和 FTP 的主动和被动模式?

答:我们仅支持被动模式,允许您的最终用户客户端启动与您的服务器的连接。被动模式需要的客户端端口更少,服务器终端节点与受保护防火墙后方的最终用户更兼容。

问:是否支持显式和隐式 FTPS 模式?

答:我们仅支持显式 FTPS 模式。

多协议访问

问:可否在同一个终端节点上启用多个协议?

答:可以。设置过车中,您可以选择您希望客户端连接至终端节点的协议。服务器主机名和身份提供商在选定协议间共享。同样,您也可以将 FTP/FTPS 支持添加至现有 AWS Transfer for SFTP 服务器终端节点,只要该终端节点托管于您的 VPC 内并且您正在使用自定义身份提供商。

问:何时为每个协议创建单独的服务器终端节点,何时为多个协议启用同一个终端节点?

答:需要使用 FTP(仅 VPC 内的访问支持)并且还需要通过互联网支持 SFTP 或 FTPS 时,FTP 就需要单独的服务器终端节点。希望为通过多个协议连接的客户端使用相同的终端节点主机名和 IP 地址时,您可以为多个协议使用同一个终端节点。此外,如果希望为 SFTP 和 FTPS 共享相同凭证,可以设置和使用单个身份提供商,以便验证通过任意协议连接的客户端。

问:可否将相同最终用户设置为通过多个协议访问终端节点?

可以,您可以通过多个协议提供相同用户访问,只要在您的身份提供商中设置了特定于协议的凭证。如果已经启用 FTP,我们建议维持 FTP 的单独凭证。请参阅为 FTP 设置单独凭证的文档。

问:为什么应该为 FTP 用户维持单独凭证?

不同于 SFTP 和 FTPS,FTP 以明文传输凭证。我们建议隔离 FTP 凭证与 SFTP 或 FTPS,这样即使 FTP 凭证被无意间共享或暴露,使用 SFTP 或 FTPS 的工作负载仍然是安全的。

身份验证模式

问:此服务如何对用户进行身份验证?

答:此服务支持两种身份验证模式:服务托管型,用户身份存储在服务内;自定义 (BYO),允许集成您选择的身份提供商。仅启用 SFTP 的服务器终端节点支持服务托管型身份验证。

问:如何使用服务托管型身份验证对用户进行身份验证?

答:对于服务托管型身份验证,您可以使用 SSH 密钥对 SFTP 用户进行身份验证。

问:每位 SFTP 用户可以上传多少 SSH 密钥?

答:每位用户可以上传最多 10 个 SSH 密钥。

问:服务托管型身份验证是否支持 SSH 密钥轮换?

答:可以。请参阅本文档,了解有关如何为 SFTP 用户设置密钥轮换的详细信息

问:能否将服务托管型身份验证用于密码身份验证?

答:不能。当前不支持在服务中存储密码进行身份验证。如果您需要密码验证,请访问博客文章使用 Secrets Manager 启用密码验证中描述的架构。

问:为什么应该使用自定义身份验证模式?

答:自定义身份验证模式(“BYO”身份验证)可让您充分利用现有的身份提供商来管理所有协议类型(SFTP、FTPS 和 FTP)的最终用户,轻松实现用户无缝迁移。凭证可存储在企业目录或内部身份数据存储中,经过集成可用于最终用户身份验证目的。身份提供商的示例包括 Microsoft Active Directory (AD)、轻型目录访问协议 (LDAP) 或任何可作为整体预置门户一部分的自定义身份提供商。

问:如何开始集成现有身份提供商进行用户身份验证?

答:首先,可以使用使用指南中的 AWS CloudFormation 模板并提供用户身份验证和访问的必要信息。请访问有关自定义身份提供商的网站,了解更多信息。

问:是否支持匿名用户?

答:不支持,目前不支持任何协议的匿名用户。

问:通过自定义身份提供商设置我的用户时,需要使用什么信息来启用对用户的访问?

答:您的用户需要提供用于进行身份验证的用户名和密码(或 SSH 密钥),对存储桶的访问权限由 API 网关提供的 AWS IAM 角色和用于查询身份提供商的 Lambda 决定。您还需要提供主目录信息,建议您将它们锁定在指定的主文件夹中,以提高安全性和可用性。请参阅此博客文章,了解如何在将自定义身份提供商与 AWS SFTP 结合使用时简化最终用户的体验。

用户访问权限

问:为什么需要提供 AWS IAM 角色?如何使用?

答:AWS IAM 用于确定您想提供给用户的访问级别。这包括您想在他们的客户端启用哪些操作,以及他们有权访问哪些 Amazon S3 存储桶(无论是整个还是部分存储桶)。

问:为什么我需要提供主目录信息?如何使用?

答:您为用户设置的主目录决定了他们的登录目录。这是用户客户端放置用户的目录路径,只要用户成功通过身份验证进入服务器。您需要确保所提供的 IAM 角色为用户提供了主目录的访问权限。

问:我有数百名用户拥有相似的访问设置,但是这些设置分别针对存储桶的不同部分。能否使用相同的 IAM 角色和策略进行设置以授予他们访问权限?

可以。您可以为所有用户分配单个 IAM 角色,并使用逻辑目录映射,指定希望哪些绝对 Amazon S3 存储桶路径对最终用户可见,以及客户端如何将这些路径展示给最终用户。访问此博客,了解如何使用 Chroot 和逻辑目录简化您的 AWS SFTP/FTPS/FTP 结构

问:如何在使用 AWS SFTP 传输的 Amazon S3 存储桶中存储文件?

答:通过受支持协议的文件作为对象存储在 Amazon S3 存储桶中,并且文件和对象之间是一对一映射关系,从而使您能够使用 AWS 处理或分析服务对这些对象进行本机访问。

问:存储桶中存储的 Amazon S3 对象如何向用户显示?

答:成功进行身份验证后,此服务根据用户凭证将 Amazon S3 对象和文件夹作为文件和目录展示给用户的传输应用程序。

问:服务支持哪些文件操作? 不支持哪些操作?

答:支持创建、阅读、更新和删除文件和目录的常见命令。文件作为单独的对象存储在 Amazon S3 存储桶中。目录使用与 S3 控制台相同的语法,作为文件夹对象托管在 S3 中。

当前不支持目录重命名操作、附加操作、所有权、权限和时间戳的更改,以及符号链接和硬链接的使用。

是否可以控制允许用户执行的操作?

答:可以,您可以使用映射到用户名的 AWS IAM 角色启用/禁用文件操作。请参阅文档中的创建 IAM 政策和角色来控制最终用户的访问。

问:我是否可以为我的最终用户提供多个 Amazon S3 存储桶的访问权限?

答:可以。您的用户可以访问的存储桶取决于 AWS IAM 角色以及您为该用户分配的可选范围限制策略。您只能使用单个存储桶作为用户的主目录。

问:是否可以使用 AWS 账户 A 创建服务器并将我的用户映射到 AWS 账户 B 拥有的 Amazon S3 存储桶?

答:可以。您可以使用 CLI 和 API 在服务器和希望用于存储通过受支持协议传输的文件的存储桶之间设置跨帐户访问。控制台下拉列表仅列出帐户 A 中的存储桶。此外,您需要确保分配给用户的角色属于帐户 A。

问:能否在文件上传到 Amazon S3 后自动处理文件?

答:可以,您可以使用 Amazon S3 事件自动执行上传后处理工作,同时使用一系列 AWS 服务进行查询、分析、机器学习等。访问相应文档,详细了解如何结合使用 Lambda 和 Amazon S3 执行上传后处理工作。

问:我可否根据上传文件的用户自定义处理规则?

答:可以。用户上传文件后,用户名和用于上传的服务器的服务器 ID 作为相关联 S3 对象元数据的一部分被存储。您可以使用此信息执行上传后处理工作。

安全性与合规性

问:通过公共网络传输时,我应该使用哪些协议保护数据?

SFTP 或 FTPS 均可用于保护公共网络传输。由于基于 SSH 和 TLS 密码算法的协议具有底层安全性,数据和命令通过安全的加密通道进行传输。

问:我有哪些静止加密数据的选项?

答:您可以选择使用 Amazon S3 Server-Side Encryption (SSE-S3) 或 Amazon KMS (SSE-KMS) 加密存储在您的存储桶中的文件。

问:AWS Transfer 系列支持哪些合规性计划?

答:AWS Transfer 系列符合 PCI-DSS 和 GDPR 的规定,并且符合 HIPAA 要求。此服务也符合 SOC 1、2 和 3 的规定。了解有关按合规性计划提供的范围内服务的更多信息。

问:AWS Transfer 系列是否符合 FISMA 的规定?

答:AWS East/West 和 GovCloud(美国)区域是合规的。通过将这两个区域的 FedRAMP 授权设置为 FedRAMP 中级和 FedRAMP 高级,可以证明这种合规性。我们通过年度评估来证明这种合规性,并在我们的系统安全计划中使用范围内 NIST SP 800-53 控件记录这种合规性。您可以在 Artifact 以及我们的客户责任矩阵 (CRM) 上获得模板,CRM 详细说明了我们在根据 FedRAMP 的要求满足这些 NIST 控件方面的责任。您可以通过管理控制台访问 Artifact,该控制台可通过 East/West 和 GovCloud 的 AWS 账户访问。如果您对此主题还有其他疑问,请查阅控制台

问:该服务如何确保已上传文件的完整性?

答:通过服务上传的所有文件都会通过对比文件上传前后的 MD5 校验和进行验证。

问:如何监控最终用户的活动?

答:您可以使用 Amazon CloudWatch 监控最终用户的活动,使用 AWS CloudTrail 访问服务器调用(应最终用户数据请求)的所有 S3 API 操作的记录。访问本文档,了解有关如何启用 Amazon CloudWatch 和 AWS CloudTrail 日志记录。

问:如何跟踪通过协议上传和下载的数据量?

答:您可以使用 Amazon CloudWatch Metrics 监控和跟踪用户通过所选协议上传和下载的数据。访问本文档,了解有关使用 Amazon CloudWatch Metrics 的更多信息。

计费

问:使用此服务如何计费?

从您创建并配置服务器终端节点到删除终端节点,会按小时对您启用的每个协议收取费用。您还需要根据通过 SFTP、FTPS 或 FTP 上传和下载的数据量付费。有关其他详细信息,请参阅定价页面

问:如果为多个协议使用同一个服务器终端节点,或者为每个协议使用不同的终端节点,计费会有不同吗?

答:不会,将按小时对您启用的每个协议,根据每个协议传输的数据量收取费用,与是否为多个协议启用同一个终端节点或为每个协议使用不同的终端节点无关。

问:我已停止了我的服务器。我是否需要为服务器付费?

答:是的,使用控制台、运行“stop-server”CLI 命令或“StopServer”API 命令停止服务器时,不会影响计费。从您创建服务器终端节点并配置一个或多个协议的访问权限到删除终端节点,会按小时收取费用。

了解有关 SFTP 定价的更多信息
了解有关定价的更多信息

AWS Transfer 系列提供一个完全托管的服务,从而减少了运行文件传输服务的运营成本。

了解更多 
注册免费 AWS 账户
注册免费账户

立即享受 AWS 免费套餐。 

注册 
开始使用 SFTP 进行构建
开始在控制台中构建

开始在 AWS 管理控制台中构建您的 SFTP、FTPS 和 FTP 服务。

登录