本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Oracle TDE 使用 AWS CloudHSM:設定資料庫並產生主要加密金鑰
若要將 Oracle TDE 與您的 AWS CloudHSM 叢集整合,請參閱下列主題:
-
更新 Oracle 資料庫組態,使用叢集中的 HSM 做為外部安全模組。如需外部安全模組的相關資訊,請參閱 Oracle Database 進階安全指南
中的透明資料加密簡介。 -
在叢集的 HSM 上產生 Oracle TDE 主加密金鑰。
更新 Oracle 資料庫組態
若要更新 Oracle 資料庫組態來使用叢集中的 HSM 做為外部安全模組,請完成以下步驟。如需外部安全模組的相關資訊,請參閱 Oracle Database 進階安全指南
更新 Oracle 組態
-
連線到 Amazon EC2 用戶端執行個體。您已將 Oracle 資料庫安裝在此執行個體上。
-
建立名為
sqlnet.ora
之檔案的備份複本。關於此檔案的位置,請參閱 Oracle 文件。 -
使用文字編輯器來編輯名為
sqlnet.ora
的檔案。新增以下這一行。如果檔案中有一行以encryption_wallet_location
開頭,請換成以下這一行。encryption_wallet_location=(source=(method=hsm))
儲存檔案。
-
執行下列命令,以建立「Oracle 資料庫」預期在其中尋找 AWS CloudHSM PKCS #11 軟體程式庫之程式庫檔案的目錄。
sudo mkdir -p /opt/oracle/extapi/64/hsm
-
執行下列命令,將 PKCS #11 檔案的 AWS CloudHSM 軟體程式庫複製到您在上一個步驟中建立的目錄。
sudo cp /opt/cloudhsm/lib/libcloudhsm_pkcs11.so /opt/oracle/extapi/64/hsm/
注意
/opt/oracle/extapi/64/hsm
目錄必須僅包含一個程式庫檔案。移除該目錄中存在的任何其他檔案。 -
執行以下命令來變更
/opt/oracle
目錄的擁有權及其中一切設定。sudo chown -R oracle:dba /opt/oracle
-
啟動 Oracle 資料庫。
產生 Oracle TDE 主加密金鑰
若要在叢集中 HSM 上產生 Oracle TDE 主金鑰,請完成以下程序中的步驟。
產生主金鑰
-
使用下列命令開啟 Oracle SQL*Plus。當系統提示時,請輸入您安裝 Oracle 資料庫時所設定的系統密碼。
sqlplus / as sysdba
注意
對於用戶端 SDK 3,每次產生主金鑰時,都必須設定
CLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSE
環境變數。此變數僅用於產生主金鑰。如需詳細資訊,請參閱整合第三方應用程式的已知問題中的「問題:Oracle 在產生主金鑰期間設定 PCKS #11 屬性CKA_MODIFIABLE
,但 HSM 不支援此屬性」。 -
執行 SQL 陳述式來建立主加密金鑰,如下列範例所示。請使用與 Oracle 資料庫版本對應的陳述式。以加密使用者 (CU) 的使用者名稱取代
<CU 使用者名稱>
。以 CU 密碼取代<密碼>
。重要
只執行一次下列命令。每次執行此命令都會建立新的主加密金鑰。
-
若為 Oracle 資料庫第 11 版,請執行下列 SQL 陳述式。
SQL>
alter system set encryption key identified by "
<CU user name>
:<password>
"; -
若為 Oracle 資料庫第 12 版和第 19c 版,請執行下列 SQL 陳述式。
SQL>
administer key management set key identified by "
<CU user name>
:<password>
";
如果回應是
System altered
或keystore altered
,則表示您已成功產生和設定 Oracle TDE 的主金鑰。 -
-
(選用) 執行以下命令來驗證 Oracle 錢包的狀態。
SQL>
select * from v$encryption_wallet;
如果錢包未開啟,請使用下列其中一個命令來開啟。以加密使用者 (CU) 的名稱取代
<CU 使用者名稱>
。以 CU 密碼取代<密碼>
。-
若為 Oracle 11,請執行下列命令來開啟錢包。
SQL>
alter system set encryption wallet open identified by "
<CU user name>
:<password>
";若要手動關閉錢包,請執行下列命令。
SQL>
alter system set encryption wallet close identified by "
<CU user name>
:<password>
"; -
若為 Oracle 12 和 Oracle 19c,請執行下列命令來開啟錢包。
SQL>
administer key management set keystore open identified by "
<CU user name>
:<password>
";若要手動關閉錢包,請執行下列命令。
SQL>
administer key management set keystore close identified by "
<CU user name>
:<password>
";
-