

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon RDS 和 進行密碼管理 AWS Secrets Manager
<a name="rds-secrets-manager"></a>

Amazon RDS 與 Secrets Manager 整合，以管理資料庫執行個體和多可用區域資料庫叢集的主要使用者密碼。

**Topics**
+ [Secrets Manager 與 Amazon RDS 整合的限制](#rds-secrets-manager-limitations)
+ [使用 管理主要使用者密碼的概觀 AWS Secrets Manager](#rds-secrets-manager-overview)
+ [使用 Secrets Manager 管理主要使用者密碼的優點](#rds-secrets-manager-benefits)
+ [Secrets Manager 整合所需的許可](#rds-secrets-manager-permissions)
+ [在 中強制執行主要使用者密碼的 RDS Aurora管理 AWS Secrets Manager](#rds-secrets-manager-auth)
+ [使用 Secrets Manager 管理資料庫執行個體的主要使用者密碼](#rds-secrets-manager-db-instance)
+ [使用 Secrets Manager 管理 RDS for Oracle 租用戶資料庫的主要使用者密碼](#rds-secrets-manager-tenant)
+ [使用 Secrets Manager 管理多可用區域資料庫叢集的主要使用者密碼](#rds-secrets-manager-db-cluster)
+ [輪換資料庫執行個體的主要使用者密碼機密](#rds-secrets-manager-rotate-db-instance)
+ [輪換多可用區域資料庫叢集的主要使用者密碼秘密](#rds-secrets-manager-rotate-db-cluster)
+ [檢視資料庫執行個體機密的詳細資訊](#rds-secrets-manager-view-db-instance)
+ [檢視多可用區域資料庫叢集秘密的詳細資訊](#rds-secrets-manager-view-db-cluster)
+ [檢視租用戶資料庫秘密的詳細資訊](#rds-secrets-manager-view-tenant)
+ [區域和版本可用性](#rds-secrets-manager-availability)

## Secrets Manager 與 Amazon RDS 整合的限制
<a name="rds-secrets-manager-limitations"></a>

下列功能不支援使用 Secrets Manager 管理主要使用者密碼：
+ 當來源資料庫或資料庫叢集使用 Secrets Manager 管理憑證時，建立僅供讀取複本。這適用於所有資料庫引擎，RDS for SQL Server 除外。
+ Amazon RDS 藍/綠部署
+ Amazon RDS Custom
+ Oracle Data Guard 切換

## 使用 管理主要使用者密碼的概觀 AWS Secrets Manager
<a name="rds-secrets-manager-overview"></a>

使用 AWS Secrets Manager時，您可以使用 API 呼叫 Secrets Manager 以程式設計方式擷取秘密，取代程式碼中的硬式編碼登入資料，包括資料庫密碼。如需 Secrets Manager 的詳細資訊，請參閱 [AWS Secrets Manager 使用者指南](https://docs.aws.amazon.com/secretsmanager/latest/userguide/)。

當您將資料庫秘密存放在 Secrets Manager 時， AWS 帳戶 會產生費用。如需關於定價的資訊，請參閱[AWS Secrets Manager 定價](https://aws.amazon.com/secrets-manager/pricing)。

當您執行下列其中一項操作時，您可以指定 RDS，在 Secrets Manager 中管理 Amazon RDS 資料庫執行個體或多可用區域資料庫叢集的主要使用者密碼：
+ 建立資料庫執行個體
+ 建立多可用區域資料庫叢集
+ 在 RDS for Oracle CDB 中建立租用戶資料庫
+ 修改資料庫執行個體
+ 修改多可用區域資料庫叢集
+ 修改租用戶資料庫 (僅限 RDS for Oracle)
+ 從 Amazon S3 還原資料庫執行個體
+ 從快照還原資料庫執行個體或還原至或時間點 (僅限 RDS for Oracle)

當您指定 RDS 在 Secrets Manager 中管理主要使用者密碼時，RDS 會產生密碼並將其存放在 Secrets Manager 中。您可以直接與機密互動，以擷取主要使用者的憑證。您也可以指定客戶受管金鑰來加密機密，或使用 Secrets Manager 提供的 KMS 金鑰。

RDS 會管理機密的設定，並依預設每七天輪換一次密碼。您可以修改某些設定，例如輪換排程。如果您刪除在 Secrets Manager 中管理密碼的資料庫執行個體，秘密及其相關聯的中繼資料也會一併刪除。

若要使用機密中的憑證連線至資料庫執行個體或多可用區域資料庫叢集，您可以從 Secrets Manager 擷取機密。如需詳細資訊，請參閱*AWS Secrets Manager 《 使用者指南*》中的[從 擷取秘密 AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html)[，並使用 AWS Secrets Manager 秘密中的登入資料連線至 SQL 資料庫](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_jdbc.html)。

## 使用 Secrets Manager 管理主要使用者密碼的優點
<a name="rds-secrets-manager-benefits"></a>

使用 Secrets Manager 管理 RDS 主要使用者密碼可提供下列優點：
+ RDS 會自動產生資料庫憑證。
+ RDS Aurora會自動在其中存放和管理資料庫登入資料 AWS Secrets Manager。
+ RDS 會定期輪換資料庫憑證，而無需變更應用程式。
+ Secrets Manager 會保護資料庫憑證免於人類存取和純文字檢視。
+ Secrets Manager 允許擷取機密中用於資料庫連線的資料庫憑證。
+ Secrets Manager 允許使用 IAM 對機密中資料庫憑證的存取進行細微控制。
+ 您可以選擇性地使用不同 KMS 金鑰將資料庫加密與憑證加密分開。
+ 您可以消除資料庫憑證的手動管理和輪換。
+ 您可以使用 AWS CloudTrail 和 Amazon CloudWatch 輕鬆監控資料庫登入資料。

如需 Secrets Manager 優點的詳細資訊，請參閱《AWS Secrets Manager 使用者指南》[https://docs.aws.amazon.com/secretsmanager/latest/userguide/](https://docs.aws.amazon.com/secretsmanager/latest/userguide/)。

## Secrets Manager 整合所需的許可
<a name="rds-secrets-manager-permissions"></a>

使用者必須具有必要的權限，才能執行與 Secrets Manager 整合相關的操作。您可以建立 IAM 政策，授與對其需要的指定資源執行特定 API 操作的許可。然後，您可以將這些政策連接至需要這些許可的 IAM 許可集或角色。如需詳細資訊，請參閱[Amazon RDS 的 Identity and access management](UsingWithRDS.IAM.md)。

對於建立、修改或還原操作，指定 Amazon RDS 在 Secrets Manager 中管理主要使用者密碼的使用者必須具有執行下列操作的許可：
+ `kms:DescribeKey`
+ `secretsmanager:CreateSecret`
+ `secretsmanager:TagResource`

需要 `kms:DescribeKey` 許可才能存取 `MasterUserSecretKmsKeyId` 的客戶受管金鑰，並描述 `aws/secretsmanager`。

對於建立、修改或還原操作，指定客戶受管金鑰以加密 Secrets Manager 中機密的使用者必須具有執行下列操作的許可：
+ `kms:Decrypt`
+ `kms:GenerateDataKey`
+ `kms:CreateGrant`

對於修改操作，在 Secrets Manager 中輪換主要使用者密碼的使用者必須具有執行下列操作的許可：
+ `secretsmanager:RotateSecret`

## 在 中強制執行主要使用者密碼的 RDS Aurora管理 AWS Secrets Manager
<a name="rds-secrets-manager-auth"></a>

您可以使用 IAM 條件金鑰，在 AWS Secrets Manager中強制執行主要使用者密碼的 RDS 管理。除非主要使用者密碼是在 Secrets Manager 中由 RDS 管理，否則下列政策不允許使用者建立或還原資料庫執行個體或資料庫叢集，或者建立或修改租用戶資料庫。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": ["rds:CreateDBInstance", "rds:CreateDBCluster", "rds:RestoreDBInstanceFromS3", "rds:RestoreDBClusterFromS3",
                       "rds:RestoreDBInstanceFromDBSnapshot", "rds:RestoreDBInstanceToPointInTime", "rds:CreateTenantDatabase",
                       "rds:ModifyTenantDatabase"],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "rds:ManageMasterUserPassword": false
                }
            }
        }
    ]
}
```

------

**注意**  
此政策會在建立 AWS Secrets Manager 時強制執行 中的密碼管理。不過，您仍然可以停用 Secrets Manager 整合，並透過修改執行個體手動設定主要密碼。  
為了防止這種情況，請在政策的動作區塊中包含 `rds:ModifyDBInstance`、`rds:ModifyDBCluster`。請注意，這可防止使用者對未啟用 Secrets Manager 整合的現有執行個體套用任何進一步的修改。

如需在 IAM 政策中使用條件金鑰的詳細資訊，請參閱 [Amazon RDS 的政策條件金鑰](security_iam_service-with-iam.md#UsingWithRDS.IAM.Conditions) 和 [範例政策：使用條件金鑰](UsingWithRDS.IAM.Conditions.Examples.md)。

## 使用 Secrets Manager 管理資料庫執行個體的主要使用者密碼
<a name="rds-secrets-manager-db-instance"></a>

執行下列動作時，您可以在 Secrets Manager 中設定主要使用者密碼的 RDS 管理：
+ [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)
+ [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)
+ [將備份還原至 Amazon RDS for MySQL 資料庫執行個體](MySQL.Procedural.Importing.md)
+ [還原至資料庫執行個體](USER_RestoreFromSnapshot.md) (僅限 RDS for Oracle)
+ [將 Amazon RDS 的資料庫執行個體還原至指定時間](USER_PIT.md) (僅限 RDS for Oracle)

您可以使用 RDS 主控台、 AWS CLI或 RDS API 執行上述操作。

### 主控台
<a name="rds-secrets-manager-db-instance-console"></a>

請遵循使用 RDS 主控台建立或修改資料庫執行個體的指示：
+ [建立資料庫執行個體](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)
+ [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)
+ [將資料從 Amazon S3 匯入新的 MySQL 資料庫執行個體](MySQL.Procedural.Importing.md#MySQL.Procedural.Importing.PerformingImport)

當使用 RDS 主控台來執行其中一項操作時，您可以指定主要使用者密碼是由 Secrets Manager 中的 RDS 管理。在建立或還原資料庫執行個體時，請在**憑證設定**中選取**在 AWS Secrets Manager中管理主要憑證**。修改資料庫執行個體時，請在 **設定**中選取**在 AWS Secrets Manager中管理主要憑證**。

以下影像是建立或還原資料庫執行個體時，**Manage master credentials in AWS Secrets Manager** (在 AWS Secrets Manager中管理主要憑證) 設定的範例。

![\[在 中管理主登入資料 AWS Secrets Manager\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/secrets-manager-credential-settings-db-instance.png)


當您選取此選項時，RDS 會產生主要使用者密碼，並在 Secrets Manager 中於整個生命週期管理該密碼。

![\[在 AWS Secrets Manager 選取的 中管理主登入資料\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-create-db-instance.png)


您可以選擇使用 Secrets Manager 提供的 KMS 金鑰，或您建立的客戶受管金鑰來加密機密。在 RDS 管理資料庫執行個體的資料庫憑證之後，您就無法變更用來加密機密的 KMS 金鑰。

您可以選擇其他設定來符合您的需求。如需您建立資料庫執行個體時可用設定的詳細資訊，請參閱 [資料庫執行個體的設定](USER_CreateDBInstance.Settings.md)。如需您修改資料庫執行個體時可用設定的詳細資訊，請參閱 [資料庫執行個體的設定](USER_ModifyInstance.Settings.md)。

### AWS CLI
<a name="rds-secrets-manager-db-instance-cli"></a>

若要在 Secrets Manager 中使用 RDS 管理主要使用者密碼，請在下列其中一個 AWS CLI 命令中指定 `--manage-master-user-password`選項：
+ [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)
+ [restore-db-instance-from-s3](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) (僅限 RDS for Oracle)
+ [restore-db-instance-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) (僅限 RDS for Oracle)

當您在這些命令中指定 `--manage-master-user-password` 選項時，RDS 會產生主要使用者密碼，並在 Secrets Manager 中於整個生命週期管理該密碼。

若要加密機密，您可以指定客戶受管金鑰或使用 Secrets Manager 提供的預設 KMS 金鑰。使用 `--master-user-secret-kms-key-id` 選項來指定客戶受管金鑰。 AWS KMS 金鑰識別符是 KMS 金鑰的金鑰 ARN、金鑰 ID、別名 ARN 或別名名稱。若要在不同的 中使用 KMS 金鑰 AWS 帳戶，請指定金鑰 ARN 或別名 ARN。在 RDS 管理資料庫執行個體的資料庫憑證之後，您就無法變更用來加密機密的 KMS 金鑰。

您可以選擇其他設定來符合您的需求。如需您建立資料庫執行個體時可用設定的詳細資訊，請參閱 [資料庫執行個體的設定](USER_CreateDBInstance.Settings.md)。如需您修改資料庫執行個體時可用設定的詳細資訊，請參閱 [資料庫執行個體的設定](USER_ModifyInstance.Settings.md)。

下列範例會建立資料庫執行個體，並指定 RDS 在 Secrets Manager 中管理主要使用者密碼。機密會使用 Secrets Manager 所提供的 KMS 金鑰進行加密。

**Example**  
針對 Linux、macOS 或 Unix：  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --engine mysql \
4.     --engine-version 8.0.39 \
5.     --db-instance-class db.r5b.large \
6.     --allocated-storage 200 \
7.     --master-username testUser \
8.     --manage-master-user-password
```
在 Windows 中：  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --engine mysql ^
4.     --engine-version 8.0.39 ^
5.     --db-instance-class db.r5b.large ^
6.     --allocated-storage 200 ^
7.     --master-username testUser ^
8.     --manage-master-user-password
```

### RDS API
<a name="rds-secrets-manager-db-instance-api"></a>

若要指定 RDS 在 Secrets Manager 中管理主要使用者密碼，請在下列其中一個 RDS API 操作中將 `ManageMasterUserPassword` 參數設為 `true`：
+ [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html)
+ [RestoreDBInstanceFromS3](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [RestoreDBInstanceFromSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromSnapshot.html) (僅限 RDS for Oracle)
+ [RestoreDBInstanceToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html) (僅限 RDS for Oracle)

當您在其中一個操作中將 `ManageMasterUserPassword` 參數設為 `true` 時，RDS 會產生主要使用者密碼，並在 Secrets Manager 中於整個生命週期管理該密碼。

若要加密機密，您可以指定客戶受管金鑰或使用 Secrets Manager 提供的預設 KMS 金鑰。使用 `MasterUserSecretKmsKeyId` 參數指定客戶受管金鑰。 AWS KMS 金鑰識別符是 KMS 金鑰的金鑰 ARN、金鑰 ID、別名 ARN 或別名名稱。若要在不同的 AWS 帳戶中使用 KMS 金鑰，請指定金鑰 ARN 或別名 ARN。在 RDS 管理資料庫執行個體的資料庫憑證之後，您就無法變更用來加密機密的 KMS 金鑰。

## 使用 Secrets Manager 管理 RDS for Oracle 租用戶資料庫的主要使用者密碼
<a name="rds-secrets-manager-tenant"></a>

執行下列動作時，您可以在 Secrets Manager 中設定主要使用者密碼的 RDS 管理：
+ [將 RDS for Oracle 租戶資料庫新增至 CDB 執行個體](oracle-cdb-configuring.adding.pdb.md)
+ [修改 RDS for Oracle 租戶資料庫](oracle-cdb-configuring.modifying.pdb.md)

您可以使用 RDS 主控台 AWS CLI、 或 RDS API 來執行上述動作。

### 主控台
<a name="rds-secrets-manager-tenant-console"></a>

請遵循使用 RDS 主控台建立或修改 RDS for Oracle 租用戶資料庫的指示：
+ [將 RDS for Oracle 租戶資料庫新增至 CDB 執行個體](oracle-cdb-configuring.adding.pdb.md)
+ [修改 RDS for Oracle 租戶資料庫](oracle-cdb-configuring.modifying.pdb.md)

當您使用 RDS 主控台來執行上述其中一項操作時，可以指定 RDS 在 Secrets Manager 中管理主要密碼。當您建立租用戶資料庫時，請在**憑證設定**中選取**在 AWS Secrets Manager中管理主要憑證**。修改租用戶資料庫時，請在 **設定**中選取**在 AWS Secrets Manager中管理主要憑證**。

以下影像是建立租用戶資料庫時，**在 AWS Secrets Manager中管理主要憑證**設定的範例。

![\[在 中管理主登入資料 AWS Secrets Manager\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/secrets-manager-credential-settings-db-instance.png)


當您選取此選項時，RDS 會產生主要使用者密碼，並在 Secrets Manager 中於整個生命週期管理該密碼。

![\[在 AWS Secrets Manager 選取的 中管理主登入資料\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-create-db-instance.png)


您可以選擇使用 Secrets Manager 提供的 KMS 金鑰，或您建立的客戶受管金鑰來加密機密。在 RDS 管理租用戶資料庫的資料庫憑證之後，您就無法變更用來加密機密的 KMS 金鑰。

您可以選擇其他設定來符合您的需求。如需當您建立租用戶資料庫時可用設定的詳細資訊，請參閱 [資料庫執行個體的設定](USER_CreateDBInstance.Settings.md)。如需當您修改租用戶資料庫時可用設定的詳細資訊，請參閱 [資料庫執行個體的設定](USER_ModifyInstance.Settings.md)。

### AWS CLI
<a name="rds-secrets-manager-db-instance-cli"></a>

若要在 Secrets Manager 中使用 RDS 管理主要使用者密碼，請在下列其中一個 AWS CLI 命令中指定 `--manage-master-user-password` 選項：
+ [create-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/create-tenant-database.html)
+ [modify-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-tenant-database.html)

當您在上述命令中指定 `--manage-master-user-password` 選項時，RDS 會產生主要使用者密碼，並在 Secrets Manager 中於整個生命週期管理該密碼。

若要加密機密，您可以指定客戶受管金鑰或使用 Secrets Manager 提供的預設 KMS 金鑰。使用 `--master-user-secret-kms-key-id` 選項來指定客戶受管金鑰。 AWS KMS 金鑰識別符是 KMS 金鑰的金鑰 ARN、金鑰 ID、別名 ARN 或別名名稱。若要在不同的 中使用 KMS 金鑰 AWS 帳戶，請指定金鑰 ARN 或別名 ARN。在 RDS 管理租用戶資料庫的資料庫憑證之後，您就無法變更用來加密機密的 KMS 金鑰。

您可以選擇其他設定來符合您的需求。如需當您建立租用戶資料庫時可用設定的詳細資訊，請參閱 [create-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/create-tenant-database.html)。如需當您修改租用戶資料庫時可用設定的詳細資訊，請參閱 [modify-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-tenant-database.html)。

下列範例會建立 RDS for Oracle 租用戶資料庫，並指定 RDS 在 Secrets Manager 中管理主要使用者密碼。機密會使用 Secrets Manager 所提供的 KMS 金鑰進行加密。

**Example**  
針對 Linux、macOS 或 Unix：  

```
1. aws rds create-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst \
3.     --tenant-db-name mypdb2 \
4.     --master-username mypdb2-admin \
5.     --character-set-name UTF-16 \
6.     --manage-master-user-password
```
在 Windows 中：  

```
1. aws rds create-tenant-database --region us-east-1 ^
2.     --db-instance-identifier my-cdb-inst ^
3.     --tenant-db-name mypdb2 ^
4.     --master-username mypdb2-admin ^
5.     --character-set-name UTF-16 ^
6.     --manage-master-user-password
```

### RDS API
<a name="rds-secrets-manager-db-instance-api"></a>

若要指定 RDS 在 Secrets Manager 中管理主要使用者密碼，請在下列其中一個 RDS API 操作中將 `ManageMasterUserPassword` 參數設為 `true`：
+ [CreateTenantDatabase](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateTenantDatabase.html)
+ [ModifyTenantDatabase](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyTenantDatabase.html)

當您在其中一個操作中將 `ManageMasterUserPassword` 參數設為 `true` 時，RDS 會產生主要使用者密碼，並在 Secrets Manager 中於整個生命週期管理該密碼。

若要加密機密，您可以指定客戶受管金鑰或使用 Secrets Manager 提供的預設 KMS 金鑰。使用 `MasterUserSecretKmsKeyId` 參數指定客戶受管金鑰。 AWS KMS 金鑰識別碼是 KMS 金鑰的金鑰 ARN、金鑰 ID、別名 ARN 或別名名稱。若要在不同的 中使用 KMS 金鑰 AWS 帳戶，請指定金鑰 ARN 或別名 ARN。在 RDS 管理租用戶資料庫的資料庫憑證之後，您就無法變更用來加密機密的 KMS 金鑰。

## 使用 Secrets Manager 管理多可用區域資料庫叢集的主要使用者密碼
<a name="rds-secrets-manager-db-cluster"></a>

執行下列動作時，您可以在 Secrets Manager 中設定主要使用者密碼的 RDS 管理：
+ [為 Amazon RDS 建立多可用區域資料庫叢集](create-multi-az-db-cluster.md)
+ [使用 Amazon RDS 修改多可用區域資料庫叢集](modify-multi-az-db-cluster.md)

您可以使用 RDS 主控台 AWS CLI、 或 RDS API 來執行這些動作。

### 主控台
<a name="rds-secrets-manager-db-cluster-console"></a>

請遵循使用 RDS 主控台建立或修改多可用區域資料庫叢集的指示：
+ [建立資料庫叢集](create-multi-az-db-cluster.md#create-multi-az-db-cluster-creating)
+ [使用 Amazon RDS 修改多可用區域資料庫叢集](modify-multi-az-db-cluster.md)

當使用 RDS 主控台來執行其中一項操作時，您可以指定主要使用者密碼是由 Secrets Manager 中的 RDS 管理。若要在建立資料庫叢集時這樣做，請在 **Credential settings** (憑證設定) 中選取 **Manage master credentials in AWS Secrets Manager** (在 AWS Secrets Manager中管理主要憑證)。修改資料庫叢集時，請在 **Settings** (設定) 中選取 **Manage master credentials in AWS Secrets Manager** (在 AWS Secrets Manager中管理主要憑證)。

以下影像是建立資料庫叢集時，**Manage master credentials in AWS Secrets Manager** (在 AWS Secrets Manager中管理主要憑證) 設定的範例。

![\[在 中管理主登入資料 AWS Secrets Manager\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/secrets-manager-credential-settings.png)


當您選取此選項時，RDS 會產生主要使用者密碼，並在 Secrets Manager 中於整個生命週期管理該密碼。

![\[在 AWS Secrets Manager 選取的 中管理主登入資料\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-create.png)


您可以選擇使用 Secrets Manager 提供的 KMS 金鑰，或您建立的客戶受管金鑰來加密機密。在 RDS 管理資料庫叢集的資料庫憑證之後，您就無法變更用來加密機密的 KMS 金鑰。

您可以選擇其他設定來符合您的需求。

如需當您建立多可用區域資料庫叢集時可用設定的詳細資訊，請參閱 [建立多可用區域資料庫叢集的設定](create-multi-az-db-cluster.md#create-multi-az-db-cluster-settings)。如需當您修改多可用區域資料庫叢集時可用設定的詳細資訊，請參閱 [修改多可用區域資料庫叢集的設定](modify-multi-az-db-cluster.md#modify-multi-az-db-cluster-settings)。

### AWS CLI
<a name="rds-secrets-manager-db-cluster-cli"></a>

若要指定 RDS 在 Secrets Manager 中管理主要使用者密碼，請在下列其中一個命令中指定 `--manage-master-user-password` 選項：
+ [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html)
+ [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html)

當您在這些命令中指定 `--manage-master-user-password` 選項時，RDS 會產生主要使用者密碼，並在 Secrets Manager 中於整個生命週期管理該密碼。

若要加密機密，您可以指定客戶受管金鑰或使用 Secrets Manager 提供的預設 KMS 金鑰。使用 `--master-user-secret-kms-key-id` 選項來指定客戶受管金鑰。 AWS KMS 金鑰識別符是 KMS 金鑰的金鑰 ARN、金鑰 ID、別名 ARN 或別名名稱。若要在不同的 中使用 KMS 金鑰 AWS 帳戶，請指定金鑰 ARN 或別名 ARN。在 RDS 管理資料庫叢集的資料庫認證之後，您無法變更用來加密機密的 KMS 金鑰。

您可以選擇其他設定來符合您的需求。

如需當您建立多可用區域資料庫叢集時可用設定的詳細資訊，請參閱 [建立多可用區域資料庫叢集的設定](create-multi-az-db-cluster.md#create-multi-az-db-cluster-settings)。如需當您修改多可用區域資料庫叢集時可用設定的詳細資訊，請參閱 [修改多可用區域資料庫叢集的設定](modify-multi-az-db-cluster.md#modify-multi-az-db-cluster-settings)。

此範例會建立多可用區域資料庫叢集，並指定 RDS 在 Secrets Manager 中管理密碼。機密會使用 Secrets Manager 所提供的 KMS 金鑰進行加密。

**Example**  
針對 Linux、macOS 或 Unix：  

```
 1. aws rds create-db-cluster \
 2.    --db-cluster-identifier mysql-multi-az-db-cluster \
 3.    --engine mysql \
 4.    --engine-version 8.0.39  \
 5.    --backup-retention-period 1  \
 6.    --allocated-storage 4000 \
 7.    --storage-type io1 \
 8.    --iops 10000 \
 9.    --db-cluster-instance-class db.r6gd.xlarge \
10.    --master-username testUser \
11.    --manage-master-user-password
```
在 Windows 中：  

```
 1. aws rds create-db-cluster ^
 2.    --db-cluster-identifier mysql-multi-az-db-cluster ^
 3.    --engine mysql ^
 4.    --engine-version 8.0.39 ^
 5.    --backup-retention-period 1 ^
 6.    --allocated-storage 4000 ^
 7.    --storage-type io1 ^
 8.    --iops 10000 ^
 9.    --db-cluster-instance-class db.r6gd.xlarge ^
10.    --master-username testUser ^
11.    --manage-master-user-password
```

### RDS API
<a name="rds-secrets-manager-db-cluster-api"></a>

若要指定 RDS 在 Secrets Manager 中管理主要使用者密碼，請在下列其中一個操作中將 `ManageMasterUserPassword` 參數設為 `true`：
+ [CreateDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html)
+ [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html)

當您在其中一個操作中將 `ManageMasterUserPassword` 參數設為 `true` 時，RDS 會產生主要使用者密碼，並在 Secrets Manager 中於整個生命週期管理該密碼。

若要加密機密，您可以指定客戶受管金鑰或使用 Secrets Manager 提供的預設 KMS 金鑰。使用 `MasterUserSecretKmsKeyId` 參數指定客戶受管金鑰。 AWS KMS 金鑰識別符是 KMS 金鑰的金鑰 ARN、金鑰 ID、別名 ARN 或別名名稱。若要在不同的 AWS 帳戶中使用 KMS 金鑰，請指定金鑰 ARN 或別名 ARN。在 RDS 管理資料庫叢集的資料庫認證之後，您無法變更用來加密機密的 KMS 金鑰。

## 輪換資料庫執行個體的主要使用者密碼機密
<a name="rds-secrets-manager-rotate-db-instance"></a>

當 RDS 輪換主要使用者密碼機密時，Secrets Manager 會針對現有機密產生新的機密版本。新版本的機密包含新的主要使用者密碼。Amazon RDS 會變更資料庫執行個體的主要使用者密碼，以符合新機密版本的密碼。

您可以立即輪換機密，而無需等待排程的輪換。若要在 Secrets Manager 中輪換主要使用者密碼機密，請修改資料庫執行個體。如需修改資料庫執行個體的相關資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

您可以使用 RDS 主控台 AWS CLI、 或 RDS API 立即輪換主要使用者密碼秘密。新密碼長度一律為 28 個字元，且至少包含一個大寫和小寫字元、一個數字和一個標點符號。

### 主控台
<a name="rds-secrets-manager-rotate-db-instance-console"></a>

若要使用 RDS 主控台輪換主要使用者密碼機密，請修改資料庫執行個體，然後在 **Settings** (設定) 中選取 **Rotate secret immediately** (立即輪換秘密)。

![\[立即輪換主使用者密碼機密\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-rotate.png)


請遵循使用 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md) 中的 RDS 主控台修改資料庫執行個體的指示。您必須在確認頁面上選擇 **Apply immediately** (立即套用)。

### AWS CLI
<a name="rds-secrets-manager-rotate-db-instance-cli"></a>

若要使用 輪換主要使用者密碼秘密 AWS CLI，請使用 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) 命令並指定 `--rotate-master-user-password`選項。您必須在輪換主要密碼時指定 `--apply-immediately` 選項。

此範例會輪換主要使用者密碼機密。

**Example**  
針對 Linux、macOS 或 Unix：  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --rotate-master-user-password \
4.     --apply-immediately
```
在 Windows 中：  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --rotate-master-user-password ^
4.     --apply-immediately
```

### RDS API
<a name="rds-secrets-manager-rotate-db-instance-api"></a>

您可以使用 [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 操作，並將 `RotateMasterUserPassword` 參數設為 `true`，來輪換主要使用者密碼機密。輪換主要密碼時，必須將 `ApplyImmediately` 參數設為 `true`。

## 輪換多可用區域資料庫叢集的主要使用者密碼秘密
<a name="rds-secrets-manager-rotate-db-cluster"></a>

當 RDS 輪換主要使用者密碼機密時，Secrets Manager 會針對現有機密產生新的機密版本。新版本的機密包含新的主要使用者密碼。Amazon RDS 會變更多可用區域資料庫叢集的主要使用者密碼，以符合新秘密版本的密碼。

您可以立即輪換機密，而無需等待排程的輪換。若要在 Secrets Manager 中輪換主要使用者密碼機密，請修改多可用區域資料庫叢集。如需修改多可用區域資料庫叢集的詳細資訊，請參閱 [使用 Amazon RDS 修改多可用區域資料庫叢集](modify-multi-az-db-cluster.md)。

您可以使用 RDS 主控台 AWS CLI、 或 RDS API 立即輪換主要使用者密碼秘密。新密碼長度一律為 28 個字元，且至少包含一個大寫和小寫字元、一個數字和一個標點符號。

### 主控台
<a name="rds-secrets-manager-rotate-db-instance-console"></a>

若要使用 RDS 主控台輪換主要使用者密碼機密，請修改多可用區域資料庫叢集，然後在 **Settings** (設定) 中選取 **Rotate secret immediately** (立即輪換機密)。

![\[立即輪換主使用者密碼機密\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-rotate-taz-cluster.png)


遵循使用 [使用 Amazon RDS 修改多可用區域資料庫叢集](modify-multi-az-db-cluster.md) 中的 RDS 主控台修改多可用區域資料庫叢集的指示。您必須在確認頁面上選擇 **Apply immediately** (立即套用)。

### AWS CLI
<a name="rds-secrets-manager-rotate-db-instance-cli"></a>

若要使用 輪換主要使用者密碼秘密 AWS CLI，請使用 [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) 命令並指定 `--rotate-master-user-password`選項。您必須在輪換主要密碼時指定 `--apply-immediately` 選項。

此範例會輪換主要使用者密碼機密。

**Example**  
針對 Linux、macOS 或 Unix：  

```
1. aws rds modify-db-cluster \
2.     --db-cluster-identifier mydbcluster \
3.     --rotate-master-user-password \
4.     --apply-immediately
```
在 Windows 中：  

```
1. aws rds modify-db-cluster ^
2.     --db-cluster-identifier mydbcluster ^
3.     --rotate-master-user-password ^
4.     --apply-immediately
```

### RDS API
<a name="rds-secrets-manager-rotate-db-instance-api"></a>

您可以使用 [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) 操作，並將 `RotateMasterUserPassword` 參數設為 `true`，來輪換主要使用者密碼機密。輪換主要密碼時，必須將 `ApplyImmediately` 參數設為 `true`。

## 檢視資料庫執行個體機密的詳細資訊
<a name="rds-secrets-manager-view-db-instance"></a>

您可以使用 主控台 ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)：//) 或 AWS CLI ([get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html) Secrets Manager 命令） 擷取秘密。

您可以使用 RDS 主控台 AWS CLI、 或 RDS API，在 Secrets Manager 中找到由 RDS 管理的秘密的 Amazon Resource Name (ARN)。

### 主控台
<a name="rds-secrets-manager-view-db-instance-console"></a>

**檢視 Secrets Manager 中由 RDS 管理之機密的詳細資訊**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇資料庫執行個體的名稱，以顯示其詳細資訊。

1. 選擇 **Configuration** (組態) 索引標籤。

   在 **Master Credentials ARN** (主要憑證 ARN) 中，您可以檢視機密 ARN。  
![\[檢視 Secrets Manager 中由 RDS 管理之機密的詳細資訊\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-view-instance.png)

   您可以遵循 **Manage in Secrets Manager** (在 Secrets Manager 中管理) 連結，在 Secret Manager 主控台中檢視和管理機密。

### AWS CLI
<a name="rds-secrets-manager-view-db-instance-cli"></a>

您可以使用 [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) RDS CLI 命令，尋找 Secrets Manager 中由 RDS 管理之機密的下列相關資訊：
+ `SecretArn` – 機密的 ARN
+ `SecretStatus` – 機密的狀態

  可能的狀態值包括下列項目：
  + `creating` – 正在建立機密。
  + `active` – 機密可供正常使用和輪換。
  + `rotating` – 正在輪換機密。
  + `impaired` – 機密可以用來存取資料庫憑證，但無法將其輪換。例如，如果變更許可，以便 RDS 再也無法取機密或秘密的 KMS 金鑰，則秘密可能會具有此狀態。

    當密碼具有此狀態時，您可以更正導致狀態的條件。如果您更正了導致狀態的條件，則狀態仍會保留 `impaired`，直到下一次輪換為止。或者，您可以修改資料庫執行個體，以關閉資料庫憑證的自動管理，然後再次修改資料庫執行個體，以開啟資料庫憑證的自動管理。若要修改資料庫執行個體，請在 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) 命令中使用 `--manage-master-user-password` 選項。
+ `KmsKeyId` – 用來加密機密之 KMS 金鑰的 ARN

指定 `--db-instance-identifier` 選項來顯示特定資料庫執行個體的輸出。此範例顯示資料庫執行個體所使用之機密的輸出。

**Example**  

```
1. aws rds describe-db-instances --db-instance-identifier mydbinstance
```
以下是機密的範例輸出：  

```
"MasterUserSecret": {
                "SecretArn": "arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!db-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx",
                "SecretStatus": "active",
                "KmsKeyId": "arn:aws:kms:eu-west-1:123456789012:key/0987dcba-09fe-87dc-65ba-ab0987654321"
            }
```

具有機密 ARN 時，您可以使用 [get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html) Secrets Manager CLI 命令，檢視機密的詳細資訊。

此範例顯示前一個範例輸出中機密的詳細資訊。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws secretsmanager get-secret-value \
    --secret-id 'arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!db-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx'
```
在 Windows 中：  

```
aws secretsmanager get-secret-value ^
    --secret-id 'arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!db-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx'
```

### RDS API
<a name="rds-secrets-manager-rotate-db-instance-api"></a>

您可以檢視 Secrets Manager 中由 RDS 管理之機密的 ARN、狀態和 KMS 金鑰，方法為使用 [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) 操作，並將 `DBInstanceIdentifier` 參數設為資料庫執行個體識別符。機密的詳細資訊包含在輸出中。

具有機密 ARN 時，您可以使用 [gGetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html) Secrets Manager 操作，檢視機密的詳細資訊。

## 檢視多可用區域資料庫叢集秘密的詳細資訊
<a name="rds-secrets-manager-view-db-cluster"></a>

您可以使用 主控台 ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)：//) 或 AWS CLI ([get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html) Secrets Manager 命令） 擷取秘密。

您可以使用 RDS 主控台 AWS CLI、 或 RDS API，在 Secrets Manager 中找到由 RDS 管理之秘密的 Amazon Resource Name (ARN)。

### 主控台
<a name="rds-secrets-manager-view-db-cluster-console"></a>

**在 Secrets Manager 中檢視由 RDS 管理之秘密的詳細資訊**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇多可用區域資料庫叢集的名稱，以顯示其詳細資訊。

1. 選擇 **Configuration** (組態) 索引標籤。

   在 **Master Credentials ARN** (主要憑證 ARN) 中，您可以檢視機密 ARN。  
![\[檢視 Secrets Manager 中由 RDS 管理之機密的詳細資訊\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/secrets-manager-integration-view-taz-cluster.png)

   您可以遵循 **Manage in Secrets Manager** (在 Secrets Manager 中管理) 連結，在 Secret Manager 主控台中檢視和管理機密。

### AWS CLI
<a name="rds-secrets-manager-view-db-instance-cli"></a>

您可以使用 RDS AWS CLI [describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html) 命令來尋找 Secrets Manager 中 RDS 所管理秘密的下列相關資訊：
+ `SecretArn` – 機密的 ARN
+ `SecretStatus` – 機密的狀態

  可能的狀態值包括下列項目：
  + `creating` – 正在建立機密。
  + `active` – 機密可供正常使用和輪換。
  + `rotating` – 正在輪換機密。
  + `impaired` – 機密可以用來存取資料庫憑證，但無法將其輪換。例如，如果變更許可，以便 RDS 再也無法取機密或秘密的 KMS 金鑰，則秘密可能會具有此狀態。

    當密碼具有此狀態時，您可以更正導致狀態的條件。如果您更正了導致狀態的條件，則狀態仍會保留 `impaired`，直到下一次輪換為止。或者，您可以修改資料庫叢集，以關閉資料庫憑證的自動管理，然後再次修改資料庫叢集，以開啟資料庫憑證的自動管理。若要修改資料庫叢集，請在 [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) 命令中使用 `--manage-master-user-password` 選項。
+ `KmsKeyId` – 用來加密機密之 KMS 金鑰的 ARN

指定 `--db-cluster-identifier` 選項來顯示特定資料庫叢集的輸出。此範例顯示資料庫叢集所使用之機密的輸出。

**Example**  

```
1. aws rds describe-db-clusters --db-cluster-identifier mydbcluster
```
下列範例顯示機密的輸出：  

```
"MasterUserSecret": {
                "SecretArn": "arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx",
                "SecretStatus": "active",
                "KmsKeyId": "arn:aws:kms:eu-west-1:123456789012:key/0987dcba-09fe-87dc-65ba-ab0987654321"
            }
```

具有機密 ARN 時，您可以使用 [get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html) Secrets Manager CLI 命令，檢視機密的詳細資訊。

此範例顯示前一個範例輸出中機密的詳細資訊。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws secretsmanager get-secret-value \
    --secret-id 'arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx'
```
在 Windows 中：  

```
aws secretsmanager get-secret-value ^
    --secret-id 'arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx'
```

### RDS API
<a name="rds-secrets-manager-rotate-db-instance-api"></a>

您可以檢視 Secrets Manager 中由 RDS 管理之機密的 ARN、狀態和 KMS 金鑰，方法為使用 [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) RDS 操作，並將 `DBClusterIdentifier` 參數設為資料庫叢集識別符。機密的詳細資訊包含在輸出中。

具有機密 ARN 時，您可以使用 [gGetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html) Secrets Manager 操作，檢視機密的詳細資訊。

## 檢視租用戶資料庫秘密的詳細資訊
<a name="rds-secrets-manager-view-tenant"></a>

您可以使用 主控台 ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)：//) 或 AWS CLI ([get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html) Secrets Manager 命令） 擷取秘密。

您可以使用 Amazon RDS AWS Secrets Manager 主控台 AWS CLI、 或 Amazon RDS API，在 中找到由 Amazon RDS 管理的秘密的 Amazon Resource Name (ARN)。

### 主控台
<a name="rds-secrets-manager-view-tenant-console"></a>

**檢視租戶資料庫在 中由 Amazon RDS 管理 AWS Secrets Manager 之秘密的詳細資訊**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇資料庫執行個體的名稱，其中包含租用戶資料庫以顯示其詳細資訊。

1. 選擇 **Configuration** (組態) 索引標籤。

   在**租用戶資料庫**區段中，尋找租用戶資料庫並檢視其**主要憑證 ARN**。

   您可以遵循 **Manage in Secrets Manager** (在 Secrets Manager 中管理) 連結，在 Secret Manager 主控台中檢視和管理機密。

### AWS CLI
<a name="rds-secrets-manager-view-tenant-cli"></a>

您可以使用 [describe-tenant-databases](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-tenant-databases.html) Amazon RDS AWS CLI 命令，尋找下列有關租用戶資料庫在 中由 Amazon RDS 管理 AWS Secrets Manager 之秘密的資訊：
+ `SecretArn` – 機密的 ARN
+ `SecretStatus` – 機密的狀態

  可能的狀態值包括下列項目：
  + `creating` – 正在建立機密。
  + `active` – 機密可供正常使用和輪換。
  + `rotating` – 正在輪換機密。
  + `impaired` – 機密可以用來存取資料庫憑證，但無法將其輪換。例如，如果變更許可，以便 Amazon RDS 再也無法取機密或秘密的 KMS 金鑰，則秘密可能會具有此狀態。

    當密碼具有此狀態時，您可以更正導致狀態的條件。如果您更正了導致狀態的條件，則狀態仍會保留 `impaired`，直到下一次輪換為止。或者，您可以修改租用戶資料庫，以關閉資料庫憑證的自動管理，然後再次修改租用戶資料庫，以開啟資料庫憑證的自動管理。若要修改租用戶資料庫，請在 [modify-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-tenant-database.html) 命令中使用 `--manage-master-user-password` 選項。
+ `KmsKeyId` – 用來加密機密之 KMS 金鑰的 ARN

指定 `--db-instance-identifier` 選項來顯示特定資料庫執行個體中租用戶資料庫的輸出。您也可以指定顯示特定租用戶資料庫輸出 `--tenant-db-name` 的選項。此範例顯示租用戶資料庫所使用之秘密的輸出。

**Example**  

```
1. aws rds describe-tenant-databases \
2.     --db-instance-identifier database-3 \
3.     --query "TenantDatabases[0].MasterUserSecret"
```
以下是機密的範例輸出：  

```
{
    "SecretArn": "arn:aws:secretsmanager:us-east-2:123456789012:secret:rds!db-ABC123",
    "SecretStatus": "active",
    "KmsKeyId": "arn:aws:kms:us-east-2:123456789012:key/aa11bb22-####-####-####-fedcba123456"
}
```

當您擁有秘密 ARN 時，您可以使用 [get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html) Secrets Manager AWS CLI 命令來檢視秘密的詳細資訊。

此範例顯示前一個範例輸出中機密的詳細資訊。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws secretsmanager get-secret-value \
    --secret-id 'arn:aws:secretsmanager:us-east-2:123456789012:secret:rds!db-ABC123'
```
在 Windows 中：  

```
aws secretsmanager get-secret-value ^
    --secret-id 'arn:aws:secretsmanager:us-east-2:123456789012:secret:rds!db-ABC123'
```

### Amazon RDS API
<a name="rds-secrets-manager-view-tenant-api"></a>

您可以使用 [DescribeTenantDatabases](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeTenantDatabases.html) 操作並將 `DBInstanceIdentifier` 參數設定為資料庫執行個體識別符， AWS Secrets Manager 來檢視 中由 Amazon RDS 管理之秘密的 ARN、狀態和 KMS 金鑰。您也可以將 `TenantDBName` 參數設定為特定租用戶資料庫名稱。機密的詳細資訊包含在輸出中。

具有機密 ARN 時，您可以使用 [gGetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html) Secrets Manager 操作，檢視機密的詳細資訊。

## 區域和版本可用性
<a name="rds-secrets-manager-availability"></a>

功能可用性和支援會因每個資料庫引擎的特定版本以及 AWS 區域而有所不同。如需 Secrets Manager 與 Amazon RDS 整合之版本和區域可用性的詳細資訊，請參閱 [Secrets Manager 與 Amazon RDS 整合的支援區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.SecretsManager.md)。