AWS安全文件共享解决方案:安全与成本分析指南(第1部分)
引言
与外部实体共享文件(例如与业务伙伴共享数据或为客户提供文件访问)是Amazon Web Services(AWS)客户的常见用例。组织必须在安全性、成本和可用性之间取得平衡。在企业对企业(B2B)数据共享场景中,这些挑战更加复杂,因为通常涉及最少或无人为交互,需要强大的自动化解决方案。许多AWS服务提供多种访问授权选项,最佳选择取决于多个因素。
本文帮助您决定使用哪些AWS服务来实现适合业务需求的文件共享方法。我们重点关注安全控制和成本影响,描述一些权衡,并突出关键差异,以帮助您根据具体需求做出明智决策。我们将逐一介绍每个选项,强调其优势和局限性,并提供选择适合用例的解决方案的指导。
首先了解您的需求
设计AWS文件共享解决方案的第一步是明确了解您的需求和约束。由于存在多种可能的设计模式和多个不同的AWS服务需要考虑,您需要首先识别并优先考虑所需的功能。收集以下信息以指导您的方法:
访问模式和规模
在规划访问模式和规模时,有几个关键因素需要牢记。首先,考虑文件如何共享——机器对机器、人对机器或人对人——因为这会影响安全性和性能。然后,考虑传输频率——文件是每天只交换一次,还是每小时有数千个文件移动?如果下载控制很重要,可能需要设置文件访问频率的限制。文件大小也起作用,从典型的日常传输到需要支持的最大文件。最后,总数据量决定了您定期传输的信息量。
技术要求
您的解决方案选择将受到技术约束和能力的影响。协议要求通常驱动初始决策,例如是否需要SFTP、FTPS或HTTPS访问。考虑必须与您的解决方案接口的现有系统以及它们如何连接。性能考虑涵盖多个维度:文件传输的可接受延迟、用户的地理分布、带宽需求,以及是否需要内置的重试机制来处理失败的传输。此外,考虑您的解决方案需要支持多少同时传输。
安全性和合规性
安全性和合规性要求肯定会影响您的文件共享策略。考虑谁控制加密密钥——是由AWS管理还是由您的组织管理——以及需要什么密钥轮换策略。身份验证需求通常不同——您可能需要对单个用户、特定系统或整个业务实体进行身份验证,使用的方法从密码到API密钥、多因素身份验证或证书。您的审计要求将影响您在日志记录和监控能力方面的选择。您可能有地理考虑,如数据主权要求、存储位置限制,以及考虑接收者位置的访问控制。如果您的数据受法律(如欧洲的GDPR或美国的HIPAA)约束,或者您的数据受标准(如支付卡行业数据安全标准(PCI-DSS))监管,您需要咨询您自己的法律和合规顾问以了解所需内容。在评估风险容忍度时,考虑安全三要素:机密性、完整性和可用性——某些用例可能容忍短暂的不可用性,但不能冒数据暴露的风险,而其他用例则优先考虑持续可用性。
操作要求
日常操作带来自己的一系列考虑。文件保留策略确定数据需要保留多长时间,而自动删除功能可能对于管理存储和合规性至关重要。考虑您需要什么样的文件传输活动报告和监控。您需要月度报告、每日报告,还是可能需要详细的实时传输活动跟踪。通过添加处理和通知系统,您可以帮助确保问题被及时捕获和解决。灾难恢复要求,通过恢复点目标(RPO)和恢复时间目标(RTO)表达,有助于确定解决方案所需的弹性。
业务约束
您的解决方案必须在业务约束内运行,例如预算限制、技术限制、时间表、可用专业知识和服务水平协议(SLA)。预算限制包括初始实施成本和持续运营费用。考虑其他方的技术限制——他们可能使用特定协议(如SFTP)、需要移动设备兼容性,或运行具有有限加密能力的旧系统。实施时间表影响在可以快速部署的托管服务和需要更多时间和专业知识的自定义解决方案之间的选择。可用于解决方案维护的专业知识也是一个考虑因素。文件传输的SLA可能指定您有义务满足的可用性和性能要求。为了满足这些约束,您必须估计您的文件共享需求随时间增长的程度,并确定您需要区域还是全球解决方案。
通过仔细考虑这些方面,您将更好地准备评估不同的AWS文件共享解决方案,并选择最适合您用例的方案。了解您的上传和下载需求将有助于确定您的用例是否可以通过单个AWS服务支持,或者需要服务组合。
解决方案
让我们首先看看AWS支持的各种文件共享机制。下表确定了每个解决方案所需的关键AWS服务,描述了解决方案的安全性和成本影响,并描述了它们的复杂性和协议支持能力。下表显示了本文中描述的解决方案。
| 解决方案 | AWS服务 | 安全功能 | 成本* | 区域控制 |
|---|---|---|---|---|
| AWS Transfer Family | Transfer Family、Amazon S3、API Gateway和Lambda | 托管安全、传输中和静态加密、IAM集成和自定义身份验证 | 每个协议每小时$0.30,数据传输费用和存储成本 | 可以部署到特定AWS区域,只能传输到同一区域的S3存储桶和从同一区域的S3存储桶传输文件 |
| Transfer Family web apps | Transfer Family、S3和CloudFront | 基于浏览器的访问、IAM Identity Center集成和S3 Access Grants | 按文件操作付费、CloudFront成本和存储成本 | 使用CloudFront(全球)进行Web访问,但后端组件可以是区域特定的 |
| Amazon S3预签名URL | S3 | 时间限制的URL、用于URL生成的IAM控制和HTTPS | S3请求和数据传输费用 | 可以限制到特定区域 |
| 带有Amazon S3预签名URL的无服务器应用程序 | S3、AWS Lambda和API Gateway | 时间限制的URL、HTTPS、IAM控制、可自定义的身份验证 | 按请求付费和最小基础设施成本 | 组件可以是区域特定的 |
下表显示了第2部分中描述的解决方案。
| 解决方案 | AWS服务 | 安全功能 | 成本* | 区域控制 |
|---|---|---|---|---|
| CloudFront签名URL | CloudFront、Amazon S3和Lambda | 使用AWS Lambda@Edge的可选边缘安全、AWS WAF集成、SSL/TLS、地理限制和AWS Shield Standard(自动包含) | 内容分发网络(CDN)成本、请求定价和数据传输费用 | 设计为全球服务;源可以是AWS区域特定的 |
| Amazon VPC端点服务 | PrivateLink、VPC和NLB | 完全网络隔离、私有连接和多层安全 | 端点每小时费用、NLB成本和数据处理费用 | 服务端点严格区域特定;必须在需要访问的每个区域创建端点 |
| S3 Access Points | S3、IAM、VPC(用于VPC特定访问点) | 每个访问点的专用IAM策略、仅VPC访问限制可用、与存储桶策略配合使用以实现分层安全、支持用于私有网络访问的AWS PrivateLink、与S3阻止公共访问设置兼容 | S3 Access Points无额外费用、标准S3请求定价适用、基于标准S3费率的数据传输费用适用、使用VPC端点与访问点时适用VPC端点费用 | 访问点是区域特定的、每个访问点创建在与S3存储桶相同的区域、跨区域访问需要在每个区域单独的访问点、VPC特定访问点限于VPC的区域 |
*提供的定价信息基于发布时的AWS服务费率,仅作为估计。根据您的具体实施和使用模式,可能会产生额外成本。有关最新和最准确的定价详情,请查阅每个提到的服务的官方AWS定价页面。
让我们详细检查这些解决方案。
AWS Transfer Family
AWS Transfer Family是一种用于SFTP、FTPS和AS2协议的托管文件传输服务。它直接与Amazon Simple Storage Service(Amazon S3)集成以进行存储,并通过Amazon API Gateway和AWS Lambda支持自定义身份提供者进行身份验证。
如图1所示,当用户发起文件传输时,Transfer Family通过配置的身份提供者使用API Gateway和Lambda对其进行身份验证。身份验证成功后,服务将用户映射到定义其S3存储桶访问权限的AWS Identity and Access Management(IAM)角色。服务使用TLS 1.2加密传输中的数据,并使用S3服务器端加密加密静态数据。