使用 Amazon RDS 和 進行密碼管理 AWS Secrets Manager - Amazon Relational Database Service

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

使用 Amazon RDS 和 進行密碼管理 AWS Secrets Manager

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

Secrets Manager 與 Amazon RDS 整合的限制

下列功能不支援使用 Secrets Manager 管理主要使用者密碼:

  • 當來源資料庫或資料庫叢集使用 Secrets Manager 管理登入資料時,建立僅供讀取複本。這適用於所有資料庫引擎,RDS for SQL Server 除外。

  • Amazon RDS 藍/綠部署

  • Amazon RDS Custom

  • Oracle Data Guard 切換

使用 管理主要使用者密碼的概觀 AWS Secrets Manager

使用 AWS Secrets Manager時,您可以使用 API 呼叫 Secrets Manager,以程式設計方式擷取秘密,取代程式碼中的硬式編碼登入資料,包括資料庫密碼。如需 Secrets Manager 的詳細資訊,請參閱 AWS Secrets Manager 使用者指南

當您將資料庫秘密存放在 Secrets Manager 時, AWS 帳戶 會產生費用。如需定價的資訊,請參閱 AWS Secrets Manager 定價

當您執行下列其中一項操作時,您可以指定 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,並使用 AWS Secrets Manager 秘密中的登入資料連線至 SQL 資料庫

使用 Secrets Manager 管理主要使用者密碼的優點

使用 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/

Secrets Manager 整合所需的許可

使用者必須具有必要的權限,才能執行與 Secrets Manager 整合相關的操作。您可以建立 IAM 政策,授與對其需要的指定資源執行特定 API 操作的許可。然後,您可以將這些政策連接至需要這些許可的 IAM 許可集或角色。如需詳細資訊,請參閱Amazon RDS 的身分和存取管理

對於建立、修改或還原操作,指定 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

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

{ "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:ModifyDBInstancerds:ModifyDBCluster。請注意,這可防止使用者對未啟用 Secrets Manager 整合的現有執行個體套用任何進一步的修改。

如需在 IAM 政策中使用條件金鑰的詳細資訊,請參閱 Amazon RDS 的政策條件索引鍵範例政策:使用條件金鑰

使用 Secrets Manager 管理資料庫執行個體的主要使用者密碼

執行下列動作時,您可以在 Secrets Manager 中設定主要使用者密碼的 RDS 管理:

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

請遵循使用 RDS 主控台建立或修改資料庫執行個體的指示:

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

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

在 中管理主登入資料 AWS Secrets Manager

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

在 AWS Secrets Manager 選取的 中管理主登入資料

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

您可以選擇其他設定來符合您的需求。如需建立資料庫執行個體時可用設定的詳細資訊,請參閱 資料庫執行個體的設定。如需修改資料庫執行個體時可用設定的詳細資訊,請參閱 資料庫執行個體的設定

若要在 Secrets Manager 中使用 RDS 管理主要使用者密碼,請在下列其中一個 AWS CLI 命令中指定 --manage-master-user-password選項:

當您在這些命令中指定 --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 金鑰。

您可以選擇其他設定來符合您的需求。如需您建立資料庫執行個體時可用設定的詳細資訊,請參閱 資料庫執行個體的設定。如需您修改資料庫執行個體時可用設定的詳細資訊,請參閱 資料庫執行個體的設定

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

對於 Linux、 macOS或 Unix:

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --engine mysql \ --engine-version 8.0.39 \ --db-instance-class db.r5b.large \ --allocated-storage 200 \ --master-username testUser \ --manage-master-user-password

在 Windows 中:

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --engine mysql ^ --engine-version 8.0.39 ^ --db-instance-class db.r5b.large ^ --allocated-storage 200 ^ --master-username testUser ^ --manage-master-user-password

若要指定 RDS 在 Secrets Manager 中管理主要使用者密碼,請在下列其中一個 RDS API 操作中將 ManageMasterUserPassword 參數設為 true

當您在其中一個操作中將 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 租用戶資料庫的主要使用者密碼

執行下列動作時,您可以在 Secrets Manager 中設定主要使用者密碼的 RDS 管理:

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

遵循使用 RDS 主控台建立或修改 RDS for Oracle 租用戶資料庫的指示:

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

下圖是當您建立租用戶資料庫時,在 設定 中管理主要登入 AWS Secrets Manager資料的範例。

在 中管理主登入資料 AWS Secrets Manager

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

在 AWS Secrets Manager 選取的 中管理主登入資料

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

您可以選擇其他設定來符合您的需求。如需建立租戶資料庫時可用設定的詳細資訊,請參閱 資料庫執行個體的設定。如需修改租戶資料庫時可用設定的詳細資訊,請參閱 資料庫執行個體的設定

若要在 Secrets Manager 中使用 RDS 管理主要使用者密碼,請在下列其中一個 AWS CLI 命令中指定 --manage-master-user-password 選項:

當您在上述命令中指定 --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。如需修改租戶資料庫時可用設定的詳細資訊,請參閱 modify-tenant-database

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

對於 Linux、 macOS或 Unix:

aws rds create-tenant-database --region us-east-1 \ --db-instance-identifier my-cdb-inst \ --tenant-db-name mypdb2 \ --master-username mypdb2-admin \ --character-set-name UTF-16 \ --manage-master-user-password

在 Windows 中:

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

若要指定 RDS 在 Secrets Manager 中管理主要使用者密碼,請在下列其中一個 RDS API 操作中將 ManageMasterUserPassword 參數設為 true

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

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

使用 Secrets Manager 管理多可用區域資料庫叢集的主要使用者密碼

執行下列動作時,您可以在 Secrets Manager 中設定主要使用者密碼的 RDS 管理:

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

請遵循使用 RDS 主控台建立或修改多可用區域資料庫叢集的指示:

當使用 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

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

在 AWS Secrets Manager 選取的 中管理主登入資料

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

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

如需當您建立多可用區域資料庫叢集時可用設定的詳細資訊,請參閱 建立多可用區域資料庫叢集的設定。如需當您修改多可用區域資料庫叢集時可用設定的詳細資訊,請參閱 修改多可用區域資料庫叢集的設定

若要指定 RDS 在 Secrets Manager 中管理主要使用者密碼,請在下列其中一個命令中指定 --manage-master-user-password 選項:

當您在這些命令中指定 --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 金鑰。

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

如需當您建立多可用區域資料庫叢集時可用設定的詳細資訊,請參閱 建立多可用區域資料庫叢集的設定。如需當您修改多可用區域資料庫叢集時可用設定的詳細資訊,請參閱 修改多可用區域資料庫叢集的設定

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

對於 Linux、 macOS或 Unix:

aws rds create-db-cluster \ --db-cluster-identifier mysql-multi-az-db-cluster \ --engine mysql \ --engine-version 8.0.39 \ --backup-retention-period 1 \ --allocated-storage 4000 \ --storage-type io1 \ --iops 10000 \ --db-cluster-instance-class db.r6gd.xlarge \ --master-username testUser \ --manage-master-user-password

在 Windows 中:

aws rds create-db-cluster ^ --db-cluster-identifier mysql-multi-az-db-cluster ^ --engine mysql ^ --engine-version 8.0.39 ^ --backup-retention-period 1 ^ --allocated-storage 4000 ^ --storage-type io1 ^ --iops 10000 ^ --db-cluster-instance-class db.r6gd.xlarge ^ --master-username testUser ^ --manage-master-user-password

若要指定 RDS 在 Secrets Manager 中管理主要使用者密碼,請在下列其中一個操作中將 ManageMasterUserPassword 參數設為 true

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

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

輪換資料庫執行個體的主要使用者密碼機密

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

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

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

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

立即輪換主使用者密碼機密

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

若要使用 輪換主要使用者密碼秘密 AWS CLI,請使用 modify-db-instance 命令並指定 --rotate-master-user-password選項。您必須在輪換主要密碼時指定 --apply-immediately 選項。

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

對於 Linux、 macOS或 Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --rotate-master-user-password \ --apply-immediately

在 Windows 中:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --rotate-master-user-password ^ --apply-immediately

您可以使用 ModifyDBInstance 操作,並將 RotateMasterUserPassword 參數設為 true,來輪換主要使用者密碼機密。輪換主要密碼時,必須將 ApplyImmediately 參數設為 true

輪換多可用區域資料庫叢集的主要使用者密碼機密

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

您可以立即輪換機密,而無需等待排程的輪換。若要在 Secrets Manager 中輪換主要使用者密碼機密,請修改多可用區域資料庫叢集。如需修改多可用區域資料庫叢集的詳細資訊,請參閱 修改 Amazon RDS 的多可用區域資料庫叢集

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

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

立即輪換主使用者密碼機密

遵循使用 修改 Amazon RDS 的多可用區域資料庫叢集 中的 RDS 主控台修改多可用區域資料庫叢集的指示。您必須在確認頁面上選擇 Apply immediately (立即套用)。

若要使用 輪換主要使用者密碼秘密 AWS CLI,請使用 modify-db-cluster 命令並指定 --rotate-master-user-password選項。您必須在輪換主要密碼時指定 --apply-immediately 選項。

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

對於 Linux、 macOS或 Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --rotate-master-user-password \ --apply-immediately

在 Windows 中:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --rotate-master-user-password ^ --apply-immediately

您可以使用 ModifyDBCluster 操作,並將 RotateMasterUserPassword 參數設為 true,來輪換主要使用者密碼機密。輪換主要密碼時,必須將 ApplyImmediately 參數設為 true

檢視資料庫執行個體機密的詳細資訊

您可以使用 主控台 (https://console.aws.amazon.com/secretsmanager/://) 或 AWS CLI (get-secret-value Secrets Manager 命令) 擷取秘密。

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

檢視 Secrets Manager 中由 RDS 管理之機密的詳細資訊
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Databases (資料庫)。

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

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

    Master Credentials ARN (主要憑證 ARN) 中,您可以檢視機密 ARN。

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

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

您可以使用 describe-db-instances RDS CLI 命令,尋找 Secrets Manager 中由 RDS 管理之機密的下列相關資訊:

  • SecretArn – 機密的 ARN

  • SecretStatus – 機密的狀態

    可能的狀態值包括下列項目:

    • creating – 正在建立機密。

    • active – 機密可供正常使用和輪換。

    • rotating – 正在輪換機密。

    • impaired – 機密可以用來存取資料庫憑證,但無法將其輪換。例如,如果變更許可,以便 RDS 再也無法取機密或秘密的 KMS 金鑰,則秘密可能會具有此狀態。

      當密碼具有此狀態時,您可以更正導致狀態的條件。如果您更正了導致狀態的條件,則狀態仍會保留 impaired,直到下一次輪換為止。或者,您可以修改資料庫執行個體,以關閉資料庫憑證的自動管理,然後再次修改資料庫執行個體,以開啟資料庫憑證的自動管理。若要修改資料庫執行個體,請在 modify-db-instance 命令中使用 --manage-master-user-password 選項。

  • KmsKeyId – 用來加密機密之 KMS 金鑰的 ARN

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

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 Secrets Manager CLI 命令,檢視機密的詳細資訊。

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

對於 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'

您可以檢視 Secrets Manager 中由 RDS 管理之機密的 ARN、狀態和 KMS 金鑰,方法為使用 DescribeDBInstances 操作,並將 DBInstanceIdentifier 參數設為資料庫執行個體識別符。機密的詳細資訊包含在輸出中。

具有機密 ARN 時,您可以使用 gGetSecretValue Secrets Manager 操作,檢視機密的詳細資訊。

檢視多可用區域資料庫叢集之機密的詳細資訊

您可以使用 主控台 (https://console.aws.amazon.com/secretsmanager/://) 或 AWS CLI (get-secret-value Secrets Manager 命令) 擷取秘密。

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

檢視 Secrets Manager 中由 RDS 管理之機密的詳細資訊
  1. 登入 AWS Management Console 並開啟位於 https://https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Databases (資料庫)。

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

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

    Master Credentials ARN (主要憑證 ARN) 中,您可以檢視機密 ARN。

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

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

您可以使用 RDS AWS CLI describe-db-clusters 命令來尋找 Secrets Manager 中 RDS 所管理秘密的下列相關資訊:

  • SecretArn – 機密的 ARN

  • SecretStatus – 機密的狀態

    可能的狀態值包括下列項目:

    • creating – 正在建立機密。

    • active – 機密可供正常使用和輪換。

    • rotating – 正在輪換機密。

    • impaired – 機密可以用來存取資料庫憑證,但無法將其輪換。例如,如果變更許可,以便 RDS 再也無法取機密或秘密的 KMS 金鑰,則秘密可能會具有此狀態。

      當密碼具有此狀態時,您可以更正導致狀態的條件。如果您更正了導致狀態的條件,則狀態仍會保留 impaired,直到下一次輪換為止。或者,您可以修改資料庫叢集,以關閉資料庫憑證的自動管理,然後再次修改資料庫叢集,以開啟資料庫憑證的自動管理。若要修改資料庫叢集,請在 modify-db-cluster 命令中使用 --manage-master-user-password 選項。

  • KmsKeyId – 用來加密機密之 KMS 金鑰的 ARN

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

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 Secrets Manager CLI 命令,檢視機密的詳細資訊。

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

對於 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'

您可以檢視 Secrets Manager 中由 RDS 管理之機密的 ARN、狀態和 KMS 金鑰,方法為使用 DescribeDBClusters RDS 操作,並將 DBClusterIdentifier 參數設為資料庫叢集識別符。機密的詳細資訊包含在輸出中。

具有機密 ARN 時,您可以使用 gGetSecretValue Secrets Manager 操作,檢視機密的詳細資訊。

檢視租戶資料庫秘密的詳細資訊

您可以使用 主控台 (https://console.aws.amazon.com/secretsmanager/://) 或 AWS CLI (get-secret-value Secrets Manager 命令) 擷取秘密。

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

檢視租戶資料庫在 中由 Amazon RDS 管理 AWS Secrets Manager 之秘密的詳細資訊
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Databases (資料庫)。

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

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

    租戶資料庫區段中,尋找租戶資料庫並檢視其主登入資料 ARN

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

您可以使用 describe-tenant-databases Amazon RDS AWS CLI 命令,尋找有關租用戶資料庫在 中由 Amazon RDS 管理之秘密 AWS Secrets Manager 的下列資訊:

  • SecretArn – 機密的 ARN

  • SecretStatus – 機密的狀態

    可能的狀態值包括下列項目:

    • creating – 正在建立機密。

    • active – 機密可供正常使用和輪換。

    • rotating – 正在輪換機密。

    • impaired – 機密可以用來存取資料庫憑證,但無法將其輪換。例如,如果變更許可,讓 Amazon RDS 無法再存取秘密或秘密的 KMS 金鑰,則秘密可能具有此狀態。

      當密碼具有此狀態時,您可以更正導致狀態的條件。如果您更正了導致狀態的條件,則狀態仍會保留 impaired,直到下一次輪換為止。或者,您可以修改租戶資料庫以關閉資料庫登入資料的自動管理,然後再次修改租戶資料庫以開啟資料庫登入資料的自動管理。若要修改租戶資料庫,請使用 modify-tenant-database 命令中的 --manage-master-user-password選項。

  • KmsKeyId – 用來加密機密之 KMS 金鑰的 ARN

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

aws rds describe-tenant-databases \ --db-instance-identifier database-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 Secrets Manager AWS CLI 命令來檢視秘密的詳細資訊。

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

對於 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'

您可以使用 DescribeTenantDatabases 操作並將 DBInstanceIdentifier 參數設定為資料庫執行個體識別符, AWS Secrets Manager 來檢視 中由 Amazon RDS 管理之秘密的 ARN、狀態和 KMS 金鑰。您也可以將 TenantDBName 參數設定為特定租用戶資料庫名稱。機密的詳細資訊包含在輸出中。

具有機密 ARN 時,您可以使用 gGetSecretValue Secrets Manager 操作,檢視機密的詳細資訊。

區域和版本可用性

功能可用性和支援會因每個資料庫引擎的特定版本以及 AWS 區域而有所不同。如需 Secrets Manager 與 Amazon RDS 整合之版本和區域可用性的詳細資訊,請參閱 Secrets Manager 與 Amazon RDS 整合的支援區域和資料庫引擎