

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の 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 のチェックサム番号は 36dba8e4b8041cd14b9d60158893963301bcb92e1c456847784de2acb5bd550 です。

  `https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt`にあった以前の証明書バンドルは使用しないでください。
+  中国のAWS リージョンでは、[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 のチェックサム番号は 36dba8e4b8041cd14b9d60158893963301bcb92e1c456847784de2acb5bd550 です。

  `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 証明書の管理方法を変更しました。引き続き SSL でクラスターに接続するには、現在の信頼ルート CA 証明書を更新する必要があります。詳細については、「[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)」を参照してください。ワークグループのパラメータグループの変更については、「[Amazon Redshift Serverless への FIPS 準拠の SSL 接続の設定](serverless-connecting.md#serverless_secure-fips-ssl)」を参照してください。

 Amazon Redshift では、Elliptic Curve Diffie—Hellman Ephemeral (ECDHE) 鍵契約プロトコルがサポートされます。ECDHE を使用すると、クライアントとサーバーはそれぞれ、安全でないチャネルを介して共有シークレットを確立するために使用される楕円曲線パブリック/プライベートキーペアを持ちます。ECDHE を有効にするために、Amazon Redshift で設定を行う必要はありません。ECDHE を使用してクライアント/サーバー間の通信を暗号化する SQL クライアントツールから接続する場合、Amazon Redshift は提供された暗号リストを使用して適切な接続を行います。詳細については、ウィキペディアの [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)」を参照してください。

引き続き SSL でクラスターに接続するには、現在の信頼ルート CA 証明書を更新する必要があります。詳細については、「[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` 設定を確認します。次の表は、クライアントとサーバーのさまざまな設定の組み合わせの暗号化の結果を示しています。


| 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 によりサーバー証明書を使用して接続する
<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 Data Source Administrator (ODBC データソース管理者)**] を開き、ODBC 接続のシステム DSN エントリを追加または編集します。DNS エイリアスを使用する場合を除き、[**SSL Mode (SSL モード)**] で [`verify-full`] を選択します。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 証明書の管理方法を変更しました。引き続き SSL でクラスターに接続するには、現在の信頼ルート CA 証明書を更新する必要があります。詳細については、「[SSL](#connect-using-ssl)」を参照してください。

**信頼 CA 証明書を使用して接続するには**

Amazon Redshift 認証機関バンドルの CA 証明書を Java トラストストアまたはプライベートトラストストアにインポートするには、`redshift-keytool.jar` ファイルを使用します。

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>}} 
     ```