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

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 服务和资源。

有关更多信息,请参阅 适用于 Amazon DynamoDB 的 Identity and Access Management

使用 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 策略 – 通过对附加至用户、组或角色的策略使用 aws:sourceVpce 条件,可以强制对 DynamoDB 表的全部访问都通过指定的 VPC 端点。

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

考虑客户端加密

建议您在 DynamoDB 中实施表之前先制定加密策略计划。如果您要在 DynamoDB 中存储敏感或机密数据,请考虑在计划中包括客户端加密。这样,您就可以尽量靠近数据源来加密数据,确保其在整个生命周期中受到保护。加密传输中和静态敏感数据有助于确保明文数据不会提供给任何第三方。

适用于 DynamoDB 的 Amazon 数据库加密 SDK 软件库可在您将表数据发送到 DynamoDB 之前保护表数据。它对您的 DynamoDB 表项进行加密、签名、验证和解密。您可以控制对哪些属性进行加密和签名。