

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

# 搭配 使用 SSL AWS Database Migration Service
<a name="CHAP_Security.SSL"></a>

您可以使用 Secure Sockets Layer (SSL)，為來源和目標端點的連線進行加密。若要這麼做，您可以使用 AWS DMS 管理主控台或 AWS DMS API 將憑證指派給端點。您也可以使用 AWS DMS 主控台來管理您的憑證。

並非所有資料庫都以相同的方式使用 SSL。Amazon Aurora 與 MySQL 相容版本使用伺服器名稱 (叢集中主要執行個體的端點) 作為 SSL 的端點。Amazon Redshift 端點已使用 SSL 連線，因此不需要 AWS DMS設定的 SSL 連線。Oracle 端點需要額外的步驟；如需詳細資訊，請參閱 [Oracle 端點的 SSL 支援](CHAP_Source.Oracle.md#CHAP_Security.SSL.Oracle)。

**Topics**
+ [搭配 使用 SSL 的限制 AWS DMS](#CHAP_Security.SSL.Limitations)
+ [管理憑證](#CHAP_Security.SSL.ManagingCerts)
+ [為 MySQL 相容、PostgreSQL 或 SQL Server 端點啟用 SSL](#CHAP_Security.SSL.Procedure)

若要建立安全連線，請提供根憑證或中繼 CA 憑證的鏈，這些憑證會導向根憑證 （做為憑證套件），用來在端點簽署伺服器的 SSL 憑證。只接受 PEM 格式的 X509 檔案做為憑證。當您匯入憑證時，您會收到 Amazon Resource Name (ARN)，以供您用來為端點指定該憑證。若是使用 Amazon RDS，您可以下載由 Amazon RDS 託管之 `rds-combined-ca-bundle.pem` 檔案所提供的根 CA 和憑證套件。如需下載此檔案的相關資訊，請參閱《Amazon RDS 使用者指南》**中的[使用 SSL/TLS 加密與資料庫執行個體的連線](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)。

您可以從數個 SSL 模式中，選擇要用於 SSL 憑證驗證的模式。
+ **無** – 不加密連線。此選項並不安全，但所需成本較低。
+ **需要** – 已使用 SSL (TLS) 加密連線，但不會進行 CA 驗證。此選項較安全，而且所需成本較高。
+ **verify-ca** – 已加密連線。此選項較安全，而且所需成本較高。此選項會驗證伺服器憑證。
+ **verify-full** – 已加密連線。此選項較安全，而且所需成本較高。此選項會驗證伺服器憑證，並驗證伺服器主機名稱是否符合憑證的主機名稱屬性。

並非所有 SSL 模式都適用於所有資料庫端點。下表顯示每個資料庫引擎支援的 SSL 模式。


|  資料庫引擎  |  **無**  |  **require**  |  **verify-ca**  |  **verify-full**  | 
| --- | --- | --- | --- | --- | 
|  MySQL/MariaDB/Amazon Aurora MySQL  | 預設 | 不支援 | 支援 | 支援 | 
|  Microsoft SQL Server  | 預設 | 支援 | 不支援 | 支援 | 
|  PostgreSQL  | 預設 | 支援 | 支援 | 支援 | 
|  Amazon Redshift  | 預設 | 未啟用 SSL | 未啟用 SSL | 未啟用 SSL | 
|  Oracle  | 預設 | 不支援 | 支援 | 不支援 | 
|  SAP ASE  | 預設 | 未啟用 SSL | 未啟用 SSL | 支援 | 
|  MongoDB  | 預設 | 支援 | 不支援 | 支援 | 
|  Db2 LUW  | 預設 | 不支援 | 支援 | 不支援 | 
|  適用於 z/OS 的 Db2  | 預設 | 不支援 | 支援 | 不支援 | 

**注意**  
DMS 主控台或 API 上的 SSL 模式選項不適用於某些資料串流和 NoSQL 服務，例如 Kinesis 和 DynamoDB。依預設，其是安全的，因此 DMS 會顯示 SSL 模式設定等於無 (**SSL 模式=無**)。您無需為端點提供任何其他組態即可使用 SSL。例如，使用 Kinesis 作為目標端點時，預設情況下其是安全的。對 Kinesis 的所有 API 呼叫都使用 SSL，因此 DMS 端點中不需要額外的 SSL 選項。您可以使用 HTTPS 通訊協定 (DMS 在連線到 Kinesis Data Stream 時預設使用的通訊協定)，透過 SSL 端點安全地放置和擷取資料。

## 搭配 使用 SSL 的限制 AWS DMS
<a name="CHAP_Security.SSL.Limitations"></a>

以下是搭配 使用 SSL 的限制 AWS DMS：
+ 不支援與 Amazon Redshift 目標端點的 SSL 連線。 AWS DMS 會使用 Amazon S3 儲存貯體將資料傳輸到 Amazon Redshift 資料庫。Amazon Redshift 預設會加密此傳輸。
+ 使用啟用 SSL 的 Oracle 端點執行變更資料擷取 (CDC) 任務時，可能會發生 SQL 逾時。如果您發生 CDC 計數器未反映預期數值的問題，請從任務設定的 `ChangeProcessingTuning` 區段，將 `MinimumTransactionSize` 參數設為較低的值。您可以從低至 100 的值開始。如需 `MinimumTransactionSize` 參數的詳細資訊，請參閱 [變更處理調校設定](CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.md)。
+ 您只能以 .pem 和 .sso (Oracle 錢包) 格式匯入憑證。
+ 在某些情況下，您的伺服器 SSL 憑證可能由中繼憑證授權單位 (CA) 簽署。若是如此，請務必以單一 .PEM 檔案匯入從中繼 CA 到根 CA 的整個憑證鏈結。
+ 如果您在伺服器上使用自簽憑證，請選擇 **require** 做為您的 SSL 模式。**require** SSL 模式會隱含信任伺服器的 SSL 憑證，而不會嘗試驗證憑證是否已經過 CA 簽署。
+ AWS DMS 不支援 MySQL 和 MariaDb 端點的 TLS 1.3 版。

## 管理憑證
<a name="CHAP_Security.SSL.ManagingCerts"></a>

您可以使用 DMS 主控台來檢視和管理 SSL 憑證。您也可以使用 DMS 主控台來匯入憑證。

![\[AWS Database Migration Service SSL 憑證管理\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-certificatemgr.png)


## 為 MySQL 相容、PostgreSQL 或 SQL Server 端點啟用 SSL
<a name="CHAP_Security.SSL.Procedure"></a>

您可以新增新建立端點或現有端點的 SSL 連線。

**使用 SSL 建立 AWS DMS 端點**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) 開啟 AWS DMS 主控台。

   如果您以 AWS Identity and Access Management (IAM) 使用者身分登入，請確定您具有適當的存取許可 AWS DMS。如需資料庫移轉所需許可的詳細資訊，請參閱[使用 所需的 IAM 許可 AWS DMS](security-iam.md#CHAP_Security.IAMPermissions)。

1. 在導覽窗格中，選擇 **Certificates (憑證)**。

1. 選擇 **Import Certificate (匯入憑證)**。

1. 上傳您要用於加密端點連線的憑證。
**注意**  
您也可以在建立或修改端點時使用 AWS DMS 主控台上傳憑證，方法是在**建立資料庫端點**頁面上選取**新增 CA 憑證**。  
對於作為目標的 Aurora Serverless，請取得[將 TLS/SSL 與 Aurora Serverless 搭配使用](https://docs.aws.amazon.com//AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.tls)中提到的憑證。

1. 建立端點，如[步驟 2：指定來源與目標端點](CHAP_GettingStarted.Replication.md#CHAP_GettingStarted.Replication.Endpoints)中所述

**若要修改現有 AWS DMS 端點以使用 SSL**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) 開啟 AWS DMS 主控台。

   如果您以 IAM 使用者身分登入，請確認您具備適當的許可來存取 AWS DMS。如需資料庫移轉所需許可的詳細資訊，請參閱[使用 所需的 IAM 許可 AWS DMS](security-iam.md#CHAP_Security.IAMPermissions)。

1. 在導覽窗格中，選擇 **Certificates (憑證)**。

1. 選擇 **Import Certificate (匯入憑證)**。

1. 上傳您要用於加密端點連線的憑證。
**注意**  
您也可以在建立資料庫端點頁面上選取新增 CA 憑證，以在建立或修改**端點**時使用 AWS DMS 主控台上傳憑證。 ****

1. 在導覽窗格中，選擇 **Endpoints (端點)**，選取您要修改的端點，然後選擇 **Modify (修改)**。

1. 為 **SSL 模式**選擇一個值。

   如果您選擇 **verify-ca** 或 **verify-full** 模式，您必須指定要用於 **CA certificate (CA 憑證)** 憑證，如下所示。  
![\[AWS Database Migration Service SSL 憑證管理\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-certificate2.png)

   

1. 選擇 **Modify** (修改)。

1. 修改端點之後，請選取端點，然後選取 **Test connection (測試連線)** 以判斷 SSL 連線是否正常運作。

在您建立來源和目標端點之後，請建立使用這些端點的任務。如需建立任務的詳細資訊，請參閱 [步驟 3：建立任務並遷移資料](CHAP_GettingStarted.Replication.md#CHAP_GettingStarted.Replication.Tasks)。