使用 Amazon DocumentDB 进行密码管理以及 AWS Secrets Manager - Amazon DocumentDB

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

使用 Amazon DocumentDB 进行密码管理以及 AWS Secrets Manager

Amazon DocumentDB 与 Secrets Manager 集成,用于管理集群的主用户密码。

Secrets Manager 与亚马逊 DocumentDB 集成的限制

以下功能不支持使用 Secrets Manager 管理主用户密码:

  • 属于 Amazon DocumentDB 全球数据库的集群

  • 亚马逊 DocumentDB 跨区域只读副本

使用管理主用户密码的概述 AWS Secrets Manager

使用 AWS Secrets Manager,您可以将代码中的硬编码凭证(包括数据库密码)替换为对 Secrets Manager 的 API 调用,以编程方式检索密钥。有关 Secrets Manager 的更多信息,请参阅《AWS Secrets Manager 用户指南》https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html

当你在 Secrets Manager 中存储数据库密钥时,你的 AWS 账户会产生费用。有关定价的信息,请参阅 AWS Secrets Manager 定价

执行以下操作之一时,您可以指定 Amazon DocumentDB 在 Secrets Manager 中管理亚马逊文档数据库集群的主用户密码:

  • 创建集群

  • 修改集群

当你在 Secrets Manager 中指定由亚马逊文档数据库管理主用户密码时,Amazon DocumentDB 会生成密码并将其存储在 Secrets Manager 中。您可以直接与密钥交互以检索主用户的证书。您还可以指定客户托管密钥来加密密钥,或者使用 Secrets Manager 提供的 KMS 密钥。

默认情况下,Amazon DocumentDB 管理密钥的设置,并且每七天轮换一次密钥。您可以修改某些设置,例如轮换计划。如果您在 Secrets Manager 中删除管理密钥的集群,则该密钥及其关联的元数据也会被删除。

要使用密钥中的凭据连接到集群,您可以从 Secrets Manager 中检索密钥。有关更多信息,请参阅《AWS Secrets Manager 用户指南》中的 “使用密钥中的凭据从 JDBC 获取AWS Secrets Manager 密钥 AWS Secrets Manager和 Connect 到 SQL 数据库”。

强制执行 Amazon DocumentDB 对主用户密码的管理 AWS Secrets Manager

您可以使用 IAM 条件密钥强制执行 Amazon DocumentDB 对中的主用户密码的管理。 AWS Secrets Manager除非主用户密码由 Amazon DocumentDB 在 Secrets Manager 中管理,否则以下策略不允许用户创建或恢复实例或集群。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "rds:CreateDBCluster" ], "Resource": "*", "Condition": { "Bool": { "rds:ManageMasterUserPassword": false } } } ] }

使用 Secrets Manager 管理集群的主用户密码

执行以下操作时,您可以在 Secrets Manager 中配置 Amazon DocumentDB 对主用户密码的管理:

您可以使用亚马逊 DocumentDB 控制台或 AWS CLI 来执行这些操作。