使用 Amazon CloudWatch Logs 数据保护对 Amazon DocumentDB
使用 Amazon CloudWatch Logs 数据保护对 Amazon DocumentDB
2026-01-27 12:39:25

使用 Amazon CloudWatch 保护 Amazon DocumentDB 日志数据

关键要点

在本文中,我们讨论了如何使用 Amazon CloudWatch 的数据保护功能,来屏蔽在 Amazon DocumentDB 日志中可能出现的个人识别信息PII。通过实现日志组数据保护策略,我们能够确保敏感信息不会被未授权用户访问信息,从而提高数据安全性。

Amazon DocumentDB与 MongoDB 兼容是一个高效、可扩展且完全托管的企业文档数据库服务,能够处理原生 JSON 工作负载。它简化了 JSON 数据的存储、查询和索引,成为文档数据库的理想选择。

Amazon DocumentDB 的 profiler 功能是监控集群中慢操作的有价值工具,帮助用户改善单个查询性能和整体集群性能。当启用该功能时,操作将被记录到 Amazon CloudWatch Logs,并可通过 CloudWatch Logs Insights 进行分析、监控和存档。

在涉及有个人识别信息如社会安全号、驾照信息、财务记录或医疗数据的数据库时,可能会在慢查询分析日志中出现这些敏感信息。为了维护数据安全,强烈建议对这些日志中的敏感信息进行屏蔽,以避免未授权人员获取。

在本篇文章中,我们讨论了如何利用 CloudWatch Logs 数据保护 功能来屏蔽 PII 数据。

解决方案概述

如下截图显示了一个包含社会安全号SSN的操作,这表示着潜在的重大风险,因为拥有 CloudWatch Logs 访问权限的人员可能会接触到这些敏感信息。

您可以通过实施 日志组数据保护政策 来检测和保护 CloudWatch Logs 中的敏感数据。通过这些政策,您可以有效地审核和屏蔽您账户中日志组所 ingest 的任何敏感数据。默认情况下,创建数据保护政策时,匹配所选数据标识符的敏感数据将在所有出口点被自动屏蔽,如 CloudWatch Logs Insights、度量过滤器和订阅过滤器。查看未屏蔽数据的权限仅限于具备 logsUnmask AWS 身份与访问管理IAM权限的用户。

下图展示了使用 CloudWatch Logs 数据保护策略对 Amazon DocumentDB profiler 日志进行敏感数据屏蔽的流程:

本文所述的解决方案包含以下任务:

识别您 Amazon DocumentDB 集群中的敏感信息。为 Amazon DocumentDB profiler 日志组创建数据保护策略。验证存储在 CloudWatch Logs 中的敏感数据。

前置条件

为了跟随示例,您可以使用现有的 Amazon DocumentDB 集群或 创建新集群。此外,您还应该 启用分析 以记录慢操作。

识别敏感信息

与您组织的数据安全团队协作,根据组织的政策确定敏感信息的分类。通常,敏感信息包括凭证、财务信息、个人健康信息PHI和个人识别信息PII。

下一步是将识别出的敏感信息映射到 CloudWatch Logs 支持的数据标识符。

CloudWatch Logs 提供了超过 100 个 托管数据标识符,同时还允许您定义自己的 自定义数据标识符,这些可以在您的数据保护策略中使用。

在本篇文章中,我们创建了一个包含两个数据标识符的数据保护政策:

SsnUS 这是一个托管数据标识符,旨在屏蔽与美国相关的 SSN 信息。Ud{6} 您可以使用该正则表达式作为自定义数据标识符,屏蔽特定于您业务的敏感唯一 ID。

为日志组创建数据保护政策

在 CloudWatch Logs 中创建数据保护政策时,您可以选择在账户级别或特定日志组创建。账户级数据保护政策适用于账户内所有现有和未来的日志组,而日志组级别的数据保护政策仅适用于特定日志组。账户级和日志组级数据保护政策可以结合使用,以支持特定用例的数据标识符。例如,您可以创建一个账户级政策来检测和保护包含姓名、信用卡和地址的日志数据。如果您有一个处理特定敏感数据形式的 Amazon DocumentDB 集群,您可以为该集群的日志组创建一个专门的数据保护政策。

下面的示例将引导您创建一个日志组级数据保护政策。如果账户级数据保护政策适合您的用例,请参考 创建账户级数据保护政策。

通过 AWS 管理控制台 创建数据保护政策,请按照以下步骤操作:

在 CloudWatch 控制台的导航窗格中,选择 Logs,然后选择 Log groups。选择您的 Amazon DocumentDB 集群日志组名称。在 Actions 菜单中,选择 Create data protection policy。

对于 Managed data identifiers,选择您要审核和屏蔽在该日志组中的数据类型在本篇文章中,我们选择 SsnUS。

使用 Amazon CloudWatch Logs 数据保护对 Amazon DocumentDB 在 Custom data identifier configuration 下,选择 Add custom data identifier。输入 Name (UniqueId) 和 Regex (Ud{6}) 的值。

选择 Amazon CloudWatch Logs 作为审核目的地,并选择一个现有的日志组。或者,您可以创建一个新日志组并选择不同的目的地选项。

选择 Activate data protection。

在本文中,我们创建了一个针对单个日志组的数据保护政策。

验证敏感数据

在执行数据保护政策后,CloudWatch 日志中的敏感数据将被屏蔽,如下截图所示。

所有自启用数据保护以来 ingested 的日志条目将其 PII 屏蔽。

此外,您还可以在售卖的 CloudWatch 指标 LogEventsWithFindings 上设置 CloudWatch 警报,以便在日志中检测到 PII 时及时接收通知。如下截图所示,该指标位于 AWS/Logs 命名空间,并按启用数据保护的日志组发布。

免费国际加速器

在创建数据保护政策时,我们选择 CloudWatch Logs 作为审核目的地。该审核日志提供有关敏感数据在日志事件中的位置、调用的托管数据标识符或自定义数据标识符,以及激活发现的数据显示保护政策的详细信息。数据保护审核日志可以传递给 CloudWatch Logs、Amazon 简单存储服务Amazon S3或 Amazon 数据火hose。有关更多信息,请参见 审核发现报告。

以下截图显示了包含两个发现SsnUS 和 UniqueId及其在日志事件中的确切数据位置的审核报告。

清理

为了避免持续产生费用,请清理您在本解决方案中创建的已不再需要的资源。您可以使用 Amazon DocumentDB 控制台或 AWS 命令行界面AWS CLI删除 Amazon DocumentDB 集群使用 deletedbcluster 命令和您创建的 CloudWatch 日志组。

结论

Profiler 日志在解决 Amazon DocumentDB 性能问题时至关重要。然而,重要的是要在 CloudWatch Logs 中屏蔽敏感数据。建议您将数据保护政策纳入 CloudWatch Logs,以确保敏感信息的安全。

如有任何问题或建议,欢迎在评论区分享。

关于作者

Karimulla Shaik 是 Amazon Web Services 专业服务团队的高级数据库架构师,帮助客户将传统的本地数据库迁移至 AWS 云。他 specializes 于数据库设计、架构和性能调优。

David Myers 是 Amazon CloudWatch 的高级技术产品经理,拥有超过 20 年的技术经验,其职业生涯始终关注可观察性。David 热衷于提升客户在 Amazon Web Services 中的可观察性体验。