

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

# Oracle 透明資料加密
<a name="Appendix.Oracle.Options.AdvSecurity"></a>

Amazon RDS 支援 Oracle Transparent Data Encryption (TDE)，此為 Oracle Enterprise Edition 中所提供「Oracle 進階安全性」選項的一項功能。此功能會在資料寫入至儲存體之前自動將其加密，並在從儲存體中讀取資料時自動將其解密。此選項僅支援自帶授權 (BYOL) 模型。

TDE 在您需要加密敏感資料的情況下非常有用，以防資料檔案和備份被第三方取得。當您需要遵守安全性相關法規時，TDE 也很有用。

Oracle Database 中 TDE 的詳細說明不在本指南的討論範圍內。如需詳細資訊，請參閱下列 Oracle Database 資源：
+ Oracle Database 文件中的[透明資料加密簡介](https://docs.oracle.com/en/database/oracle/oracle-database/19/asoag/introduction-to-transparent-data-encryption.html#GUID-62AA9447-FDCD-4A4C-B563-32DE04D55952)
+ Oracle Database 文件中的 [Oracle 進階安全性](https://www.oracle.com/security/database-security/)
+ [Oracle 進階安全性透明資料加密最佳實務](https://www.oracle.com/br/a/tech/docs/technical-resources/twp-transparent-data-encryption-bestpractices.pdf)，這是 Oracle 白皮書

如需搭配 RDS for Oracle 使用 TDE 的詳細資訊，請參閱下列部落格：
+ [Amazon RDS 上的 Oracle Database 加密選項](https://aws.amazon.com/blogs/apn/oracle-database-encryption-options-on-amazon-rds/)
+ [使用 遷移啟用跨帳戶 TDE 的 Amazon RDS for Oracle 資料庫執行個體，減少停機時間 AWS DMS](https://aws.amazon.com/blogs/database/migrate-a-cross-account-tde-enabled-amazon-rds-for-oracle-db-instance-with-reduced-downtime-using-aws-dms/)

## TDE 加密模式
<a name="Appendix.Oracle.Options.AdvSecurity.Modes"></a>

「Oracle 透明資料加密」支援兩種加密模式：TDE 資料表空間加密和 TDE 欄加密。TDE 資料表空間加密用於加密全部的應用程式資料表。TDE 欄加密用於加密包含敏感性資料的個別資料元素。您也可以套用混合加密解決方案，即可同時使用 TDE 資料表空間和欄加密。

**注意**  
Amazon RDS 會管理資料庫執行個體的 Oracle 錢包和 TDE 主金鑰。您不需要使用命令 `ALTER SYSTEM set encryption key` 來設定加密金鑰。

啟用 `TDE` 選項後，您可以使用以下命令來檢查 Oracle Wallet 的狀態：

```
SELECT * FROM v$encryption_wallet;
```

若要建立加密的資料表空間，請使用下列命令：

```
CREATE TABLESPACE encrypt_ts ENCRYPTION DEFAULT STORAGE (ENCRYPT);
```

若要指定加密演算法，請使用下列命令：

```
CREATE TABLESPACE encrypt_ts ENCRYPTION USING 'AES256' DEFAULT STORAGE (ENCRYPT);
```

先前用於加密資料表空間的陳述式與您在內部部署 Oracle 資料庫上使用的陳述式相同。

## TDE 選項的限制
<a name="Appendix.Oracle.Options.Timezone.Restrictions"></a>

TDE 選項是永久且持久的。將資料庫執行個體與已啟用 TDE 選項的選項群組建立關聯之後，您就無法執行下列動作：
+ 在目前相關聯的選項群組中停用 `TDE` 選項。
+ 將您的資料庫執行個體與不包含 `TDE` 的不同選項群組建立關聯。
+ 共用使用 `TDE` 選項的資料庫快照。如需共用資料庫快照的詳細資訊，請參閱 [共用 Amazon RDS 的資料庫快照](USER_ShareSnapshot.md)。

如需持久和永久選項的詳細資訊，請參閱 [持久性與永久性選項](USER_WorkingWithOptionGroups.md#Overview.OptionGroups.Permanent)。

## 判斷資料庫執行個體是否使用 TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Querying"></a>

您可能想要判斷資料庫執行個體是否與已啟用 `TDE` 選項的選項群組相關聯。若要檢視資料庫執行個體相關聯的選項群組，請使用 RDS 主控台、 [describe-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) AWS CLI 命令或 API 操作 [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html)。

## 新增 TDE 選項
<a name="Appendix.Oracle.Options.AdvSecurity.Add"></a>

若要將 `TDE` 選項新增至資料庫執行個體，請完成下列步驟：

1. (建議) 擷取您資料庫執行個體的快照。

1. 執行以下其中一個任務：
   + 從頭開始建立新的選項群組。如需詳細資訊，請參閱[建立選項群組](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create)。
   + 使用 AWS CLI 或 API 複製現有的選項群組。如需詳細資訊，請參閱[刪除選項群組](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy)。
   + 重複使用現有的非預設選項群組。最佳實務是使用目前未與任何資料庫執行個體或快照相關聯的選項群組。

1. 將新選項新增至上一個步驟的選項群組。

1. 如果目前與資料庫執行個體相關聯的選項群組已啟用選項，請將這些選項新增至新的選項群組。此策略可防止在啟用新選項時解除安裝現有選項。

1. 將新選項群組新增至您的資料庫執行個體。

### 主控台
<a name="Appendix.Oracle.Options.TDE.Console"></a>

**將 TDE 選項新增至選項群組，並將其與您的資料庫執行個體建立關聯**

1. 在 RDS 主控台中，選擇**選項群組**。

1. 選擇您要新增選項的選項群組名稱。

1. 選擇 **Add option (新增選項)**。

1. 對於**選項名稱**，選擇 **TDE**，然後設定選項設定。

1. 選擇 **Add option (新增選項)**。
**重要**  
若您將 **TDE** 選項新增至目前連接至一或多個資料庫執行個體的選項群組，則在所有資料庫執行個體自動重新啟動時會發生短暫的中斷。

   如需新增選項的詳細資訊，請參閱[將選項新增至選項群組](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption)。

1. 將選項群組與新的或現有的資料庫執行個體建立關聯：
   + 針對新的資料庫執行個體，在啟動執行個體時套用選項群組。如需更多詳細資訊，請參閱 [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)。
   + 針對現有的資料庫執行個體，可以透過修改執行個體並附加新的選項群組來套用選項群組。資料庫執行個體不會在此操作中重新啟動。如需詳細資訊，請參閱[修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

### AWS CLI
<a name="Appendix.Oracle.Options.TDE.CLI"></a>

在下列範例中，您可以使用 AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) 命令，將 `TDE`選項新增至名為 的選項群組`myoptiongroup`。如需詳細資訊，請參閱[開始使用：Flink 1.13.2](https://docs.aws.amazon.com/managed-flink/latest/java/earlier.html#getting-started-1-13)。

對於 Linux、macOS 或 Unix：

```
aws rds add-option-to-option-group \
    --option-group-name "myoptiongroup" \
    --options "OptionName=TDE" \
    --apply-immediately
```

在 Windows 中：

```
aws rds add-option-to-option-group ^
    --option-group-name "myoptiongroup" ^
    --options "OptionName=TDE" ^
    --apply-immediately
```

## 將您的資料複製到不包含 TDE 選項的資料庫執行個體
<a name="Appendix.Oracle.Options.AdvSecurity.Remove"></a>

您無法從資料庫執行個體移除 TDE 選項，或將其與不包含 TDE 選項的選項群組建立關聯。若要將資料遷移至不包含 TDE 選項的執行個體，請執行下列操作：

1.  解密資料庫執行個體上的資料。

1.  將資料複製到未與已啟用 `TDE` 之選項群組相關聯的新資料庫執行個體。

1.  刪除您的原始資料庫執行個體。

您可以針對新執行個體，使用與上述資料庫執行個體相同的名稱。

## 搭配 Oracle Data Pump 使用 TDE 時的考量事項
<a name="Appendix.Oracle.Options.AdvSecurity.Pump"></a>

您可以使用 Oracle Data Pump 來匯入或匯出加密的傾印檔案。Amazon RDS 支援針對 Oracle Data Pump 使用密碼加密模式 `(ENCRYPTION_MODE=PASSWORD)`。Amazon RDS 不支援針對 Oracle Data Pump 使用透明加密模式 `(ENCRYPTION_MODE=TRANSPARENT)`。如需詳細資訊，請參閱[使用 Oracle Data Pump 匯入](Oracle.Procedural.Importing.DataPump.md)。