

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

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

# 設定連線的安全選項
<a name="connecting-ssl-support"></a>

Amazon Redshift 支援 Secure Sockets Layer (SSL) 連線，可將資料和伺服器憑證加密，以驗證用戶端所連線的伺服器憑證。

## SSL
<a name="connect-using-ssl"></a>

為了支援 SSL 連線，Amazon Redshift 會在每一個叢集上建立並安裝 [AWS Certificate Manager (ACM)](https://aws.amazon.com/certificate-manager/) 發行的 SSL 憑證。ACM 憑證受到大多數作業系統、網頁瀏覽器和用戶端公開信任。如果 SQL 用戶端或應用程式在 `sslmode` 連線選項設為 `require`、`verify-ca` 或 `verify-full` 的情況下，使用 SSL 連線到 Amazon Redshift，您可能需要下載憑證套件。如果用戶端需要憑證，Amazon Redshift 會提供如下的憑證套件：
+ 從 [https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt](https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt) 下載套件。
  + 預期的 MD5 檢查總和碼為 418dea9b6d5d5de7a8f1ac42e164cdcf。
  + sha256 檢查總和碼為 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550。

  請勿使用位於 `https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt` 的先前憑證套件。
+  在中國 AWS 區域，請從 https：//[https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt) 下載套件。
  + 預期的 MD5 檢查總和碼為 418dea9b6d5d5de7a8f1ac42e164cdcf。
  + sha256 檢查總和碼為 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550。

  請勿使用位於 `https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/redshift-ca-bundle.crt` 和 `https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem` 的先前憑證套件。

**重要**  
Amazon Redshift 已變更 SSL 憑證的管理方式。您可能需要更新目前的信任根 CA 憑證，才能繼續使用 SSL 連線到叢集。如需詳細資訊，請參閱[將 SSL 連線轉換為使用 ACM 憑證](connecting-transitioning-to-acm-certs.md)。

根據預設，不論連線是否使用 SSL，叢集資料庫都接受連線。若要將叢集設為需要 SSL 連線，請在與叢集相關聯的參數群組中，將 `require_SSL` 參數設為 `true`。

Amazon Redshift 支援符合美國聯邦資訊處理標準 (FIPS) 140-2 的 SSL 模式。符合 FIPS 的 SSL 模式預設為停用。

**重要**  
只在系統需要符合 FIPS 時啟用與 FIPS 相容的 SSL 模式。

若要啟用與 FIPS 相容的 SSL 模式，請在與 Amazon Redshift 叢集或 Redshift Serverless 工作群組相關聯的參數群組中，將 `use_fips_ssl` 參數和 `require_SSL` 參數都設為 `true`。如需修改叢集上參數群組的相關資訊，請參閱 [Amazon Redshift 參數群組](working-with-parameter-groups.md)。如需修改工作群組上參數群組的相關資訊，請參閱 [設定與 FIPS 相容的 Amazon Redshift Serverless SSL 連線](serverless-connecting.md#serverless_secure-fips-ssl)。

 Amazon Redshift 支援 Elliptic Curve Diffie—Hellman Ephemeral (ECDHE) 金鑰協議通訊協定。使用 ECDHE 時，用戶端和伺服器各有橢圓曲線公有-私有金鑰對，用於透過不安全通道建立共用秘密。您不需要在 Amazon Redshift 中設定任何項目來啟用 ECDHE。如果您從 SQL 用戶端工具連線，而此工具使用 ECDHE 來加密用戶端和伺服器之間的通訊，Amazon Redshift 會使用提供的密碼清單來建立適當的連線。如需詳細資訊，請參閱 Wikipedia 上的 [Elliptic curve diffie—hellman](https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman) 和 OpenSSL 網站上的 [Ciphers](https://www.openssl.org/)。

## ODBC 中的 SSL 和信任 CA 憑證
<a name="connecting-ssl-support-odbc"></a>

如果您使用最新的 Amazon Redshift ODBC 驅動程式 (1.3.7.1000 版或更新版本) 來連接，則可略過本節。若要下載最新的驅動程式，請參閱[設定 Amazon Redshift ODBC 驅動程式 2.x 版連線](odbc20-install.md)。

您可能需要更新目前的信任根 CA 憑證，才能繼續使用 SSL 連線到叢集。如需詳細資訊，請參閱[SSL](#connect-using-ssl)。

您可以驗證您下載的憑證是否符合預期的 MD5 檢查總和碼。若要執行此動作，您可以在 Linux 作業系統上使用 Md5sum 程式，或在 Windows 和 macOS X 作業系統上使用其他工具。

 ODBC DSN 包含 `sslmode` 設定，可決定如何處理用戶端連線和伺服器憑證驗證的加密。Amazon Redshift 支援來自用戶端連線的下列 `sslmode` 值：
+ `disable`

  停用 SSL，不加密連線。
+ `allow`

  如果伺服器需要，就使用 SSL。
+ `prefer`

  如果伺服器支援，就使用 SSL。Amazon Redshift 支援 SSL，因此當您將 `sslmode` 設定為 `prefer` 時，系統會使用 SSL。
+ `require`

  需要 SSL。
+ `verify-ca`

  必須使用 SSL 且必須驗證伺服器憑證。
+ `verify-full`

  必須使用 SSL。必須驗證伺服器憑證，且伺服器主機名稱必須符合憑證上的主機名稱屬性。

您可以判斷用戶端和伺服器之間的連線是否使用 SSL 及是否驗證伺服器憑證。若要執行此作業，您需要在用戶端檢閱 ODBC DSN 的 `sslmode` 設定，並在伺服器上檢閱 Amazon Redshift 叢集的 `require_SSL` 設定。下表描述各種用戶端和伺服器設定組合的加密結果：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/redshift/latest/mgmt/connecting-ssl-support.html)

### 在 Microsoft Windows 上搭配 ODBC 使用伺服器憑證進行連線
<a name="connecting-ssl-support-odbc-with-cert"></a>

 如果您想要使用 SSL 和伺服器憑證連線到叢集，請先將憑證下載到用戶端電腦或 Amazon EC2 執行個體。然後，設定 ODBC DSN。

1.  將 Amazon Redshift 憑證授權機構套件下載到用戶端電腦驅動程式安裝目錄中的 `lib` 資料夾，並將檔案儲存為 `root.crt`。如需下載資訊，請參閱 [SSL](#connect-using-ssl)。

1.  開啟 **ODBC 資料來源管理員**，然後新增或編輯 ODBC 連線的系統 DSN 項目。在 **SSL 模式**中，選取 `verify-full` (除非您使用 DNS 別名)。如果您使用 DNS 別名，請選取 `verify-ca`。然後選擇 **Save** (儲存)。

    如需設定 ODBC DSN 的相關資訊，請參閱[設定 Amazon Redshift ODBC 驅動程式 2.x 版連線](odbc20-install.md)。

## Java 中的 SSL 和伺服器憑證
<a name="connecting-ssl-support-java"></a>

SSL 會將用戶端和伺服器之間移動的資料加密，多一道安全性。使用伺服器憑證可透過驗證叢集是否為 Amazon Redshift 叢集來提供額外一層的安全。在作法上是檢查您佈建的所有叢集上自動安裝的伺服器憑證。如需搭配 JDBC 使用伺服器憑證的相關資訊，請前往 PostgreSQL 文件中的 [Configuring the client](https://jdbc.postgresql.org/documentation/ssl/#configuring-the-client)。

### 在 Java 中使用信任 CA 憑證進行連線
<a name="connecting-ssl-support-java-with-cert"></a>

**重要**  
Amazon Redshift 已變更 SSL 憑證的管理方式。您可能需要更新目前的信任根 CA 憑證，才能繼續使用 SSL 連線到叢集。如需詳細資訊，請參閱[SSL](#connect-using-ssl)。

**使用信任 CA 憑證來連接**

您可以使用 `redshift-keytool.jar` 檔案，將 Amazon Redshift 憑證授權機構套件中的 CA 憑證匯入至 Java TrustStore 或您的私有信任憑證庫。

1. 如果您使用 Java 命令列 `-Djavax.net.ssl.trustStore` 選項，可能的話，請從命令列中移除。

1. 下載 [redshift-keytool.jar](https://s3.amazonaws.com/redshift-downloads/redshift-keytool.jar)。

1. 執行以下任意一項：
   + 若要將 Amazon Redshift 憑證授權機構套件匯入 Java TrustStore，請執行下列命令。

     ```
     java -jar redshift-keytool.jar -s
     ```
   + 若要將 Amazon Redshift 憑證授權機構套件匯入您的私有 TrustStore，請執行下列命令：

     ```
     java -jar redshift-keytool.jar -k <your_private_trust_store> -p <keystore_password> 
     ```