本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
輪換 RDS Custom for Oracle 憑證以符合合規計畫
有些合規計畫需要定期變更資料庫使用者憑證,例如每 90 天變更一次。RDS Custom for Oracle 會自動輪換部分預先定義資料庫使用者的憑證。
為預先定義使用者自動輪換憑證
如果您的 RDS Custom for Oracle 資料庫執行個體是在 Amazon RDS 中託管,下列預先定義 Oracle 使用者的憑證會每 30 天自動輪換一次。先前使用者的登入資料位於 中 AWS Secrets Manager。
資料庫使用者 | 建立者 | 支援的引擎版本 | 備註 |
---|---|---|---|
|
Oracle |
custom-oracle-ee custom-oracle-ee-cdb custom-oracle-se2 custom-oracle-se2-cdb | |
|
Oracle |
custom-oracle-ee custom-oracle-ee-cdb custom-oracle-se2 custom-oracle-se2-cdb | |
|
RDS |
custom-oracle-ee custom-oracle-se2 | |
|
RDS |
custom-oracle-ee-cdb custom-oracle-se2-cdb | 字C## 首為 的使用者名稱僅存在於 CDBs中。如需有關 CDB 的詳細資訊,請參閱 Amazon RDS Custom for Oracle 架構的概觀。 |
|
RDS |
custom-oracle-ee | 此使用者僅存在於僅供讀取複本、僅供讀取複本的來源資料庫,以及您以 Oracle Data Guard 實際移轉至 RDS Custom 的資料庫。 |
|
RDS |
custom-oracle-ee-cdb | 此使用者僅存在於僅供讀取複本、僅供讀取複本的來源資料庫,以及您以 Oracle Data Guard 實際移轉至 RDS Custom 的資料庫。字C## 首為 的使用者名稱僅存在於 CDBs中。如需有關 CDB 的詳細資訊,請參閱 Amazon RDS Custom for Oracle 架構的概觀。 |
自動憑證輪換的例外狀況是您已手動設為待命資料庫的 Oracle 資料庫執行個體之 RDS Custom。RDS 只會輪換您使用 create-db-instance-read-replica
CLI 命令或 CreateDBInstanceReadReplica
API 建立的僅供讀取複本憑證。
輪換使用者憑證的指南
為了確保您的憑證會根據合規計畫進行輪換,請注意下列事項:
如果您的資料庫執行個體會自動輪換憑證,請勿手動變更或刪除預先定義 Oracle 使用者列出之使用者秘密、密碼檔案或密碼。否則,RDS Custom 可能會將您的資料庫執行個體置於支援範圍之外,從而暫停自動輪換。
RDS 主要使用者並未預先定義,因此您必須手動變更密碼或在 Secrets Manager 中設定自動輪換。如需詳細資訊,請參閱輪換 AWS Secrets Manager 秘密。
手動輪換使用者憑證
針對以下資料庫類別,RDS 不會自動輪換預先定義 Oracle 使用者列出的使用者憑證:
-
您手動設定為待命資料庫的資料庫。
-
內部部署資料庫。
-
位於支援範圍以外的資料庫執行個體,或處於 RDS Custom 自動化無法執行的狀態。在此情況下,RDS Custom 也不會輪換金鑰。
若您的資料庫屬於上述任何類別,您必須手動輪換使用者憑證。
手動輪換資料庫執行個體的使用者憑證
登入 AWS Management Console 並開啟位於 https://https://console.aws.amazon.com/rds/
的 Amazon RDS 主控台。 -
請確認資料庫中,RDS 目前未備份您的資料庫執行個體,或執行高可用性設定等操作。
-
在資料庫詳細資訊頁面中,選擇組態並記下資料庫執行個體的資源 ID。或者,您可以使用 AWS CLI 命令
describe-db-instances
。 -
前往以下位置開啟機密管理員控制台:https://console.aws.amazon.com/secretsmanager/
。 -
在搜尋方塊中,輸入資料庫的資源 ID,並使用下列任一命名慣例來搜尋秘密:
do-not-delete-rds-custom-
resource_id
-uuid
rds-custom!oracle-do-not-delete-resource_id
-uuid
此秘密會儲存
RDSADMIN
、SYS
和SYSTEM
的密碼。下列範例金鑰適用於具有資源 IDdb-ABCDEFG12HIJKLNMNOPQRS3TUVWX
和 UUID 的資料庫執行個體123456
:do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-123456 rds-custom!oracle-do-not-delete-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-123456
重要
若您的資料庫執行個體是僅供讀取複本並使用
custom-oracle-ee-cdb
引擎,則會有兩個具字尾
的秘密,一個用於主要使用者,另一個用於db-resource_id
-uuid
RDSADMIN
、SYS
和SYSTEM
。若要尋找正確的秘密,請在主機執行下列命令:cat /opt/aws/rdscustomagent/config/database_metadata.json | python3 -c "import sys,json; print(json.load(sys.stdin)['dbMonitoringUserPassword'])"
dbMonitoringUserPassword
屬性顯示RDSADMIN
、SYS
和SYSTEM
的秘密。 -
如果您的資料庫執行個體存在於 Oracle Data Guard 組態中,請使用下列任一命名慣例來搜尋秘密:
do-not-delete-rds-custom-
resource_id
-uuid
-dg rds-custom!oracle-do-not-delete-resource_id
-uuid
-dg此秘密會儲存
RDS_DATAGUARD
的密碼。下列範例金鑰適用於資料庫資源 IDdb-ABCDEFG12HIJKLNMNOPQRS3TUVWX
和 UUID 789012 的資料庫執行個體:do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-789012-dg rds-custom!oracle-do-not-delete-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-789012-dg
-
對於預先定義 Oracle 使用者中列出的所有資料庫使用者,請依照修改 AWS Secrets Manager 秘密中的指示來更新密碼。
-
如果您的資料庫是獨立資料庫或 Oracle Data Guard 組態中的來源資料庫:
-
啟動您的 Oracle SQL 用戶端並以
SYS
登入。 -
針對預先定義 Oracle 使用者列出的每個資料庫使用者,以下列格式執行 SQL 陳述式:
ALTER USER
user-name
IDENTIFIED BYpwd-from-secrets-manager
ACCOUNT UNLOCK;例如,如果
RDSADMIN
儲存在 Secrets Manager 的密碼是pwd-123
,請執行下列陳述式:ALTER USER RDSADMIN IDENTIFIED BY pwd-123 ACCOUNT UNLOCK;
-
-
若您的資料庫執行個體執行 Oracle 資料庫 12c 版本 1 (12.1),且由 Oracle Data Guard 管理,請手動將密碼檔案 (
orapw
) 從主要資料庫執行個體複製到每個待命資料庫執行個體。若您的資料庫執行個體託管在 Amazon RDS,則密碼檔案位置為
/rdsdbdata/config/orapw
。對於不在 Amazon RDS 託管的資料庫,在 Linux 和 UNIX 的預設位置是$ORACLE_HOME/dbs/orapw$ORACLE_SID
,在 Windows 的預設位置是%ORACLE_HOME%\database\PWD%ORACLE_SID%.ora
。