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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

DynamoDB 检测性安全最佳实践

的以下最佳实践可帮助您检测潜在的安全漏洞和事故。Amazon DynamoDB

使用 AWS CloudTrail 监控 AWS 托管 KMS 密钥的使用情况

如果您使用 AWS 托管客户主密钥 (CMK) 进行静态加密,则此密钥的使用将登录到 AWS CloudTrail。CloudTrail 通过记录在您的账户上执行的操作来提供对用户活动的可见性。CloudTrail 记录有关每个操作的重要信息,包括发出请求的用户、使用的服务、执行的操作、操作的参数以及 AWS 服务返回的响应元素。此信息可帮助您跟踪对 AWS 资源的更改并排查操作问题。CloudTrail 使您能够更轻松地确保遵守内部策略和监管标准。

您可以使用 CloudTrail 审核密钥使用情况。CloudTrail 会创建日志文件,其中包含您的账户的 AWS API 调用和相关事件的历史记录。这些日志文件包含使用 AWS KMS、AWS AWS 管理控制台 和命令行工具发出的所有 SDKs API 请求,以及通过集成 AWS 服务发出的请求。您可以使用这些日志文件来获取有关使用 CMK 的时间、请求的操作、请求者的身份、发出请求的 IP 地址等信息。有关更多信息,请参阅使用 AWS 记录 AWS KMS API 调用CloudTrail和 AWS 用户指南CloudTrail。

使用 CloudTrail 监控 DynamoDB 控制层面操作

CloudTrail 通过记录在您的账户上执行的操作提供对用户活动的可见性。CloudTrail 记录有关每个操作的重要信息,包括发出请求的人员、使用的服务、执行的操作、操作的参数以及 AWS 服务返回的响应元素。此信息可帮助您跟踪对 AWS 资源的更改并排查操作问题。CloudTrail 可以更轻松地确保遵守内部策略和监管标准。

利用控制层面操作,您可以创建和管理 DynamoDB 表。它们还可让您使用依赖于表的索引、流和其他对象。

当 DynamoDB 中发生活动时,该活动将记录在 CloudTrail 事件中,并与其他 AWS 服务事件一同保存在事件历史记录中。有关更多信息,请参阅使用 AWS DynamoDB 记录 CloudTrail 操作。 您可以在您的 AWS 账户中查看、搜索和下载最新事件。有关更多信息,请参阅 用户指南CloudTrail 中的使用 事件历史记录查看事件AWS CloudTrail。

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

考虑使用 DynamoDB 流 监控修改/更新数据层面操作

AWS CloudTrail 不支持记录 DynamoDB 数据层面操作,例如 PutItem。 因此,您可能需要考虑将 Amazon DynamoDB Streams 用作环境中发生的这些事件的源。

DynamoDB 与 AWS Lambda 集成,以便您可以创建触发器 - 自动响应 DynamoDB 流 中的事件的代码片段。利用触发器,您可以创建应对 DynamoDB 表中的数据修改的应用程序。

如果您对表启用 DynamoDB 流,则可以将流 Amazon 资源名称 (ARN) 与您编写的 Lambda 函数关联。在修改表中的项目之后,表的流中都将出现一条新记录。AWS Lambda 将轮询流并在检测到新的流记录时同步调用 Lambda 函数。函数可以执行您指定的任何操作,如发送通知或启动工作流程。Lambda

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

使用 DynamoDB 监控 AWS Config 配置

使用 AWS Config,您可以持续监控和记录 AWS 资源的配置更改。AWS Config 还使您能够清点您的 AWS 资源。当检测到来自以前状态的更改时,可以发送 Amazon Simple Notification Service (Amazon SNS) 通知以供您审核并采取操作。按照使用 控制台设置 AWS Config 中的指导操作,并确保包含 DynamoDB 资源类型。

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

有关示例,请参阅 https://docs.amazonaws.cn/config/latest/developerguide/notifications-for-AWS-Config.html 中的 AWS Config 发送到 Amazon SNS 主题的通知AWS Config Developer Guide。

监控 DynamoDB 是否符合 AWS Config 规则

AWS Config 持续跟踪您的资源之间发生的配置更改。它会检查这些更改是否符合规则中的任何条件。如果某个资源违反了规则,AWS Config 会将该资源和规则标记为不合规。

通过使用 AWS Config 评估您的资源配置,您可以评估您的资源配置对内部实践、行业指南和法规的遵循情况。AWS Config 提供了 AWS 托管规则,这些规则是可自定义的预定义规则,AWS Config 使用这些规则来评估您的 AWS 资源是否符合常见的最佳实践。

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

您可以标签形式将元数据分配给您的 AWS 资源。每个标签都是一个包含客户定义的键和一个可选值的简单标签,可让您更轻松地管理、搜索和筛选资源。

通过标记,可以实施分组控件。虽然没有固有类型的标签,但它们使您能够按用途、所有者、环境或其他标准对资源进行分类。以下是一些示例:

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

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

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

有关更多信息,请参阅 AWS 标记策略为 DynamoDB 添加标记