メニュー
Amazon Redshift
管理ガイド (API Version 2012年12月1日)

接続のセキュリティオプションを設定する

Amazon Redshift では Secure Sockets Layer (SSL) 接続がサポートされているため、データとサーバー証明書を暗号化でき、クライアントが接続するサーバー証明書を検証できます。

SSL を使用して接続する

SSL 接続をサポートするために、Amazon Redshift では、「AWS Certificate Manager (ACM)」によって発行された SSL 証明書を作成して各クラスターにインストールします。SSL 接続を適切にサポートするために信頼する必要のある認証機関の一覧については、「https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt」を参照してください。証明書バンドルがダウンロードされない場合は、前のリンクを右クリックして [Save link as...] を選択します。

重要

Amazon Redshift の SSL 証明書の管理方法が変わりました。引き続き SSL でクラスターに接続するには、現在の信頼ルート CA 証明書を更新する必要があります。詳細については、「SSL 接続用 ACM 証明書への移行」を参照してください。

デフォルトでは、クラスターデータベースは SSL の使用の有無にかかわらず接続を受け入れます。クラスターが SSL 接続を要求するように設定するには、クラスターに関連付けられているパラメータグループで require_SSL パラメータを true に設定します。

Amazon Redshift は、連邦情報処理標準 (FIPS) 140-2 に準拠する SSL モードをサポートしています。FIPS 準拠 SSL モードはデフォルトで無効化されています。

重要

システムが FIPS 準拠である必要がある場合のみ、FIPS 準拠の SSL モードを有効にします。

FIPS 準拠の SSL モードを有効にするには、クラスターに関連付けられたパラメータグループで use_fips_ssl パラメータと require_SSL パラメータの両方を true に設定します。パラメータグループの変更については、「Amazon Redshift パラメータグループ」を参照してください。

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

ODBC で SSL および信頼 CA 証明書を使用する

最新の Amazon Redshift ODBC ドライバー (バージョン 1.3.7.1000 以降) を使用して接続している場合は、このセクションをスキップします。最新のドライバーをダウンロードする方法は、「ODBC 接続を設定する」を参照してください。

引き続き SSL でクラスターに接続するには、現在の信頼ルート CA 証明書を更新する必要があります。詳細については、「SSL 接続用 ACM 証明書への移行」を参照してください。

Amazon Redshift の認証機関バンドルは、「https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt」に保存されています。証明書バンドルがダウンロードされない場合は、前のリンクを右クリックして [Save link as...] を選択します。予想される MD5 チェックサムの数値は e7a76d62fc7775ac54cfc4d21e89d36b です。sha256 のチェックサムは、e77daa6243a940eb2d144d26757135195b4bdefd345c32a064d4ebea02b9f8a1 です。Md5sum プログラム (Linux オペレーティングシステムの場合) またはその他のツール (Windows および Mac OS X オペレーティングシステムの場合) を使用して、ダウンロードした証明書がこの予想される MD5 チェックサムの数値と一致することを確認できます。

ODBC DSN には、クライアント接続の暗号化処理方法とサーバー証明書の検証を決定する sslmode 設定が含まれます。Amazon Redshift は、クライアント接続の次の sslmode 値をサポートします。

  • disable

    SSL は無効となり、接続は暗号化されません。

  • allow

    SSL は、サーバーで必要な場合に使用されます。

  • prefer

    SSL は、サーバーでサポートされる場合に使用されます。Amazon Redshift では SSL がサポートされるため、sslmodeprefer に設定すると 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 によりサーバー証明書を使用して接続する

SSL とサーバー証明書を使用してクラスターに接続する場合、クライアントコンピューターか Amazon EC2 インスタンスに証明書をダウンロードし、ODBC DSN を設定する必要があります。

  1. Amazon Redshift 認証機関バンドル」をクライアントコンピュータにダウンロードし、ドライバーのインストールディレクトリにある lib フォルダーに root.crt として保存します。

  2. [ODBC Data Source Administrator] を開き、ODBC 接続のシステム DSN エントリを追加または編集します。DNS エイリアスを使用する場合を除き、[SSL Mode] で [verify-full] を選択します。DNS エイリアスを使用する場合は、[verify-ca] を選択します。次に、[Save] をクリックします。

    ODBC DSN の設定方法の詳細については、「ODBC 接続を設定する」を参照してください。

Java で SSL をサーバー証明書を使用する

SSL は、クライアントとクラスター間を移動するデータを暗号化することによりセキュリティを強化します。サーバー証明書の使用により、クラスターが Amazon Redshift クラスターであることが確認され、セキュリティがさらに強化されます。これを行うには、プロビジョニングしたすべてのクラスターに自動インストールされたサーバー証明書をチェックします。JDBC でサーバー証明書を使用する方法の詳細については、PostgreSQL ドキュメントの「Configuring the Client」を参照してください。

Java で信頼 CA 証明書を使用して接続する

最新の Amazon Redshift JDBC ドライバー (バージョン 1.2.8.1005 以降) を使用して接続している場合は、このセクションをスキップします。最新ドライバーをダウンロードする方法は、「JDBC 接続を設定する」を参照してください。

重要

Amazon Redshift の SSL 証明書の管理方法が変わりました。引き続き SSL でクラスターに接続するには、現在の信頼ルート CA 証明書を更新する必要があります。詳細については、「SSL 接続用 ACM 証明書への移行」を参照してください。

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

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

  1. Java コマンドラインの -Djavax.net.ssl.trustStore オプションを使用している場合は、可能であればコマンドラインから解除します。

  2. redshift-keytool.jar をダウンロードする

  3. 次のいずれかを行ってください。

    • Redshift の認証機関バンドルを Java TrustStore にインポートするには、次のコマンドを実行します。

      Copy
      java -jar redshift-keytool.jar -s
    • Redshift の認証機関バンドルをプライベート TrustStore にインポートするには、次のコマンドを実行します。

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