亚马逊AWS官方博客

使用 Amazon CloudWatch Logs 保护敏感数据

今天,我们将正式推出 Amazon CloudWatch Logs 数据保护功能。这是一套 Amazon CloudWatch Logs 的全新功能,可利用模式匹配和机器学习(ML)来检测和保护传输中的敏感日志数据。

尽管开发人员会试图阻止记录敏感信息,例如社会安全号码、信用卡详细信息、电子邮件地址和密码,但有时仍会记录这些信息。直到今天,客户仍要依靠人工调查或第三方解决方案来检测和缓解敏感信息被记录的问题。如果在摄取过程中未编辑敏感数据,则该数据将以纯文本形式显示在日志和使用这些日志的所有下游系统中。

在整个组织内实施预防措施颇具挑战性。因此,从安全性和合规性方面考虑,快速检测和阻止访问日志中的敏感数据非常重要。即日起,您可以启用 Amazon CloudWatch Logs 数据保护,以检测和屏蔽敏感的日志数据,因为这些数据已载入 CloudWatch Logs 或正在传输过程中。

想要利用本机数据保护功能的所有行业的客户都可从此功能中受益。该功能对需要确保个人信息不会被泄露并受严格监管的行业来说非常十分有用。此外,针对负责构建可能捕获个人信息和敏感信息的支付服务或身份验证服务的客户,可使用这一新功能来检测和屏蔽所记录的敏感信息。

开始使用
您可以通过 AWS 管理控制台AWS 命令行界面(CLI)AWS CloudFormation 为新的或现有的日志组启用数据保护策略。在控制台中选择任意一个日志组,然后在 Data protection(数据保护)选项卡中创建数据保护策略。

启用数据保护策略

创建策略时,可指定要保护的数据。提供 100 多个托管数据标识符以供选择,这些标识符是涵盖财务信息、健康信息和个人信息的常见敏感数据模式的存储库。此功能使您可以完全灵活地从适用于您的使用案例或地理区域的各种数据标识符中进行选择。

配置数据保护策略

您也可以启用审计报告并将其发送另一个日志Amazon Simple Storage Service (Amazon S3) 存储桶或 Amazon Kinesis Firehose。这些报告包含数据保护结果的详细日志。

如果您想监控相关情况并在检测到敏感数据时收到通知,则可针对指标 LogEventsWithFindings 创建警报。此指标可显示特定日志组中有多少结果。这使您可以快速了解哪个应用程序正在记录敏感数据。

记录敏感信息后,CloudWatch Logs 数据保护将根据您配置的策略自动将其屏蔽。该操作旨在让使用这些日志的所有下游服务都无法看到未被屏蔽的数据。在 AWS 管理控制台、AWS CLI 或任何第三方中,日志中的敏感信息将被屏蔽。

包含屏蔽数据的日志文件示例

只有在自己的 IAM policy(在用户策略中添加 logs:Unmask 操作)中拥有高级权限的用户才能在 CloudWatch Logs Insights日志流搜索中或通过 FilterLogEventsGetLogEvents API 查看未被屏蔽的数据。

您可以在 CloudWatch Logs Insights 中使用以下查询来取消屏蔽特定日志组的数据:

fields @timestamp, @message, unmask(@message)
| sort @timestamp desc
| limit 20

现已推出
数据保护已在以下区域推出:美国东部(俄亥俄州)、美国东部(弗吉尼亚州北部)、美国西部(北加利福尼亚)、美国西部(俄勒冈州)、非洲(开普敦)、亚太地区(香港)、亚太地区(雅加达)、亚太地区(孟买)、亚太地区(大阪)、亚太地区(首尔)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)、欧洲地区(伦敦)、欧洲地区(米兰)、欧洲地区(巴黎)、欧洲地区(斯德哥尔摩)、中东(巴林)和南美洲(圣保罗)AWS 区域。

Amazon CloudWatch Logs 数据保护定价基于为屏蔽而扫描的数据量。您可以查看 CloudWatch Logs 定价页面,详细了解该功能在您所在地区的定价。

如需了解更多有关数据保护的信息,请参阅 CloudWatch Logs 用户指南

Marcia