輪換合規計畫的 RDS Custom for Oracle 憑證 - Amazon Relational Database Service

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

輪換合規計畫的 RDS Custom for Oracle 憑證

有些合規計畫需要定期變更資料庫使用者憑證,例如每 90 天變更一次。RDS Custom for Oracle 會自動輪換一些預先定義資料庫使用者的憑證。

為預先定義使用者自動輪換憑證

如果您的 RDS Custom for Oracle 資料庫執行個體託管於 Amazon RDS,則下列預先定義 Oracle 使用者的憑證會每 30 天自動輪換一次。上述使用者的憑證位於 中 AWS Secrets Manager。

資料庫使用者建立者支援的引擎版本備註

SYS

Oracle

custom-oracle-ee

custom-oracle-ee-cdb

custom-oracle-se2

custom-oracle-se2-cdb

SYSTEM

Oracle

custom-oracle-ee

custom-oracle-ee-cdb

custom-oracle-se2

custom-oracle-se2-cdb

RDSADMIN

RDS

custom-oracle-ee

custom-oracle-se2

C##RDSADMIN

RDS

custom-oracle-ee-cdb

custom-oracle-se2-cdb

具有C##字首的使用者名稱僅存在於 中CDBs。如需 的詳細資訊CDBs,請參閱 Amazon RDS Custom for Oracle 架構概觀

RDS_DATAGUARD

RDS

custom-oracle-ee

此使用者僅存在於僅供讀取複本、僅供讀取複本的來源資料庫,以及您使用 Oracle Data Guard 實際遷移至RDS自訂的資料庫。

C##RDS_DATAGUARD

RDS

custom-oracle-ee-cdb

此使用者僅存在於僅供讀取複本、僅供讀取複本的來源資料庫,以及您使用 Oracle Data Guard 實際遷移至RDS自訂的資料庫。具有C##字首的使用者名稱僅存在於 中CDBs。如需 的詳細資訊CDBs,請參閱 Amazon RDS Custom for Oracle 架構概觀

自動憑證輪換的例外是您已手動設定為待命資料庫的 RDS Custom for Oracle 資料庫執行個體。RDS 只會輪換您已使用 create-db-instance-read-replicaCLI命令或 CreateDBInstanceReadReplica 建立的僅供讀取複本的憑證API。

輪換使用者憑證的指南

為了確保您的憑證會根據合規計畫進行輪換,請注意下列事項:

  • 如果您的資料庫執行個體會自動輪換憑證,請勿手動變更或刪除預先定義 Oracle 使用者列出之使用者秘密、密碼檔案或密碼。否則,RDSCustom 可能會將您的資料庫執行個體放置在支援周邊之外,這會暫停自動輪換。

  • RDS 主要使用者未預先定義,因此您有責任手動變更密碼,或在 Secrets Manager 中設定自動輪換。如需詳細資訊,請參閱輪換 AWS Secrets Manager 秘密

手動輪換使用者憑證

對於下列類別的資料庫, RDS不會自動輪換預先定義 Oracle 使用者 中列出的使用者的憑證:

  • 您手動設定為待命資料庫的資料庫。

  • 內部部署資料庫。

  • 在支援周邊之外或處於RDS自訂自動化無法執行狀態的資料庫執行個體。在此情況下,RDS自訂也不會輪換金鑰。

若您的資料庫屬於上述任何類別,您必須手動輪換使用者憑證。

手動輪換資料庫執行個體的使用者憑證
  1. 登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/

  2. 資料庫 中,請確定 RDS 目前未備份資料庫執行個體或執行設定高可用性等操作。

  3. 在資料庫詳細資訊頁面中,選擇組態並記下資料庫執行個體的資源 ID。或者,您可以使用 AWS CLI 命令 describe-db-instances

  4. 在 開啟 Secrets Manager 主控台https://console.aws.amazon.com/secretsmanager/

  5. 在搜尋方塊中,輸入您的資料庫資源 ID,並以下列格式搜尋秘密:

    do-not-delete-rds-custom-db-resource-id-numeric-string

    此秘密會儲存 RDSADMINSYSSYSTEM 的密碼。下列範例金鑰適用於具有資料庫資源 ID db-ABCDEFG12HIJKLNMNOPQRS3TUVWX 的資料庫執行個體:

    do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-123456
    重要

    若您的資料庫執行個體是僅供讀取複本並使用 custom-oracle-ee-cdb 引擎,則會有兩個具字尾 db-resource-id-numeric-string 的秘密,一個用於主要使用者,另一個用於 RDSADMINSYSSYSTEM。若要尋找正確的秘密,請在主機執行下列命令:

    cat /opt/aws/rdscustomagent/config/database_metadata.json | python3 -c "import sys,json; print(json.load(sys.stdin)['dbMonitoringUserPassword'])"

    dbMonitoringUserPassword 屬性顯示 RDSADMINSYSSYSTEM 的秘密。

  6. 如果您的資料庫執行個體存在於 Oracle Data Guard 組態中,請使用下列格式搜尋秘密:

    do-not-delete-rds-custom-db-resource-id-numeric-string-dg

    此秘密會儲存 RDS_DATAGUARD 的密碼。下列範例金鑰適用於具有資料庫資源 ID db-ABCDEFG12HIJKLNMNOPQRS3TUVWX 的資料庫執行個體:

    do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-789012-dg
  7. 對於預先定義 Oracle 使用者 中列出的所有資料庫使用者,請依照修改 AWS Secrets Manager 秘密 中的指示更新密碼。

  8. 如果您的資料庫是獨立資料庫或 Oracle Data Guard 組態中的來源資料庫:

    1. 啟動 Oracle SQL用戶端並以 身分登入SYS

    2. 針對預先定義 Oracle 使用者 中列出的每個資料庫使用者,以下列格式執行SQL陳述式:

      ALTER USER user-name IDENTIFIED BY pwd-from-secrets-manager ACCOUNT UNLOCK;

      例如,如果 RDSADMIN 儲存在 Secrets Manager 的密碼是 pwd-123,請執行下列陳述式:

      ALTER USER RDSADMIN IDENTIFIED BY pwd-123 ACCOUNT UNLOCK;
  9. 若您的資料庫執行個體執行 Oracle 資料庫 12c 版本 1 (12.1),且由 Oracle Data Guard 管理,請手動將密碼檔案 (orapw) 從主要資料庫執行個體複製到每個待命資料庫執行個體。

    如果您的資料庫執行個體託管在 Amazon 中RDS,則密碼檔案位置為 /rdsdbdata/config/orapw。對於不在 Amazon 中託管的資料庫RDS,預設位置位於 $ORACLE_HOME/dbs/orapw$ORACLE_SID Linux UNIX和 Windows %ORACLE_HOME%\database\PWD%ORACLE_SID%.ora 上。