DynamoDB 探测性安全最佳实践 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

DynamoDB 探测性安全最佳实践

以下 Amazon DynamoDB 最佳实践可以帮助发现潜在安全弱点和事件。

利用 Amazon CloudTrail 监控 Amazon 托管 KMS 密钥使用

如果使用 Amazon 托管式密钥 进行静态加密, 将此密钥的使用记录到 Amazon CloudTrail 中。CloudTrail 按照帐户上执行的记录操作,显示用户活动。CloudTrail 记录有关每个操作的重要信息,包括谁发出请求、所使用的服务、执行的操作、操作的参数以及 Amazon 服务返回的响应元素。这些信息有助于跟踪 Amazon 资源更改,解决运营问题。利用 CloudTrail,可以更轻松确保符合内部策略和法规标准。

可以使用 CloudTrail 审计密钥使用情况。CloudTrail 创建日志文件,其中包含账户的 Amazon API 调用和相关事件历史记录。这些日志文件包含通过 Amazon Web Services Management Console、Amazon SDK 和命令行工具,以及通过集成的 Amazon 服务发出的所有 Amazon KMS API 请求。可以使用这些日志文件,获取 KMS 密钥使用时间、请求的操作、请求者的身份、发出请求的 IP 地址等信息。有关更多信息,请参见用 Amazon CloudTrail 记录 Amazon KMS API 调用Amazon CloudTrail 用户指南

使用 CloudTrail 监控 DynamoDB 操作

CloudTrail 可以监控控制层面事件和数据层面事件。控制层面操作可以创建和管理 DynamoDB 表。还可以支持您使用依赖于表的索引、流和其他对象。数据层面操作支持对表的数据执行创建、读取、更新和删除(也称为 CRUD)操作。某些数据层面操作还可以从二级索引读取数据。要在 CloudTrail 中启用数据层面事件记录,需要在 CloudTrail 中启用数据层面 API 操作记录。请参见记录数据事件用于跟踪了解更多信息。

在 DynamoDB 中发生操作时,操作将与事件历史记录中的其他 Amazon 服务事件一起记录在 CloudTrail 事件中。有关更多信息,请参见使用 Amazon CloudTrail 记录 DynamoDB 操作。可以在 Amazon 账户中查看、搜索和下载最新事件。有关更多信息,请参见 Amazon CloudTrail 用户指南中的使用 CloudTrail 事件历史记录查看事件

要持续记录 Amazon 账户中的事件(包括 DynamoDB 的事件),请创建跟踪记录。通过跟踪,CloudTrail 可将日志文件传送至 Amazon Simple Storage Service (Amazon S3) 存储桶。在控制台创建跟踪时,跟踪默认应用于所有 Amazon 区域。跟踪记录 Amazon 分区所有区域的事件,将日志文件传送至指定的 S3 存储桶。此外,可以配置其他 Amazon 服务,进一步分析和应对 CloudTrail 日志中收集的事件数据。

使用 DynamoDB Streams 监视数据平面操作

DynamoDB 集成 Amazon Lambda,可以创建触发器—自动响应 DynamoDB Streams 事件的代码片段。利用触发器,可以创建应用程序,应对 DynamoDB 表的数据修改。

如果在表中启用 DynamoDB Streams,可以将流 Amazon Resource Name (ARN) 与您编写的 Lambda 函数关联起来。修改表中的项目后,表的流中立刻显示一条新记录。Amazon Lambda 将轮询流,并在检测到新的流记录时同步调用 Lambda 函数。Lambda 函数可以执行指定的任何操作,例如发送通知或启动工作流。

有关示例,请参见教程:对 Amazon DynamoDB Streams 使用 Amazon Lambda。此示例接收 DynamoDB 事件输入,处理其中包含的消息,将一些传入事件数据写入 Amazon CloudWatch Logs。

使用 Amazon Config 监控 DynamoDB 配置

使用 Amazon Config,可以持续监视和记录 Amazon 资源的配置更改。还可以使用 Amazon Config 盘点 Amazon 资源。如果检测到以前状态更改,可以发送 Amazon Simple Notification Service (Amazon SNS) 通知,供您查看并采取措施。遵循用控制台设置 Amazon Config 的指导,确保包含 DynamoDB 资源类型。

可以配置 Amazon Config,将配置更改和通知流式传输到 Amazon SNS 主题。例如,更新资源时,可以通过电子邮件接收通知,查看更改。也可以在 Amazon Config 针对您的资源评估自定义规则或托管规则时收到通知。

有关示例,请参阅 Amazon Config 开发人员指南中的 Amazon Config 发送至 Amazon SNS 主题的通知

监视 DynamoDB 的 Amazon Config 规则合规性

Amazon Config 持续跟踪资源中发生的配置更改,检查这些更改是否违反规则中的任何条件。如果资源违反规则,Amazon Config 将该资源和规则标记为不合规。

利用 Amazon Config 评估资源配置,可以评估资源配置符合内部实践、行业指南和法规的情况。Amazon Config 提供 Amazon 托管规则,Amazon Config 利用这些预定义、可自定义规则,评估 Amazon 资源是否符合常见最佳实践。

标记 DynamoDB 资源以进行标识和自动化

可以将自己的元数据以标签形式分配给 Amazon 资源。每个标签都是一个标注,包含一个客户定义的密钥和一个可选值,方便管理、搜索和筛选资源。

标签可实现分组控制。尽管没有固有类型的标签,但利用标签,可以根据用途、所有者、环境或其他条件分类资源。下面是一些示例:

  • 安全性 – 用于确定加密等要求。

  • 机密性 – 资源支持的特定数据机密等级的标识符。

  • 环境 – 用于区分开发、测试和生产基础设施。

有关更多信息,请参阅 Amazon 标签策略DynamoDB 标签

监控 Amazon DynamoDB 的使用情况,因为它与使用 Amazon Security Hub 的安全最佳实践有关。

Security Hub 使用安全控件来评估资源配置和安全标准,以帮助您遵守各种合规框架。

有关使用 Security Hub 评估 DynamoDB 资源的更多信息,请参阅《Amazon Security Hub 用户指南》中的 Amazon DynamoDB 控件