SSL/TLS を使用した DB インスタンスまたはクラスターへの接続の暗号化 - Amazon Relational Database Service

SSL/TLS を使用した DB インスタンスまたはクラスターへの接続の暗号化

アプリケーションで Secure Socket Layer (SSL) または Transport Layer Security (TLS) を使用することで、Db2、MariaDB、Microsoft SQL Server、MySQL、Oracle、または PostgreSQL を実行するデータベースへの接続を暗号化できます。

SSL/TLS 接続は、クライアントと DB インスタンスまたはクラスターの間を移動するデータを暗号化することによって、1 つのセキュリティ層を提供します。オプションで、データベースにインストールされたサーバー証明書を検証することで、SSL/TLS 接続でサーバー ID 検証を実行できます。サーバーの ID 検証を必須にするには、次の一般的な手順に従ってください。

  1. データベースの DB サーバー証明書に署名する認証局 (CA) を選択します。認証局の詳細については、「認証局」を参照してください。

  2. データベースに接続するときに使用する証明書バンドルをダウンロードします。証明書バンドルをダウンロードするには、 AWS リージョン による証明書バンドル. を参照してください。

    注記

    証明書はすべて、SSL/TLS 接続を使用したダウンロードでのみ使用可能です。

  3. DB エンジンのプロセスで、SSL/TLS Connect を実装するプロセスで、データベースに接続します。各 DB エンジンには SSL/TLS を実装する独自のプロセスがあります。ご使用のデータベースの SSL/TLS の実装方法については、ご使用の DB エンジンに対応する以下のリンクを使用してください。

認証局

認証局 (CA) は、証明書チェーンの最上位にあるルート CA を識別する証明書です。CA は、各 DB インスタンスにインストールされているサーバー証明書である、DB インスタンス証明書に署名します。DB サーバー証明書は DB インスタンスを信頼できるサーバーとして識別します。

認証局の概要

Amazon RDS にはデータベース用の DB サーバー証明書に署名するための、以下の CA が用意されています。

認証局 (CA) 説明 共通名 (CN)

rds-ca-2019

RSA 2048 プライベートキーアルゴリズムと SHA256 署名アルゴリズムを備えた認証局を使用します。この CA は 2024 年に有効期限が切れ、サーバー証明書の自動ローテーションはサポートされていません。この CA を使用して同じ標準を維持したい場合は、rds-ca-rsa2048-g1 CA に切り替えることをお勧めします。

Amazon RDS region-identifier CA 2019

rds-ca-rsa2048-g1

大半の AWS リージョン では、RSA 2048 プライベートキーアルゴリズムと SHA256 署名アルゴリズムを備えた認証局を使用します。

AWS GovCloud (US) Regions では、CA が RSA 2048 プライベートキーアルゴリズムと SHA384 署名アルゴリズムを備えた認証局を使用します。

この CA は rds-ca-2019 CA よりも長期間有効です。この CA はサーバー証明書の自動ローテーションをサポートします。

Amazon RDS region-identifier RSA2048 G1

rds-ca-rsa4096-g1

RSA 4096 プライベートキーアルゴリズムと SHA384 署名アルゴリズムを備えた認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。

Amazon RDS region-identifier RSA4096 G1

rds-ca-ecc384-g1

ECC 384 プライベートキーアルゴリズムと SHA384 署名アルゴリズムを備えた認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。

Amazon RDS region-identifier ECC384 G1
注記

AWS CLI を使用している場合は、describe-certificates を使用して、上記の認証局の有効性を確認できます。

これらの CA 証明書は、地域およびグローバル証明書バンドルに含まれています。rds-ca-rsa2048-g1、rds-ca-rsa4096-g1、または rds-ca-ecc384-g1 CA をデータベースで使用すると、RDS はデータベース上で DB サーバー証明書を管理します。RDS は、DB サーバーの証明書の有効期限が切れる前に証明書のローテーションを行います。

データベースに CA を設定する

データベースの CA は、以下のタスクの実行時に設定できます。

注記

デフォルトの CA は rds-ca-rsa2048-g1 に設定されています。modify-certificates コマンドを使用して、AWS アカウント のデフォルト CA をオーバーライドできます。

使用可能な CA は、DB エンジンと DB エンジンのバージョンによって異なります。AWS Management Console を使用するとき、次の図に示すように、認証局の設定を使用して CA を選択できます。

認証局のオプション

コンソールには、DB エンジンおよび DB エンジンのバージョンで利用可能な CA のみが表示されます。AWS CLI を使用しているとき、create-db-instance コマンドまたは modify-db-instance コマンドを使用して DB インスタンスの CA を設定できます。マルチ AZ DB クラスターの CA は、create-db-cluster コマンドまたは modify-db-cluster コマンドを使用して指定できます。

AWS CLI を使用しているとき、describe-certificates コマンドを使用して、アカウントで使用可能な CA を確認できます。このコマンドでは、出力内の ValidTill に各 CA の有効期限も表示されます。describe-db-engine-versions コマンドを使用すると、特定の DB エンジンと DB エンジンのバージョンで使用できる CA を検索できます。

次の例は、PostgreSQL DB エンジンのバージョンのデフォルト RDS で使用できる CA を示しています。

aws rds describe-db-engine-versions --default-only --engine postgres

以下のような出力が生成されます。使用可能な CA は SupportedCACertificateIdentifiers に記載されます。出力には、DB エンジンのバージョンで、SupportsCertificateRotationWithoutRestart の再起動なしで証明書のローテーションがサポートされるかどうかも表示されます。

{ "DBEngineVersions": [ { "Engine": "postgres", "MajorEngineVersion": "13", "EngineVersion": "13.4", "DBParameterGroupFamily": "postgres13", "DBEngineDescription": "PostgreSQL", "DBEngineVersionDescription": "PostgreSQL 13.4-R1", "ValidUpgradeTarget": [], "SupportsLogExportsToCloudwatchLogs": false, "SupportsReadReplica": true, "SupportedFeatureNames": [ "Lambda" ], "Status": "available", "SupportsParallelQuery": false, "SupportsGlobalDatabases": false, "SupportsBabelfish": false, "SupportsCertificateRotationWithoutRestart": true, "SupportedCACertificateIdentifiers": [ "rds-ca-2019", "rds-ca-rsa2048-g1", "rds-ca-ecc384-g1", "rds-ca-rsa4096-g1" ] } ] }

DB サーバーの証明書の有効性

DB サーバー証明書の有効性は、DB エンジンのバージョンと、DB エンジンのバージョンによって異なります。DB エンジンのバージョンで、DB エンジンのバージョンで、DB サーバーのローテーションがサポートされる場合、DB サーバーの証明書の有効期間は 1 年です。それ以外の場合、有効期間は 3 年間です。

DB サーバー証明書ローテーションの詳細については、「サーバー証明書の自動ローテーション」を参照してください。

DB インスタンスの CA の表示

データベースの CA に関する詳細を確認するには、次の画像のように、コンソール内の [接続とセキュリティ] タブを表示します。

認証局の詳細

AWS CLI を使用している場合は、describe-db-instances コマンドを使用して DB インスタンスの CA の詳細を表示できます。マルチ AZ DB クラスターの CA の詳細は、describe-db-clusters コマンドを使用して確認できます。

Amazon RDS の証明書バンドルをダウンロードする

SSL または TLS を使用してデータベースに接続する場合、データベースインスタンスには Amazon RDS からの信頼証明書が必要です。次の表の適切なリンクを選択して、データベースをホストする AWS リージョン に対応するバンドルをダウンロードします。

AWS リージョン による証明書バンドル

すべての AWS リージョン および GovCloud (米国) リージョンの証明書バンドルには、次の証明書が含まれています。

  • rds-ca-2019 中間証明書とルート証明書。

  • rds-ca-rsa2048-g1rds-ca-rsa4096-g1、および rds-ca-ecc384-g1 ルート CA 証明書。アプリケーション信頼ストアでは、ルート CA 証明書の登録のみが必要です。

注記

Amazon RDS Proxy は AWS Certificate Manager (ACM) の証明書を使用します。RDS Proxy を使用している場合は、Amazon RDS 証明書をダウンロードしたり、RDS Proxy 接続を使用するアプリケーションを更新したりする必要はありません。詳細については、「RDS Proxy での TLS/SSL の使用」を参照してください。

AWS リージョン の証明書バンドルをダウンロードするには、次の表で、データベースをホストする AWS リージョン のリンクを選択します。

AWS リージョン 証明書バンドル (PEM) 証明書バンドル (PKCS7)
商用 AWS リージョン global-bundle.pem global-bundle.p7b
米国東部 (バージニア北部) us-east-1-bundle.pem us-east-1-bundle.p7b
米国東部 (オハイオ) us-east-2-bundle.pem us-east-2-bundle.p7b
米国西部 (北カリフォルニア) us-west-1-bundle.pem us-west-1-bundle.p7b
米国西部 (オレゴン) us-west-2-bundle.pem us-west-2-bundle.p7b
アフリカ (ケープタウン) af-south-1-bundle.pem af-south-1-bundle.p7b
アジアパシフィック (香港) ap-east-1-bundle.pem ap-east-1-bundle.p7b
アジアパシフィック (ハイデラバード) ap-south-2-bundle.pem ap-south-2-bundle.p7b
アジアパシフィック (ジャカルタ) ap-southeast-3-bundle.pem ap-southeast-3-bundle.p7b
アジアパシフィック (マレーシア) ap-southeast-5-bundle.pem ap-southeast-5-bundle.p7b
アジアパシフィック (メルボルン) ap-southeast-4-bundle.pem ap-southeast-4-bundle.p7b
アジアパシフィック (ムンバイ) ap-south-1-bundle.pem ap-south-1-bundle.p7b
アジアパシフィック (大阪) ap-northeast-3-bundle.pem ap-northeast-3-bundle.p7b
アジアパシフィック (東京) ap-northeast-1-bundle.pem ap-northeast-1-bundle.p7b
アジアパシフィック (ソウル) ap-northeast-2-bundle.pem ap-northeast-2-bundle.p7b
アジアパシフィック (シンガポール) ap-southeast-1-bundle.pem ap-southeast-1-bundle.p7b
アジアパシフィック (シドニー) ap-southeast-2-bundle.pem ap-southeast-2-bundle.p7b
カナダ (中部) ca-central-1-bundle.pem ca-central-1-bundle.p7b
カナダ西部 (カルガリー) ca-west-1-bundle.pem ca-west-1-bundle.p7b
欧州 (フランクフルト) eu-central-1-bundle.pem eu-central-1-bundle.p7b
欧州 (アイルランド) eu-west-1-bundle.pem eu-west-1-bundle.p7b
欧州 (ロンドン) eu-west-2-bundle.pem eu-west-2-bundle.p7b
ヨーロッパ (ミラノ) eu-south-1-bundle.pem eu-south-1-bundle.p7b
欧州 (パリ) eu-west-3-bundle.pem eu-west-3-bundle.p7b
欧州 (スペイン) eu-south-2-bundle.pem eu-south-2-bundle.p7b
欧州 (ストックホルム) eu-north-1-bundle.pem eu-north-1-bundle.p7b
欧州 (チューリッヒ) eu-central-2-bundle.pem eu-central-2-bundle.p7b
イスラエル (テルアビブ) il-central-1-bundle.pem il-central-1-bundle.p7b
中東 (バーレーン) me-south-1-bundle.pem me-south-1-bundle.p7b
中東 (アラブ首長国連邦) me-central-1-bundle.pem me-central-1-bundle.p7b
南米 (サンパウロ) sa-east-1-bundle.pem sa-east-1-bundle.p7b
任意の AWS GovCloud (US) Region global-bundle.pem global-bundle.p7b
AWS GovCloud (米国東部) us-gov-east-1-bundle.pem us-gov-east-1-bundle.p7b
AWS GovCloud (米国西部) us-gov-west-1-bundle.pem us-gov-west-1-bundle.p7b

CA 証明書の内容の表示

CA 証明書バンドルの内容を確認するには、次のコマンドを使用します。

keytool -printcert -v -file global-bundle.pem