

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

# 使用 Amazon DocumentDB 进行密码管理以及 AWS Secrets Manager
<a name="docdb-secrets-manager"></a>

Amazon DocumentDB 与 Secrets Manager 集成，可以管理集群的主用户密码。

**Topics**
+ [Secrets Manager 与 Amazon DocumentDB 集成的限制](#asm-limitations)
+ [使用管理主用户密码的概述 AWS Secrets Manager](#asm-overview)
+ [强制执行 Amazon DocumentDB 对主用户密码的管理 AWS Secrets Manager](#asm-enforce)
+ [使用 Secrets Manager 管理集群的主用户密码](#asm-managing-pw)

## Secrets Manager 与 Amazon DocumentDB 集成的限制
<a name="asm-limitations"></a>

以下功能不支持使用 Secrets Manager 管理主用户密码：
+ 属于 Amazon DocumentDB 全局数据库的集群。
+ Amazon DocumentDB 跨区域只读副本

## 使用管理主用户密码的概述 AWS Secrets Manager
<a name="asm-overview"></a>

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

当你在 Secrets Manager 中存储数据库密钥时，你的 AWS 账户会产生费用。有关定价的信息，请参阅 [AWS Secrets Manager 定价](https://aws.amazon.com/secrets-manager/pricing/)。

在执行以下操作之一时，您可以指定 Amazon DocumentDB 在 Secrets Manager 中管理 Amazon DocumentDB 集群的主用户密码：
+ 创建集群
+ 修改集群

当您指定 Amazon DocumentDB 在 Secrets Manager 中管理主用户密码时，Amazon DocumentDB 会生成密码并将其存储在 Secrets Manager 中。您可以直接与密钥交互以检索主用户的凭证。您还可以指定客户托管密钥来加密密钥，或者使用 Secrets Manager 提供的 KMS 密钥。

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

要使用密钥中的凭证连接到集群，您可以从 Secrets Manager 检索密钥。有关更多信息，请参阅《*AWS Secrets Manager 用户*指南》中的 “[使用[密钥中的凭据从 JDBC 获取](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html)AWS Secrets Manager 密钥 AWS Secrets Manager和 Connect 到 SQL 数据库](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_jdbc.html)”。

## 强制执行 Amazon DocumentDB 对主用户密码的管理 AWS Secrets Manager
<a name="asm-enforce"></a>

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

------
#### [ JSON ]

****  

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

------

## 使用 Secrets Manager 管理集群的主用户密码
<a name="asm-managing-pw"></a>

执行以下操作时，可以配置 Amazon DocumentDB 在 Secrets Manager 中管理主用户密码：
+ [创建 Amazon DocumentDB 集群](db-cluster-create.md)
+ [修改 Amazon DocumentDB 集群](db-cluster-modify.md)

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