Amazon S3 安全和访问控制最佳实践 [重复]

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT_-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 严格遵守架构最佳实践和主动控制是数据安全的基础。[Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 提供安全设置和粒度访问控制,以适应几乎任何工作负载。在本论坛中,学习 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 安全性的基础知识,并深入了解可用性和最新增强功能。此外,还要研究访问控制、加密、监控、审计和修正的选项。学习 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 中数据安全和访问控制的最佳实践。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共2500字,阅读时间大约是12分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> 作为亚马逊简单存储服务(S3)领域的专家,亚马逊云的Meg和Becky分享了自己在帮助客户安全使用S3方面的丰富经验。据Meg介绍,S3是一种高度灵活、可扩展且耐用的对象存储,适用于各种云工作负载。随着越来越多的客户将数据存储到S3存储桶中,保护数据安全成为了首要任务。在亚马逊云科技,由于大部分数据都存储在S3中,因此保护S3本身的安全性同样重要。 针对不同的S3使用场景,Meg强调了每种场景都有其特定的安全需求。例如,她指出S3的可扩展性、高耐用性和高可用性使其成为存储数据湖的理想场所。通过利用S3进行数据湖,客户可以解锁来自亚马逊云[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)平台和其他合作伙伴服务的更多价值。此外,S3还常用于存储日志数据,如CloudTrail日志或应用程序日志,以及作为连接云工作负载各组件的纽带。 作为托管网站内容的好选择,S3可以存储HTML、CSS、JavaScript文件、图像以及最终用户消费的视频、音频和其他媒体资产。由于涉及多种实体访问存储在S3存储桶中的数据,如数据科学家、应用程序、亚马逊云服务和第三方合作伙伴,Meg表示,保护S3中的数据需要根据特定使用场景或访问模式进行深思熟虑的安全配置。 尽管云安全看似复杂,但Meg保证,根据大量客户经验,亚马逊云团队已将S3安全最佳实践简化为四个关键领域:使用亚马逊云提供的安全默认设置。 了解加密选项并选择合适的方案。为了确保安全,亚马逊云科技已实施了一系列安全默认设置。首先,自2022年1月起,所有新建的S3存储桶都默认采用名为SSE-S3的新型加密方式。这种加密方式使用AES-256加密密钥自动加密添加到S3存储桶的所有新对象,这些密钥由S3管理。此外,自2022年4月起,所有新的S3存储桶默认阻止公众访问,以防止存储桶内容被意外公开。同时,亚马逊云科技已在2022年4月默认禁用了ACL(访问控制列表)对于新的S3存储桶,以提供更高级别的安全性。这些改进旨在提高安全性,防止因配置错误导致的存储桶暴露。 梅格通过一个典型的客户使用S3存储网站资产的案例进行了阐述。这些资产主要包含HTML、CSS和JavaScript文件。她解释道,尽管客户希望这些文件能在公共互联网上使用,但这并不意味着必须禁止“阻止公众访问”。建议采用的架构是利用亚马逊云科技的CloudFront服务,它将经常访问的数据缓存到离用户较近的地方,从而实现低延迟的内容传输。网站资产所在的S3桶将作为原始位置位于亚马逊云科技CloudFront之后。接着,客户可以添加一个特定的S3存储桶策略,授权亚马逊云科技CloudFront以原始身份从存储桶中读取文件,以便填充其缓存。梅格表示,这种架构代表了良好的安全性,因为已经向特定身份赋予了明确的访问权限。S3存储桶本身仍然是私有的和受限的。 接下来,梅格介绍了两个有助于客户安全地迁移到IAM策略进行访问控制的S3新功能: 1. S3清单报告可以在需要时生成或安排,现在可以显示在单个对象上设置的任何ACL。客户可以利用这些报告来识别仍依赖于ACL而非IAM策略的对象。 2. 访问日志,如亚马逊云科技CloudTrail事件和S3服务器访问日志,可揭示成功访问请求究竟是基于ACL权限还是IAM策略允许。分析这些日志可使客户确定需要更新具体ACL使用案例的IAM策略。 最后,梅格谈到了S3安全最佳实践的下一个领域:加密选项。她强调,大多数情况下都已完全由新的默认设置SSE-S3加密覆盖。他们的对象使用AES-256密钥,这些密钥完全由S3管理。然而,对于那些需要管理自己的加密密钥的小部分客户,亚马逊建议采用亚马逊云科技Key Management Service (KMS)并在亚马逊云科技KMS中创建客户管理的密钥(CMKs)。 梅格对S3中的加密选项进行了简要分析。首先,SSE-S3采用完全由S3管理的密钥,提供服务器端加密。其次,SSE-KMS则允许使用来自KMS而非S3密钥的亚马逊云科技管理密钥,从而增加日志记录,但可能影响跨账户和区域的对象共享。最后,使用客户管理密钥的SSE-KMS允许用户在KMS内完全控制密钥策略和旋转,而不影响跨账户和区域的共享性。 根据这些选项,梅格建议大多数通用用例应首选SSE-S3,默认启用自动加密。对于那些有自身管理密钥的先进法规或业务需求的用户,通常选择使用客户管理密钥的SSE-KMS而不是在KMS中使用亚马逊云科技管理密钥是一个合适的选择。 梅格还强调了2022年6月推出的一项名为DSSE-KMS的新S3加密服务,该服务提供双层加密。这种功能允许使用两个不同的AES-256客户管理密钥(CMK)来加密数据,有助于满足严格的多重加密法规要求。 在实施细节方面,梅格解释了如何在单个对象上传级别或在默认存储桶加密级别指定加密模式。对于上传单个对象,加密头部定义了模式和密钥。由于SSE-S3是默认应用的,因此不需要用于基本加密的头部。对于KMS选项,必须在头部中指定特定的模式和CMK密钥ID。 在存储桶级别,默认加密可以仅一次设置以将所需模式自动应用于所有新对象。可以将存储桶默认设置为SSE-S3以获得相同的默认服务器端加密行为,而无需更改应用程序。对于默认KMS加密,客户指定模式和实际的CMK密钥ID。 梅格强调,在一致性至关重要的情况下,可以通过桶策略强制实施加密要求。例如,一个拒绝策略可以在没有适当KMS加密的情况下拒绝放置,以强制该桶中的所有对象都使用特定的CMK密钥ID进行加密。 在涵盖加密基础知识之后,Meg转向了审计领域,这对了解对象是否按预期进行适当加密至关重要。她建议采用亚马逊简单存储服务([Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail))存储镜像,该工具可提供跨所有账户和区域的企业级视图,以便查看S3的使用和活动。在交互式仪表板中,客户可以发现可能需要调查和修复的包含异常未加密对象的特定存储桶。 Storage Lens还能提供关于访问模式和趋势的宝贵见解,以确定是否应使用S3存储桶密钥而非Key Management Service密钥来重新加密现有的已加密对象。这种分析可以找出对大量访问的对象节省Key Management Service请求成本的机会。例如,在创建后的几个月内而非几年内具有高对象读取量的存储桶是重新加密的好候选者。 对于实际大批量重新加密现有对象,Meg推荐使用S3批量操作,这是一种比使用脚本逐个遍历对象更高效的方法。批量操作可以通过消耗从S3库存报告生成的清单来并行执行数百万对象的大规模加密或重新加密。复制操作用于通过指定目标加密模式(S3服务器端加密或使用Key Management Service的S3服务器端加密)来加密或重新加密对象。 转向第三项安全最佳实践:监控和审计访问模式,Meg强调亚马逊云科技提供了几种内置工具来评估S3存储桶的安全状况,而无需额外的成本或配置。这些侦查控制措施补充了预防性控制措施,如加密和访问策略。 一个例子是Access Analyzer,它可以检查存储桶策略、ACL和访问点,以识别意外公开访问或在账户外共享的风险。Access Analyzer仪表板清晰地显示了需要调查和修复的高风险存储桶。 此外,Meg强调了通过S3和CloudTrail日志监控实际访问行为的重要性。启用这些日志提供了安全性审计和合规需求所需的详细记录。Meg指出,CloudTrail提供了跨所有亚马逊云科技账户和服务的所有API事件的集中馈送,使其更容易汇总分析日志。S3服务器访问日志仅在存储桶级别操作,但不需要额外费用。 贝基在那时接手并深入研究了一个重要的安全最佳实践:利用Amazon IAM策略进行精确的访问授权。她解释道,作为负责认证和授权所有Amazon Web Services API请求(包括S3)的关键组件,IAM在整个亚马逊云科技安全体系中具有核心作用。IAM策略会附加到请求主体或用户以及S3资源上,以决定所请求的访问是否被允许或被拒绝。 贝基通过列举一些IAM策略陈述的例子来说明其基本语法: - 允许语句,授予读取存储桶中任何对象的s3:GetObject权限; - 添加s3:ListBucket权限以列出当前存储桶的内容; - 允许kms:Decrypt权限,以便通过在KMS中解密数据密钥来读取加密对象。 这些示例展示了要访问加密的S3对象,主体需要对S3对象资源和用于加密的KMS密钥资源都有访问权限。 接着,贝基概述了两个与S3存储桶相关的常见IAM使用场景:跨账户共享数据和防止过多权限。默认情况下,S3存储桶是私有的,因此在需要时在账户外授权时需要编写IAM策略。例如,贝基展示了如何在一个账户A的政策中不能授予对账户B的桶的访问权限。桶的所有者需要附接一个明确允许外部账户主体访问数据的IAM策略。这通过双重授权强制实施了最小权限原则-桶的所有者和外部账户必须在IAM策略级别就数据共享达成一致。 为了扩大共享范围,贝基展示了组织如何通过附接一个授予组织对任何账户的主体访问的单一存储桶策略来实现这一点。一个策略条件限制了对仅组织对内部账户的访问。这允许在组织范围内轻松共享,同时仍然限制外部暴露。 最后,贝基提到,随着时间的推移,随着S3使用场景的增长,存储桶策略会积累更多的语句。为了解决这个问题,Amazon Web Services提供了访问点,作为一种扩展访问的方式,通过在每个访问点上提供独特的IAM策略,而不是直接在存储桶上。客户每个存储桶可以创建多达10,000个访问点,应用程序可以使用生成的ARN替换桶名称。 此外,据Becky表示,亚马逊云科技最近推出了一项针对S3的访问权限功能,允许用户和组对存储桶前缀进行访问授权。这使得企业能够基于现有的用户和群组(如Active Directory目录)直接管理数据湖的文件夹级权限。 在数据共享方面,Becky解释道,S3存储桶策略也可以限制权限,防止超出组织边界的外部访问。例如,一个存储桶策略可以使用denies来禁止来自组织外部或非亚马逊云科技服务的访问。她指出,亚马逊云科技最近推出了高级选项,以便在包含数千个账户的大型企业中扩展策略拒绝。 Becky还介绍了如何在策略中使用网络条件,如VPC端点,以根据源网络限制访问并防止混淆代理场景。她提供了一个示例拒绝策略,该策略结合了多个条件以严格限制来自受信任帐户、服务和网络之外的访问尝试。该策略展示了客户如何在复杂组织环境中实施最小特权访问。 总的来说,Becky重申,由于新的安全默认设置和内置的预防性和检测性控制,保护S3比许多客户所意识到的要简单。关键要点包括利用加密默认设置,使用日志监控访问,谨慎使用IAM策略跨帐户共享数据,以及使用存储桶策略拒绝防止权限过度。遵循这些最佳实践将使组织能够根据其使用情形实现全面的S3安全性。 Meg和Becky在演讲结束时感谢与会者的参与,并鼓励他们参观re:Invent会议上的其他有用讲座。他们对帮助亚马逊云科技客户保护其云工作负载表示兴奋,并期待着看到新的最佳实践继续根据现实世界的客户需求和发展而演变。 **下面是一些演讲现场的精彩瞬间:** 领导者强调了[Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail)在满足亚马逊云科技客户需求数据存储方面的重要性。 ![](https://d1trpeugzwbig5.cloudfront.net/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT_/images/rebranded/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT__0.png) 他们详细讨论了如何通过使用IAM策略来共享和管理S3存储桶数据,就像设置一个安全边界一样。 ![](https://d1trpeugzwbig5.cloudfront.net/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT_/images/rebranded/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT__1.png) 演讲者还介绍了如何在大型亚马逊云科技环境中有效地使用IAM策略和亚马逊组织来配置跨多个亚马逊云科技帐户的访问权限。 ![](https://d1trpeugzwbig5.cloudfront.net/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT_/images/rebranded/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT__2.png) 此外,他们还强调了访问点的功能,即通过单独的端点进行缩放存储桶访问,而无需修改存储桶策略,从而提供更为精细的访问控制。 ![](https://d1trpeugzwbig5.cloudfront.net/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT_/images/rebranded/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT__3.png) 领导者特别强调了在使用IAM策略限制对组织帐户内S3数据和集成亚马逊云科技服务访问的重要性。 ![](https://d1trpeugzwbig5.cloudfront.net/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT_/images/rebranded/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT__4.png) 他们还展示了如何定义基于网络位置的数据边界来保护S3存储桶。 ![](https://d1trpeugzwbig5.cloudfront.net/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT_/images/rebranded/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT__5.png) 最后,领导者感谢观众参加亚马逊云科技re:Invent,并祝愿他们在本次大会上度过一个愉快的时光。 ![](https://d1trpeugzwbig5.cloudfront.net/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT_/images/rebranded/STG315-R-Amazon_S3_security_and_access_control_best_practices__REPEAT__6.png) ## 总结 该讲座主要讨论了如何安全地配置[Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail)存储桶。如今,S3在为新存储桶提供加密并阻止公共访问方面已经实现了现代化。通过禁用旧式的访问控制列表(ACL),可以进一步加强存储桶的安全性。此外,CloudTrail和访问日志有助于监控存储桶的访问情况。 在加密方面,大部分用例都已经通过默认的服务端加密(SSE-S3)得到了保护。然而,为了确保额外的控制,亚马逊云科技Key Management Service(KMS)密钥允许针对谁能进行加密/解密数据的策略制定。通过使用存储桶密钥,那些采用SSE-KMS加密的存储桶可以节省成本。 在访问控制方面,用户和存储桶资源的身份和访问管理(IAM)策略决定了权限。若要在不同账户之间共享数据,需要在用户和存储桶上设置IAM策略。存储桶策略可以指定允许访问的用户。此外,访问点和访问授予提供了更详细的共享控制选项。 存储桶策略还可以限制访问,通过创建一个边界来拒绝意外的访问。通过使用条件排除未获批准的网络、用户和代理调用,从而提高了安全性。总的来说,这些最佳实践有助于只与安全批准的实体共享数据。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站! [2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站") [点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯! [点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯! ## 即刻注册亚马逊云科技账户,开启云端之旅! [【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“") [【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭