Amazon Redshift
群集管理指南 (API 版本 2012-12-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

为 SSL 连接过渡到 ACM 证书

Amazon Redshift 正将您的群集中的 SSL 证书替换为 AWS Certificate Manager (ACM) 颁发的证书。ACM 是一个可信的公有证书颁发机构 (CA),受当前大多数系统信任。您可能需要更新当前的信任根 CA 证书,才能继续使用 SSL 连接群集。

仅当满足以下所有条件时,此更改才会影响到您:

  • 您的 SQL 客户端或应用程序使用 SSL 连接 Amazon Redshift 群集,并将 sslMode 连接选项设置为 requireverify-caverify-full 配置选项。

  • 您的群集位于除 AWS GovCloud (美国) 区域、中国 (北京) 区域、中国 (宁夏) 区域之外的任意 AWS 区域中。

  • 您不使用 Amazon Redshift ODBC 或 JDBC 驱动程序,或者您使用的是 ODBC 版本 1.3.7.1000 或 JDBC 版本 1.2.8.1005 之前的 Amazon Redshift 驱动程序。

如果此更改影响到您,那么您必须在 2017 年 10 月 23 日之前更新当前的信任根 CA 证书。Amazon Redshift 会在现在至 2017 年 10 月 23 日之间将您的群集过渡为使用 ACM 证书。该更改对您群集的性能或可用性应该影响不大或者没有任何影响。

要更新您当前的信任根 CA 证书,请辨明您的使用案例,然后按照该部分中的步骤操作。

使用最新的 Amazon Redshift ODBC 或 JDBC 驱动程序

首选方法是使用最新的 Amazon Redshift ODBC 或 JDBC 驱动程序。从 ODBC 版本 1.3.7.1000 和 JDBC 版本 1.2.8.1005 开始的 Amazon Redshift 驱动程序可自动管理从 Amazon Redshift 自签名证书到 ACM 证书的过渡。要下载最新驱动程序,请参阅配置 ODBC 连接配置 JDBC 连接

如果您使用的是最新的 Amazon Redshift JDBC 驱动程序,最好不要使用 JVM 选项中的 -Djavax.net.ssl.trustStore。如果必须使用 -Djavax.net.ssl.trustStore,请将 Redshift 证书颁发机构捆绑导入到它指向的信任存储库中。有关更多信息,请参阅 将 Redshift 证书颁发机构捆绑导入信任存储库

使用较早的 Amazon Redshift ODBC 或 JDBC 驱动程序

如果必须使用版本 1.3.7.1000 之前的 Amazon Redshift ODBC 驱动程序,请下载 Redshift 证书颁发机构捆绑并覆盖旧证书文件。

  • 如果您的 ODBC DSN 配置了 SSLCertPath,请覆盖指定路径中的证书文件。

  • 如果未设置 SSLCertPath,则请覆盖驱动程序 DLL 位置中名为 root.crt 的证书文件。

如果必须使用版本 1.2.8.1005 之前的 Amazon Redshift JDBC 驱动程序,请执行以下操作之一:

将 Redshift 证书颁发机构捆绑导入信任存储库

您可以使用 redshift-keytool.jar 将 Redshift 证书颁发机构捆绑中的 CA 证书导入 Java 信任存储库或您的私有信任存储库中。

将 Redshift 证书颁发机构捆绑导入信任存储库:

  1. 下载 redshift-keytool.jar

  2. 执行以下任一操作:

    • 要将 Redshift 证书颁发机构捆绑导入 Java 信任存储库中,请运行以下命令。

      java -jar redshift-keytool.jar -s
    • 要将 Redshift 证书颁发机构捆绑导入您的私有信任存储库中,请运行以下命令:

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

使用其他 SSL 连接类型

如果您使用以下任何方式进行连接,请执行本部分中的步骤:

  • 开源 ODBC 驱动程序

  • 开源 JDBC 驱动程序

  • psql 命令行界面

  • 基于 libpq 的任何语言捆绑,如 psycopg2 (Python) 和 ruby-pg (Ruby)

将 ACM 证书与其他 SSL 连接类型结合使用:

  1. 下载 Redshift 证书颁发机构捆绑

  2. 将捆绑包中的证书放入您的 root.crt 文件中。

    • 在 Linux 和 Mac OS X 操作系统中,该文件为 ~/.postgresql/root.crt

    • 在 Microsoft Windows 上,该文件为 %APPDATA%\postgresql\root.crt