本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定連線的安全選項
Amazon Redshift 支援 Secure Sockets Layer (SSL) 連線來加密資料和伺服器憑證,以驗證用戶端連線的伺服器憑證。
SSL
為了支援SSL連線,Amazon Redshift 會在每個叢集上建立並安裝 AWS Certificate Manager (ACM)sslmode
連線選項設定為 require
、 或 verify-ca
,您可能需要下載憑證套件verify-full
。如果用戶端需要憑證,Amazon Redshift 會提供如下的憑證套件:
-
從 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://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt
下載套件。 -
預期的總MD5和檢查碼為 418dea9b6d5d5de7a8f1ac42e164cdcf。
-
sha256 檢查總和碼為 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550。
請勿使用位於
https://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/redshift-downloads-cn/redshift-ca-bundle.crt
和https://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem
的先前憑證套件。 -
重要
Amazon Redshift 已變更管理SSL憑證的方式。您可能需要更新目前的信任根 CA 憑證,才能繼續使用 連線到叢集SSL。如需詳細資訊,請參閱轉換至SSL連線的ACM憑證。
根據預設,叢集資料庫接受連線SSL,無論是否使用。若要將叢集設定為需要SSL連線,請在與叢集相關聯的require_SSL
參數群組true
中將 參數設定為 。
Amazon Redshift 支援符合美國聯邦資訊處理標準 (FIPS) 140-2 的SSL模式。FIPS預設會停用 合規SSL模式。
重要
只有在系統需要 FIPS合規時,才啟用 FIPS合規SSL模式。
若要啟用 FIPS合規SSL模式,請在與 Amazon Redshift 叢集或 Redshift Serverless 工作群組相關聯的require_SSL
參數群組true
中,將 use_fips_ssl
參數和 參數設定為 。如需在叢集上修改參數群組的相關資訊,請參閱 Amazon Redshift 參數群組。如需在工作群組上修改參數群組的相關資訊,請參閱 設定FIPS與 Amazon Redshift Serverless 相容的SSL連線 。
Amazon Redshift 支援橢圓曲線 Diffie—Hellman Ephemeral (ECDHE) 金鑰協議通訊協定。透過 ECDHE,用戶端和伺服器每個都有橢圓曲線公有私有金鑰對,用於在不安全的頻道上建立共用密碼。您不需要在 Amazon Redshift 中設定任何項目來啟用 ECDHE。如果您從ECDHE用來加密用戶端與伺服器之間通訊的SQL用戶端工具連線,Amazon Redshift 會使用提供的密碼清單進行適當的連線。如需詳細資訊,請參閱 OpenSSL 網站上的橢圓曲線 diffie—Wikipedia 和 Ciphers 上的 Hellman
SSL 和 中的信任 CA 憑證 ODBC
如果您使用最新的 Amazon Redshift ODBC驅動程式 (1.3.7.1000 版或更新版本) 連線,您可以略過本節。若要下載最新的驅動程式,請參閱針對 Amazon Redshift 設定ODBC驅動程式 2.x 版的連線。
您可能需要更新目前的信任根 CA 憑證,才能繼續使用 連線到叢集SSL。如需詳細資訊,請參閱SSL。
您可以驗證下載的憑證是否符合預期的總MD5和檢查碼。若要執行此動作,您可以在 Linux 作業系統上使用 Md5sum 程式,或在 Windows 和 macOS X 作業系統上使用其他工具。
ODBC DSNs 包含 sslmode
設定,決定如何處理用戶端連線和伺服器憑證驗證的加密。Amazon Redshift 支援來自用戶端連線的下列 sslmode
值:
-
disable
SSL 已停用,且連線未加密。
-
allow
SSL 如果伺服器需要,則會使用 。
-
prefer
SSL 如果伺服器支援 ,則會使用 。Amazon Redshift 支援 SSL,因此當您
sslmode
設定為 時SSL, 會使用prefer
。 -
require
SSL 為必要項目。
-
verify-ca
SSL 必須使用 ,且必須驗證伺服器憑證。
-
verify-full
SSL 必須使用。必須驗證伺服器憑證,且伺服器主機名稱必須符合憑證上的主機名稱屬性。
您可以判斷SSL是否使用 ,並在用戶端與伺服器之間的連線中驗證伺服器憑證。若要這麼做,您需要檢閱用戶端ODBCDSN上 的 sslmode
設定,以及伺服器上 Amazon Redshift 叢集require_SSL
的設定。下表描述各種用戶端和伺服器設定組合的加密結果:
sslmode (用戶端) | require_SSL (伺服器) | 結果 |
---|---|---|
disable |
false |
不加密連線。 |
disable |
true |
無法建立連線,因為伺服器需要 ,SSL且用戶端已停用SSL連線。 |
allow |
true |
加密連線。 |
allow |
false |
不加密連線。 |
prefer 或 require |
true |
加密連線。 |
prefer 或 require |
false |
加密連線。 |
verify-ca |
true |
加密連線且驗證伺服器憑證。 |
verify-ca |
false |
加密連線且驗證伺服器憑證。 |
verify-full |
true |
加密連線且驗證伺服器憑證,並驗證主機名稱。 |
verify-full |
false |
加密連線且驗證伺服器憑證,並驗證主機名稱。 |
在 Microsoft Windows 上使用伺服器憑證與 ODBC連線
如果您想要使用 SSL和伺服器憑證連線至叢集,請先將憑證下載至用戶端電腦或 Amazon EC2執行個體。然後設定 ODBC DSN。
-
將 Amazon Redshift 憑證授權機構套件下載到用戶端電腦驅動程式安裝目錄中的
lib
資料夾,並將檔案儲存為root.crt
。如需下載資訊,請參閱 SSL。 -
開啟ODBC資料來源管理員 ,並新增或編輯ODBC連線的系統DSN項目。對於SSL模式 ,除非您使用別名,
verify-full
否則請選取 DNS 。如果您使用DNS別名,請選取verify-ca
。然後選擇 Save (儲存)。如需設定 ODBC 的詳細資訊DSN,請參閱 針對 Amazon Redshift 設定ODBC驅動程式 2.x 版的連線。
SSL Java 中的 和 伺服器憑證
SSL 透過加密用戶端和叢集之間移動的資料,提供一層安全保護。使用伺服器憑證可透過驗證叢集是否為 Amazon Redshift 叢集來提供額外一層的安全。在作法上是檢查您佈建的所有叢集上自動安裝的伺服器憑證。如需搭配 使用伺服器憑證的詳細資訊JDBC,請前往 PostgreSQL 文件中的設定用戶端
在 Java 中使用信任 CA 憑證進行連線
重要
Amazon Redshift 已變更管理SSL憑證的方式。您可能需要更新目前的信任根 CA 憑證,才能繼續使用 連線到叢集SSL。如需詳細資訊,請參閱SSL。
使用信任 CA 憑證來連接
您可以使用 redshift-keytool.jar
檔案,將 Amazon Redshift Certificate Authority 套件中的 CA 憑證匯入 Java TrustStore 或私有 TrustStore。
-
如果您使用 Java 命令列
-Djavax.net.ssl.trustStore
選項,可能的話,請從命令列中移除。 -
執行以下任意一項:
-
若要將 Amazon Redshift Certificate Authority 套件匯入 Java TrustStore,請執行下列命令。
java -jar redshift-keytool.jar -s
-
若要將 Amazon Redshift Certificate Authority 套件匯入您的私有 TrustStore,請執行下列命令:
java -jar redshift-keytool.jar -k
<your_private_trust_store>
-p<keystore_password>
-