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

DynamoDB 预防性安全最佳实践

以下最佳实践可帮助您预测和预防 Amazon DynamoDB 中的安全事件。

静态加密

DynamoDB 使用 Amazon Key Management Service (Amazon KMS) 存储的加密密钥,静态加密表、索引、流和备份中存储的所有用户数据。保护您的数据免受未经授权访问,为基础存储提供额外一层数据保护。

可以指定 DynamoDB 是否应使用 Amazon 拥有的密钥(默认加密类型)、Amazon 托管式密钥 或客户托管密钥加密用户数据。有关更多信息,请参阅 Amazon DynamoDB 静态加密

使用 IAM 角色对 DynamoDB 的访问进行身份验证

对于访问 DynamoDB 的用户、应用程序和其他 Amazon 服务,必须在 Amazon API 请求中包含有效 Amazon 凭证。不应直接在应用程序或 EC2 实例中存储 Amazon 凭证。这些长期凭证不会自动轮换,如果外泄,可能造成重大业务影响。利用 IAM 角色,可以获得临时访问密钥,用于访问 Amazon 服务和资源。

有关更多信息,请参见身份验证

使用 IAM 策略进行 DynamoDB 基本授权

授予权限时,决定谁获得权限,获得哪些 DynamoDB API 的权限,以及允许对这些资源执行的具体操作。实施最低权限对于减小安全风险以及错误或恶意意图造成的影响至关重要。

将权限策略附加到 IAM 身份(即用户、组和角色),从而授予对 DynamoDB 资源执行操作的权限。

可以通过以下方法实现:

使用 IAM 策略条件进行精细访问控制

在 DynamoDB 中授予权限时,可以指定条件,决定权限策略生效方式。实施最低权限对于减小安全风险以及错误或恶意意图造成的影响至关重要。

使用 IAM 策略授予权限时,可以指定条件。例如,可以:

  • 授予权限,允许用户只读访问表或二级索引的特定项目和属性。

  • 根据用户身份授予权限,允许用户只写访问表的特定属性。

有关更多信息,请参见使用 IAM 策略条件进行精细访问控制

使用 VPC 终端节点和策略访问 DynamoDB

如果只需从虚拟私有云 (VPC) 访问 DynamoDB,应使用 VPC 终端节点限制仅来自所需 VPC 的访问。这样可以防止流量穿越开放 Internet 并受到该环境的限制。

对 DynamoDB 使用 VPC 终端节点可以通过以下方法控制和限制访问:

  • VPC 终端节点策略 — 这些策略应用于 DynamoDB VPC 终端节点。支持控制和限制对 DynamoDB 表的 API 访问。

  • IAM 策略 — 对附加至 IAM 用户、组或角色的策略使用 aws:sourceVpce 条件,可以强制通过指定的 VPC 终端节点访问 DynamoDB 表。

有关更多信息,请参见用于 Amazon DynamoDB 的终端节点

考虑客户端加密

如果将敏感或机密数据存储在 DynamoDB 中,可能需要尽可能接近来源加密数据,以便在数据的整个生命周期内对其进行保护。加密传输中和静态敏感数据有助于确保明文数据不会提供给任何第三方。

Amazon DynamoDB Encryption Client 软件库可在发送到 DynamoDB 之前保护表数据。

负责加密、签名、验证和解密表项目的项目加密程序是 DynamoDB Encryption Client 的核心。它取得表项目信息,以及要加密和签名的项目说明,从您选择并配置的加密材料提供程序,获取加密材料和加密材料的使用说明。