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

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

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

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 証明書への移行」を参照してください。

2021 年 1 月 5 日の 中国リージョン では、Amazon Redshift はクラスターの SSL 証明書を、AWS Certificate Manager (ACM) によって発行された証明書に置き換えます。この変更は、SQL クライアントまたはアプリケーションが Amazon Redshift 接続オプションを sslModerequire、または verify-ca に設定して SSL を使用して verify-full に接続する場合に影響します。 以前の証明書バンドル (https://s3.cn-north-1.amazonaws.com.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem) は移行後は動作しません。

https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt から更新したバンドルを使用します。予想される MD5 チェックサムの数値は 7cc6cb8d994c8f5fa1a1f71c246afec5 です。sha256 のチェックサムは、efdd9975373ea496bf85d919b74c55cddae6a172cfdffed724d89fef3e867b9f です。

デフォルトでは、クラスターデータベースは 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」と ウェブサイトの「CiphersOpenSSL」を参照してください。

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

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

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

認証機関バンドルは、Amazon Redshifthttps://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt に保存されています。

ダウンロードした証明書が MD5 の予想されるチェックサム番号と一致していることを確認できます。これを行うには、Linux オペレーティングシステムでは Md5sum プログラムを、Windows および macOS X オペレーティングシステムでは別のツールを使用できます。

ODBC DSNs には、クライアント接続とサーバー証明書の検証の暗号化を処理する方法を決定する 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 データソース管理者)] を開き、ODBC 接続のシステム DSN エントリを追加または編集します。DNS エイリアスを使用する場合を除き、[SSL Mode (SSL モード)] で [verify-full] を選択します。DNS エイリアスを使用する場合は、[verify-ca] を選択します。 次に、[保存] を選択します。

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

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

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

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

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

重要

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

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

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

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

  2. redshift-keytool.jar をダウンロードします。

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

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

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

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