一般性问题

问:什么是 AWS Transfer for SFTP?

答:AWS Transfer for SFTP (AWS SFTP) 是在 AWS 中托管的完全托管式服务,可以让文件直接通过 SFTP 传入和传出 Amazon S3。

问:什么是 SFTP?可以用在何处?

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

问:为什么应该使用 AWS SFTP?

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

问:使用 AWS SFTP 有哪些好处?

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

问:如何使用 AWS SFTP?

答:只需通过 3 个简单步骤,您就可以在 AWS 中获得持久且高度可用的“SFTP 服务器”。首先,将现有的 SFTP 主机名与 SFTP 服务器终端节点关联起来。下一步选择用于身份验证的身份提供商 - 托管服务或 Microsoft AD 等目录服务,然后设置用户。最后选择 S3 存储桶并分配用于访问的 IAM 角色。服务终端节点、身份提供商和 S3 存储桶访问策略启用后,您的用户可以继续使用现有的客户端和配置,而他们访问的数据将存储在您的 S3 存储桶中。

问:使用此服务时,我的用户能否使用 FTP 或 FTP/S(通过 SSL 的 FTP)传输文件?

答:不可以,您的用户需要使用 SFTP 传输文件。大多数文件传输客户端提供 SFTP 选项,可在使用 AWS SFTP 传输文件时进行选择。

服务器终端节点访问

问:能否继续使用公司域名 (sftp.mydomainname.com) 作为我的 SFTP 终端节点?

答:可以。如果您已有域名,则可以使用 Amazon Route53 或任意 DNS 服务将用户的流量从已注册域路由到 AWS 中的 SFTP 服务器终端节点。 请参阅有关AWS SFTP 如何使用 Amazon Route 53 自定义域名的文档。

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

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

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

答:可以,您将需要为该域设置别名并指向 SFTP 服务器主机名的域。

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

答:不会 – 只要您不停止或删除服务器,就不会发生更改。服务器主机密钥在您创建服务器时分配给您,除非您停止并重新启动服务器或创建新服务器,否则主机密钥始终不变。

问:我是否可以将 SFTP 服务器端点设置为仅在我的 VPC 中可访问?

答:是。创建 SFTP 服务器或更新现有服务器时,可以选择指定是否希望可通过公共互联网或在 VPC 内部访问服务器终端节点。有关详细信息,请参阅有关使用 AWS PrivateLink 在 VPC 内创建 SFTP 服务器终端节点的文档。

问:我的 SFTP 客户端是否可以使用固定 IP 地址访问 SFTP 服务器的VPC 终端节点?

答:是,您可以通过在 SFTP 服务器的 VPC 终端节点上构建来启用固定 IP。您可以在 VPC 中创建启用弹性 IP 的网络负载均衡器 (NLB) ,并将 SFTP 服务器的 VPC 终端节点指定为其目标。关联的弹性 IP 将为您提供一个或多个不会更改的静态 IP 地址。这些 IP 由您的SFTP 客户端用户用于防火墙白名单用途。要了解有关此设置的更多信息,请访问网络负载均衡器文档

问:我是否可以过滤传入流量以访问 SFTP 服务器的 VPC 终端节点?

答:是。将 VPC 端点用于 SFTP 服务器后,只能访问同一 VPC 内的客户端、您指定的其他 VPC 或使用扩展 VPC 的网络技术(如 AWS Direct Connect、AWS VPN 或 VPC 对等)的本地环境。您可以通过创建 NLB 并将其目标指定为 SFTP 服务器的 VPC 端点来允许对此端点的互联网流量访问。VPC 中现有防火墙或子网的网络访问控制列表 (NACL) 中的规则可以限制通过传入源 IP 地址进行访问。要了解有关此设置的更多信息,请访问网络负载均衡器文档

问:我的 SFTP 客户端能否使用固定的 IP 地址访问公共 SFTP 服务器终端节点?

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

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

答:您的用户需要将此处公示的 AWS IP 地址范围列入白名单。有关 AWS IP 地址范围的最新详情,请参阅相应文档。 

 

 

用户身份验证

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

答:能,任何现有 SFTP 客户端或 SFTP 传输应用程序将继续与 AWS SFTP 搭配使用。常用的 SFTP 客户端示例包括 WinSCP、FileZilla、CyberDuck 和 OpenSSH 客户端。

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

答:此服务支持两种身份验证模式:使用此服务存储和访问用户身份,和使用自定义身份提供商。

服务托管的身份验证

问:如何使用服务托管的身份验证?

答:如果您使用此服务存储和访问用户身份,则可以使用基于密钥的身份验证。

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

答:每位用户可以上传最多 10 个 SSH 密钥。请注意,添加更多密钥会增加登录时间,因为服务器需要评估每个密钥,直到找到成功进行身份验证的匹配密钥。

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

答:是。请参阅本文档,了解有关如何使用此服务设置密钥轮换的详细信息

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

答:不可以,目前不支持在服务内存储身份验证密码。如果您需要密码身份验证,请访问我们的文档下载使用其他身份提供商(例如 AWS SimpleAD 或 Secrets Manager)支持此操作的模板。

问:是否支持匿名用户?

答:不支持,目前不支持匿名用户。

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

答:不可以,我们目前不支持将现有主机密钥导入服务。

自定义身份提供商

问:能否利用现有身份提供商管理 SFTP 用户?

答:AWS SFTP 让您能够插入现有的身份提供商,使您能够轻松迁移在公司目录中存储有凭证的用户。身份提供商的示例包括 Microsoft Active Directory (AD)、轻型目录访问协议 (LDAP) 或任何自定义身份提供商。

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

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

问:设置用户时我需要提供哪些信息来启用访问?

答:不管是什么类型的身份提供商,您都需要提供用户名、AWS IAM 角色和主目录信息。如果您使用此服务存储和访问用户身份,您还需要提供 SSH 密钥。

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

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

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

答:您为用户设置的主目录决定了他们的登录目录。在用户登录 SFTP 服务器后,这就是 SFTP 客户端用作登录目录的目录路径。您需要确保所提供的 IAM 角色为用户提供了主目录的访问权限。

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

答:能,如果您想要基于用户名为不同用户提供相似的访问权限,但是针对 Amazon S3 存储桶的不同部分,则可以使用较少的 IAM 角色和策略完成。访问本文档,详细了解如何通过实时评估策略变量缩小访问权限。

数据上传和下载

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

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

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

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

问:AWS SFTP 支持哪些文件操作? 不支持哪些操作?

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

能否控制允许用户执行的操作?

答:可以,您可以使用映射到用户名的 AWS IAM 角色启用/禁用文件操作。

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

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

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

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

问:我怎么知道哪位 SFTP 用户上传了文件?
答:您可以使用 Amazon CloudWatch 查看 SFTP 用户的活动。访问本文档,了解有关如何启用 Amazon CloudWatch 日志记录的更多信息。

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

 

安全性与合规性

问:我的数据在传输期间是否安全?

答:是,SFTP 协议的底层安全性通过安全加密的隧道传输命令和文件数据。

问:使用 AWS SFTP 传输的静态数据有哪些加密选项?

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

问:AWS SFTP 支持哪些合规性计划?

答:AWS SFTP 符合 PCI-DSS 和 GDPR 的规定,并且符合 HIPAA 要求。

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

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

问:如何监控使用情况并跟踪用户活动?

答:您可以使用 Amazon CloudWatch 查看 SFTP 用户的活动。访问本文档,了解有关如何启用 Amazon CloudWatch 日志记录的更多信息。

 

计费

问:使用 AWS SFTP 时我需要支付哪些费用?

答:您仅需为使用 AWS SFTP 时实际使用的资源付费。这其中包括 SFTP 服务器终端节点的按小时计费费用,以及根据 SFTP 数据上传和下载量计算的费用。定价涵盖完全托管式、高度可用的 SFTP 服务,可根据您的工作负载需求实时自动扩展。有关更多详情,请参阅 AWS SFTP 定价页面

问:我该如何为我的 AWS SFTP 服务器付费?

答:从您创建和配置 SFTP 服务器(该服务器专门预置为供您使用)开始,您需要按小时付费,直到您删除该服务器为止。您还需要根据通过 SFTP 服务器上传和下载的数据量付费。有关更多详情,请参阅 AWS SFTP 定价页面

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

答:是的,使用控制台、运行“stop-server”CLI 命令或“StopServer”API 命令停止服务器时,不会影响计费。从您创建和配置 SFTP 服务器(该服务器专门预置为供您使用)开始,您需要按小时付费,直到您删除该服务器为止。

Product-Page_Standard-Icons_01_Product-Features_SqInk
了解有关定价的更多信息

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

了解更多 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
注册免费账户

立即享受 AWS 免费套餐。 

注册 
Product-Page_Standard-Icons_03_Start-Building_SqInk
开始在控制台中构建

开始在 AWS 控制台中使用 AWS SFTP 进行构建。

登录