DynamoDB 探测性安全最佳实践
以下 Amazon DynamoDB 最佳实践可以帮助发现潜在安全弱点和事件。
- 利用 AWS CloudTrail 监控 AWS 托管 KMS 密钥使用
-
如果使用 AWS 托管式密钥 进行静态加密, 将此密钥的使用记录到 AWS CloudTrail 中。CloudTrail 按照帐户上执行的记录操作,显示用户活动。CloudTrail 记录有关每个操作的重要信息,包括谁发出请求、所使用的服务、执行的操作、操作的参数以及 AWS 服务返回的响应元素。这些信息有助于跟踪 AWS 资源更改,解决运营问题。利用 CloudTrail,可以更轻松确保符合内部策略和法规标准。
可以使用 CloudTrail 审计密钥使用情况。CloudTrail 创建日志文件,其中包含账户的 AWS API 调用和相关事件历史记录。这些日志文件包含通过 AWS Management Console、AWS SDK 和命令行工具,以及通过集成的 AWS 服务发出的所有 AWS KMS API 请求。可以使用这些日志文件,获取 KMS 密钥使用时间、请求的操作、请求者的身份、发出请求的 IP 地址等信息。有关更多信息,请参见用 AWS CloudTrail 记录 AWS KMS API 调用和 AWS CloudTrail 用户指南。
- 使用 CloudTrail 监控 DynamoDB 操作
-
CloudTrail 可以监控控制层面事件和数据层面事件。控制层面操作可以创建和管理 DynamoDB 表。还可以支持您使用依赖于表的索引、流和其他对象。数据层面操作支持对表的数据执行创建、读取、更新和删除(也称为 CRUD)操作。某些数据层面操作还可以从二级索引读取数据。要在 CloudTrail 中启用数据层面事件记录,需要在 CloudTrail 中启用数据层面 API 操作记录。请参见记录数据事件用于跟踪了解更多信息。
在 DynamoDB 中发生操作时,操作将与事件历史记录中的其他 AWS 服务事件一起记录在 CloudTrail 事件中。有关更多信息,请参见使用 AWS CloudTrail 记录 DynamoDB 操作。可以在 AWS 账户中查看、搜索和下载最新事件。有关更多信息,请参见 AWS CloudTrail 用户指南中的使用 CloudTrail 事件历史记录查看事件。
要持续记录 AWS 账户中的事件(包括 DynamoDB 的事件),请创建跟踪记录。通过跟踪,CloudTrail 可将日志文件传送至 Amazon Simple Storage Service (Amazon S3) 存储桶。在控制台创建跟踪时,跟踪默认应用于所有 AWS 区域。跟踪记录 AWS 分区所有区域的事件,将日志文件传送至指定的 S3 存储桶。此外,可以配置其他 AWS 服务,进一步分析和应对 CloudTrail 日志中收集的事件数据。
- 使用 DynamoDB Streams 监视数据平面操作
-
DynamoDB 集成 AWS Lambda,可以创建触发器—自动响应 DynamoDB Streams 事件的代码片段。利用触发器,可以创建应用程序,应对 DynamoDB 表的数据修改。
如果在表中启用 DynamoDB Streams,可以将流 Amazon Resource Name (ARN) 与您编写的 Lambda 函数关联起来。修改表中的项目后,表的流中立刻显示一条新记录。AWS Lambda 将轮询流,并在检测到新的流记录时同步调用 Lambda 函数。Lambda 函数可以执行指定的任何操作,例如发送通知或启动工作流。
有关示例,请参见教程:对 Amazon DynamoDB Streams 使用 AWS Lambda。此示例接收 DynamoDB 事件输入,处理其中包含的消息,将一些传入事件数据写入 Amazon CloudWatch Logs。
- 使用 AWS Config 监控 DynamoDB 配置
-
使用 AWS Config,可以持续监视和记录 AWS 资源的配置更改。还可以使用 AWS Config 盘点 AWS 资源。如果检测到以前状态更改,可以发送 Amazon Simple Notification Service (Amazon SNS) 通知,供您查看并采取措施。遵循用控制台设置 AWS Config 的指导,确保包含 DynamoDB 资源类型。
可以配置 AWS Config,将配置更改和通知流式传输到 Amazon SNS 主题。例如,更新资源时,可以通过电子邮件接收通知,查看更改。也可以在 AWS Config 针对您的资源评估自定义规则或托管规则时收到通知。
有关示例,请参阅 AWS Config 开发人员指南中的 AWS Config 发送至 Amazon SNS 主题的通知。
- 监视 DynamoDB 的 AWS Config 规则合规性
-
AWS Config 持续跟踪资源中发生的配置更改,检查这些更改是否违反规则中的任何条件。如果资源违反规则,AWS Config 将该资源和规则标记为不合规。
利用 AWS Config 评估资源配置,可以评估资源配置符合内部实践、行业指南和法规的情况。AWS Config 提供 AWS 托管规则,AWS Config 利用这些预定义、可自定义规则,评估 AWS 资源是否符合常见最佳实践。
- 标记 DynamoDB 资源以进行标识和自动化
-
可以将自己的元数据以标签形式分配给 AWS 资源。每个标签都是一个标注,包含一个客户定义的密钥和一个可选值,方便管理、搜索和筛选资源。
标签可实现分组控制。尽管没有固有类型的标签,但利用标签,可以根据用途、所有者、环境或其他条件分类资源。下面是一些示例:
-
安全性 – 用于确定加密等要求。
-
机密性 – 资源支持的特定数据机密等级的标识符。
-
环境 – 用于区分开发、测试和生产基础设施。
有关更多信息,请参阅 AWS 标签策略
和 DynamoDB 标签。 -
- 监控 Amazon DynamoDB 的使用情况,因为它与使用 AWS Security Hub 的安全最佳实践有关。
-
Security Hub 使用安全控件来评估资源配置和安全标准,以帮助您遵守各种合规框架。
有关使用 Security Hub 评估 DynamoDB 资源的更多信息,请参阅《AWS Security Hub 用户指南》中的 Amazon DynamoDB 控件。