

# Amazon RDS でのデータ保護
<a name="DataDurability"></a>

AWS [責任共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)は、Amazon Relational Database Service のデータ保護に適用されます。このモデルで説明されているように、AWS は、AWS クラウド のすべてを実行するグローバルインフラストラクチャを保護する責任を担います。ユーザーは、このインフラストラクチャでホストされるコンテンツに対する管理を維持する責任があります。また、使用する「AWS のサービス」のセキュリティ設定と管理タスクもユーザーの責任となります。データプライバシーの詳細については、[データプライバシーに関するよくある質問](https://aws.amazon.com/compliance/data-privacy-faq/)を参照してください。欧州でのデータ保護の詳細については、*AWS セキュリティブログ*に投稿された [AWS 責任共有モデルおよび GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) のブログ記事を参照してください。

データを保護するため、「AWS アカウント」 認証情報を保護し、「AWS IAM アイデンティティセンター」 または 「AWS Identity and Access Management」 (IAM) を使用して個々のユーザーをセットアップすることをお勧めします。この方法により、それぞれのジョブを遂行するために必要な権限のみが各ユーザーに付与されます。また、次の方法でデータを保護することもお勧めします:
+ 各アカウントで多要素認証 (MFA) を使用します。
+ SSL/TLS を使用して 「AWS」 リソースと通信します。TLS 1.2 が必須で、TLS 1.3 をお勧めします。
+ AWS CloudTrail で API とユーザーアクティビティロギングを設定します。CloudTrail 証跡を使用して AWS アクティビティをキャプチャする方法については、「*AWS CloudTrail ユーザーガイド*」の「[CloudTrail 証跡の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)」を参照してください。
+ AWS のサービス 内のすべてのデフォルトセキュリティコントロールに加え、AWS 暗号化ソリューションを使用します。
+ Amazon Macie などの高度な管理されたセキュリティサービスを使用します。これらは、Amazon S3 に保存されている機密データの検出と保護を支援します。
+ コマンドラインインターフェイスまたは API を使用して 「AWS」 にアクセスする際に FIPS 140-3 検証済みの暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。利用可能な FIPS エンドポイントの詳細については、「[連邦情報処理規格 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)」を参照してください。

お客様の E メールアドレスなどの極秘または機密情報を、タグ、または **[名前]** フィールドなどの自由形式のテキストフィールドに含めないことを強くお勧めします。これには、コンソール、API、AWS CLI、または AWS SDK を使用して Amazon RDS またはその他の AWS のサービス で作業する場合が含まれます。タグ、または名前に使用される自由記述のテキストフィールドに入力したデータは、請求または診断ログに使用される場合があります。外部サーバーに URL を提供する場合、そのサーバーへのリクエストを検証できるように、認証情報を URL に含めないことを強くお勧めします。

**Topics**
+ [暗号化を使用したデータの保護](Encryption.md)
+ [ネットワーク間のトラフィックのプライバシー](inter-network-traffic-privacy.md)

# 暗号化を使用したデータの保護
<a name="Encryption"></a>

データベースリソースの暗号化を有効にすることができます。また、DB インスタンスへの接続を暗号化することもできます。

**Topics**
+ [Amazon RDS リソースの暗号化](Overview.Encryption.md)
+ [AWS KMS key 管理](Overview.Encryption.Keys.md)
+ [SSL/TLS を使用した DB インスタンスまたはクラスターへの接続の暗号化](UsingWithRDS.SSL.md)
+ [SSL/TLS 証明書のローテーション](UsingWithRDS.SSL-certificate-rotation.md)

# Amazon RDS リソースの暗号化
<a name="Overview.Encryption"></a>

Amazon RDS は、Amazon RDS DB インスタンスを暗号化することができます。保管中に暗号化されるデータには、DB インスタンス、ログ、自動バックアップ、リードレプリカ、スナップショットの基本的なストレージが含まれます。

Amazon RDS の暗号化された DB インスタンスでは、Amazon RDS DB インスタンスをホストしているサーバーでデータを暗号化するために、業界標準の AES-256 暗号化アルゴリズムを使用します。

データが暗号化されると、Amazon RDS はパフォーマンスの影響を最小限に抑えながら、データへのアクセスと復号の認証を透過的に処理します。暗号化を使用するために、データベースのクライアントアプリケーションを変更する必要はありません。

**注記**  
暗号化された/されていない DB インスタンスのでは、AWS リージョン間でレプリケートする場合でも、ソースとリードレプリカ間で送信されるデータは暗号化されます。

**Topics**
+ [Amazon RDS リソースの暗号化の概要](#Overview.Encryption.Overview)
+ [DB インスタンスの暗号化](#Overview.Encryption.Enabling)
+ [DB インスタンスの暗号化が有効になっているかの判別](#Overview.Encryption.Determining)
+ [Amazon RDS の暗号化の可用性](#Overview.Encryption.Availability)
+ [転送中の暗号化](#Overview.Encryption.InTransit)
+ [Amazon RDS の暗号化された DB インスタンスの制限事項](#Overview.Encryption.Limitations)

## Amazon RDS リソースの暗号化の概要
<a name="Overview.Encryption.Overview"></a>

Amazon RDS の暗号化された DB インスタンスは、基になるストレージへの不正アクセスからデータを保護することによって、データ保護の追加レイヤーを提供します。Amazon RDS の暗号化を使用して、クラウドにデプロイされるアプリケーションのデータ保護を強化することや、保管時のデータ暗号化に関するコンプライアンスの要件を達成することができます。 Amazon RDS の暗号化された DB インスタンスでは、すべてのログ、バックアップ、スナップショットが暗号化されます。暗号化の可用性と制限の詳細については、「[Amazon RDS の暗号化の可用性](#Overview.Encryption.Availability)」および「[Amazon RDS の暗号化された DB インスタンスの制限事項](#Overview.Encryption.Limitations)」を参照してください。

Amazon RDS は、これらのリソースを暗号化するために AWS Key Management Service キーを使用します。AWS KMS は、安全で可用性の高いハードウェアとソフトウェアを組み合わせて、クラウド向けに拡張されたキー管理システムを提供します。AWS マネージドキー を使用することも、カスタマーマネージドキーを作成することもできます。

暗号化された DB インスタンスを作成するときは、カスタマーマネージドキーまたは Amazon RDS の AWS マネージドキー を選択して、DB インスタンスを暗号化できます。カスタマーマネージドキーのキー識別子を指定しない場合、Amazon RDS は新しい DB インスタンスに AWS マネージドキー を使用します。Amazon RDS は、Amazon RDS 用の AWS マネージドキー を AWS アカウントに作成します。AWS アカウントには、AWS リージョンごとに Amazon RDS の AWS マネージドキー が別々にあります。

Amazon RDS リソースの暗号化と復号に使用するカスタマーマネージドキーを管理するには、[AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/).を使用します。

AWS KMS を使用して、カスタマーマネージドキーを作成し、これらのカスタマーマネージドキーの使用を制御するポリシーを定義できます。AWS KMS は CloudTrail をサポートしているため、KMS キーの使用状況を監査して、カスタマーマネージドキーが適切に使用されていることを確認できます。カスタマーマネージドキーは、Amazon Aurora およびサポートされている AWS のサービス (Amazon S3、Amazon EBS、Amazon Redshift など) で使用できます。AWS KMS と統合しているサービスのリストについては、「[AWS サービス統合](https://aws.amazon.com/kms/features/#AWS_Service_Integration)」を参照ください。KMS キーの使用に関する考慮事項: 
+ 暗号化された DB インスタンスを作成したら、その DB インスタンスで使用されている KMS キーを変更することはできません。したがって、暗号化された DB インスタンスを作成する前に、KMS キーの要件を必ず確認してください。

  DB インスタンスの暗号化キーを変更する必要がある場合は、インスタンスの手動スナップショットを作成し、スナップショットのコピー中に暗号化を有効にします。詳細については、[re:Post 情報センターの記事](https://repost.aws/knowledge-center/update-encryption-key-rds)を参照してください。
+ 暗号化されたスナップショットをコピーする場合、ソーススナップショットの暗号化に使用した KMS キーとは異なる KMS キーを使用して、ターゲットスナップショットを暗号化できます。
+ また、Amazon RDS の暗号化されたインスタンスのリードレプリカとプライマリ DB インスタンスの両方が同じ AWS リージョンにある場合、リードレプリカはプライマリ DB インスタンスと同じ KMS キーを使用して暗号化する必要があります。
+ プライマリ DB インスタンスとリードレプリカが異なる AWS リージョンにある場合には、その AWS リージョンの KMS キー を使用してリードレプリカを暗号化します。
+ スナップショットを共有する AWS アカウントの AWS マネージドキー を使って暗号化されたスナップショットを共有することはできません。
+ Amazon RDS は、Transparent Data Encryption (TDE) による Oracle または SQL Server の DB インスタンスの暗号化もサポートします。TDE は、RDS 保管時の暗号化とともに使用できますが、TDE と RDS 保管時の暗号化を同時に使用すると、データベースのパフォーマンスに若干影響する可能性があります。個々の暗号化方式ごとに異なるキーを管理する必要があります。TDE の詳細については「[Oracle Transparent Data Encryption](Appendix.Oracle.Options.AdvSecurity.md)」または「[SQL サーバーの透過的なデータの暗号化サポート](Appendix.SQLServer.Options.TDE.md)」を参照してください。

**重要**  
KMS キーを無効にすると、Amazon RDS は DB インスタンス用の KMS キーにアクセスできなくなります。KMS キーへのアクセスを失った場合、バックアップが有効になっているインスタンスでは、暗号化された DB インスタンスは検出から 2 時間後に `inaccessible-encryption-credentials-recoverable` 状態になります。DB インスタンスは 7 日間この状態のままであり、その間、インスタンスは停止します。この間に DB インスタンスに対して行われた API コールは成功しない場合があります。DB インスタンスを復旧するには、KMS キーを有効にして、この DB インスタンスを再起動します。AWS マネジメントコンソール、AWS CLI、または RDS API から KMS キーを有効にします。AWS CLI コマンド [start-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/start-db-instance.html) または AWS マネジメントコンソール を使用して DB インスタンスを再起動します。  
`inaccessible-encryption-credentials-recoverable` 状態は、停止できる DB インスタンスにのみ適用されます。この回復可能な状態は、リードレプリカやリードレプリカを持つインスタンスなど、停止できないインスタンスには適用されません。詳細については、「[DB インスタンスの停止に関する制限事項](USER_StopInstance.md#USER_StopInstance.Limitations)」を参照してください。  
DB インスタンスが 7 日以内に復旧されない場合、終了 `inaccessible-encryption-credentials` 状態になります。この状態では、DB インスタンスは使用できなくなり、バックアップからのみ DB インスタンスを復元できます。データベース内の暗号化されたデータの消失を防ぐために、暗号化された DB インスタンスのバックアップは常に有効にしておくことを強くお勧めします。  
DB インスタンスの作成中に、Amazon RDS は呼び出し元のプリンシパルが KMS キーにアクセスできるかどうかを確認し、DB インスタンスの存続期間全体に使用する KMS キーから許可を生成します。呼び出し元のプリンシパルの KMS キーへのアクセス権を取り消しても、実行中のデータベースには影響しません。スナップショットを別のアカウントにコピーするなど、クロスアカウントシナリオで KMS キーを使用する場合は、KMS キーを他のアカウントと共有する必要があります。別の KMS キーを指定せずにスナップショットから DB インスタンスを作成すると、新しいインスタンスはソースアカウントの KMS キーを使用します。DB インスタンスの作成後にキーへのアクセス権を取り消しても、インスタンスには影響しません。ただし、キーを無効にすると、そのキーで暗号化されたすべての DB インスタンスに影響します。これを防ぐには、スナップショットのコピー操作時に別のキーを指定します。  
バックアップが無効化されている DB インスタンスは、インスタンスの変更または復旧中にボリュームがホストからデタッチされるまで使用できます。RDS は、該当する場合、インスタンスを `inaccessible-encryption-credentials-recoverable` 状態または `inaccessible-encryption-credentials` 状態に移行します。

KMS キーの詳細については、「AWS Key Management Service デベロッパーガイド**」の「[AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys)」と「[AWS KMS key 管理](Overview.Encryption.Keys.md)」を参照してください。

## DB インスタンスの暗号化
<a name="Overview.Encryption.Enabling"></a>

新しい DB インスタンスを暗号化するには、Amazon RDS コンソールで **[Enable encryption]** (暗号を有効化) を選択します。DB インスタンスの作成については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。

AWS CLI の [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) コマンドを使用して、暗号化された DB インスタンスを作成するには、`--storage-encrypted` パラメータを設定します。[CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) API オペレーションを使用する場合は、`StorageEncrypted` パラメータを true に設定します。



AWS CLI `create-db-instance` コマンドを使用して、カスタマーマネージドキーで暗号化された DB インスタンスを作成する場合は、`--kms-key-id` パラメータを KMS キーの任意のキー識別子に設定します。Amazon RDS API `CreateDBInstance` オペレーションを使用する場合は、`KmsKeyId` パラメータを KMS キーの任意のキー識別子に設定します。カスタマーマネージドキーを別の AWS アカウントで使用するには、キー ARN またはエイリアス ARN を指定します。

## DB インスタンスの暗号化が有効になっているかの判別
<a name="Overview.Encryption.Determining"></a>

AWS マネジメントコンソール、AWS CLI、または RDS API を使用して、DB インスタンスの保存時の暗号化が有効になっているか判別できます。

### コンソール
<a name="Overview.Encryption.Determining.CON"></a>

**DB インスタンスに対して保存時の暗号化がオンになっているかどうかを判別します**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、**[データベース]** を選択します。

1. 詳細を表示するためにチェックする DB インスタンスの名前を選択します。

1. **設定**タブを選択し、**ストレージ**下にある**暗号化** 値 をチェックします。

   **有効**または**無効**のいずれかが表示されています。  
![\[DB インスタンスの保管時の暗号化のチェック\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/encryption-check-db-instance.png)

### AWS CLI
<a name="Overview.Encryption.Determining.CLI"></a>

AWS CLI を使用して DB インスタンスの保存時の暗号化が有効になっているかを判断するには、以下のオプションで [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) コマンドを呼び起こします: 
+ `--db-instance-identifier` ​- DB インスタンスの名前です。

次の例では、`mydb` DB インスタンスの保管時の暗号化に関して `TRUE` または `FALSE` の いずれかを返すクエリを使用しています。

**Example**  

```
1. aws rds describe-db-instances --db-instance-identifier mydb --query "*[].{StorageEncrypted:StorageEncrypted}" --output text
```

### RDS API
<a name="Overview.Encryption.Determining.API"></a>

Amazon RDS API を使用して DB インスタンスの保管時の暗号化が有効であるかを判断するには、以下のパラメータで [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) オペレーションを呼び起こします: 
+ `DBInstanceIdentifier` ​- DB インスタンスの名前です。

## Amazon RDS の暗号化の可用性
<a name="Overview.Encryption.Availability"></a>

Amazon RDS 暗号化は、現在すべてのデータベースエンジンおよびストレージタイプに使用できます。

Amazon RDS 暗号化は、ほとんどの DB インスタンスクラスで使用できます。次の表は、Amazon RDS 暗号化を*サポートしていない* DB インスタンスクラスの一覧です。


| インスタンスタイプ | インスタンスクラス | 
| --- | --- | 
| 汎用 (M1) |  db.m1.small db.m1.medium db.m1.large db.m1.xlarge  | 
| メモリ最適化 (M2) |  db.m2.xlarge db.m2.2xlarge db.m2.4xlarge  | 
| バースト可能 (T2) |  db.t2.micro  | 

## 転送中の暗号化
<a name="Overview.Encryption.InTransit"></a>

**物理レイヤーでの暗号化**  
AWS グローバルネットワーク上の AWS リージョンを流れるすべてのデータは、AWS の安全な施設を離れる前に、物理層で自動的に暗号化されます。AZ 間のトラフィックはすべて暗号化されます。追加的な暗号化レイヤーでは、このセクションに記載されているもの以外にも、保護が提供されている場合があります。

**Amazon VPC ピアリングおよび Transit Gateway のクロスリージョンピアリング接続によって得られる暗号化**  
Amazon VPC およびTransit Gateway のピアリング接続を使用する、すべてのクロスリージョントラフィックは、リージョンからの送信時に自動的に一括で暗号化されます。すべてのトラフィックにおける物理レイヤーには、そのトラフィックが AWS の保護された設備を離れる前に、追加の暗号化レイヤーが自動的に提供されています。

**インスタンス間での暗号化**  
AWS では、すべてのタイプの DB インスタンス間において安全でプライベートな接続を提供しています。さらに、一部のインスタンスタイプでは、基盤となる Nitro System ハードウェアのオフロード機能を使用して、インスタンス間の転送中のトラフィックを自動的に暗号化します。この暗号化では、256 ビットの暗号化による関連データによる認証暗号化 (AEAD) アルゴリズムを使用します。ネットワークのパフォーマンスには影響しません。インスタンス間でこの追加の転送中トラフィック暗号化をサポートするには、次の要件を満たす必要があります。  
+ インスタンスは、次のインスタンスタイプを使用します。
  + **汎用**: M6i、M6id、M6in、M6idn、M7g
  + **メモリ最適化**: R6i、R6id、R6in、R6idn、R7g、X2idn、X2iedn、X2iezn
+ 各インスタンスは同じ AWS リージョンにあるものとします。
+ 各インスタンスは同じ VPC 内、あるいはピア接続された VPC 内にあり、トラフィックは仮想ネットワークのデバイスもしくはサービス (ロードバランサーや Transit Gateway など) を通過しないものとします。

## Amazon RDS の暗号化された DB インスタンスの制限事項
<a name="Overview.Encryption.Limitations"></a>

Amazon RDS の暗号化された DB インスタンスには、以下の制限事項があります。
+ Amazon RDS DB インスタンスは、DB インスタンスの作成時にのみ暗号化できます。作成後には暗号化できません。

  ただし、暗号化されていないスナップショットのコピーは暗号化できるので、暗号化されていない DB インスタンスに効果的に暗号化を追加できます。つまり、DB インスタンスのスナップショットを作成し、そのスナップショットの暗号化済みコピーを作成します。この暗号化されたスナップショットから DB インスタンスを復元することで、元の DB インスタンスの暗号化されたコピーを作成できます。詳しくは、「[Amazon RDS の DB スナップショットのコピー](USER_CopySnapshot.md)」を参照してください。
+ 暗号化された DB インスタンスの暗号化をオフにすることはできません。
+ 暗号化されていない DB インスタンスの暗号化されたスナップショットを作成することはできません。
+ 暗号化された DB インスタンスのスナップショットは、DB インスタンスと同じ KMS キーを使用して暗号化する必要があります。
+ 暗号化されていない DB インスタンスのリードレプリカを暗号化することや、暗号化されている DB インスタンスのリードレプリカを暗号化しないようにすることはできません。
+ 暗号化されたリードレプリカとソース DB インスタンスの両方が同じ AWS リージョンにある場合、リードレプリカはソース DB インスタンスと同じ KMS キーで暗号化する必要があります。
+ 暗号化されていないバックアップやスナップショットを、暗号化された DB インスタンスに復元することはできません。
+ ある AWS リージョンから別のリージョンに暗号化されたスナップショットをコピーするには、送信先 AWS リージョンの KMS キーを指定する必要があります。これは、KMS キーが、作成される AWS リージョンに固有のものであるためです。

  ソーススナップショットはコピープロセス全体で暗号化されたままになります。Amazon RDSは、コピー処理中にエンベロープ暗号化を使用してデータを保護します。エンベロープ暗号化の仕組みの詳細については、*AWS Key Management Service デベロッパーガイド*の「[エンベロープ暗号化](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping)」を参照してください。
+ 暗号化された DB インスタンスの暗号化を解除することはできません。ただし、暗号化された DB インスタンスからデータをエクスポートし、暗号化されていない DB インスタンスにデータをインポートすることはできます。

# AWS KMS key 管理
<a name="Overview.Encryption.Keys"></a>

 Amazon RDS には、キー管理のために [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/) が自動的に統合されます。Amazon RDS では、エンベロープ暗号化が使用されます。エンベロープ暗号化の仕組みの詳細については、*AWS Key Management Service デベロッパーガイド*の「[エンベロープ暗号化](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping)」を参照してください。

2 種類の AWS KMS キーを使用して、DB インスタンスを暗号化できます。
+ KMS キーに対するフル制御の権限が必要な場合は、*カスタマーマネージドキー*を作成する必要があります。カスタマーマネージドキーの詳細については、*AWS Key Management Service デベロッパーガイド*の「[Customer managed keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)」を参照してください。
+  *AWS マネージドキー* は、お客様のアカウントにある KMS キーであり、AWS KMS と統合されている AWS のサービスがお客様に代わって作成し、管理し、使用します。デフォルトでは、RDS AWS マネージドキー (`aws/rds`) が暗号化に使用されます。RDS AWS マネージドキー の管理、ローテーション、削除はできません。AWS マネージドキー の詳細については、「*AWS Key Management Service Developer Guide*」の「[AWS マネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) 」を参照してください。

Amazon RDS の暗号化された DB インスタンスに使用される KMS キーを管理するには、[AWS KMS コンソール](https://console.aws.amazon.com/kms)の [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/)、AWS CLI、または AWS KMS API を使用します。AWS マネージドキーまたはカスタマーマネージドキーで実行された、すべてのアクションの監査ログを表示するには、[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/) を使用します。キーのローテーションの詳細については、「[AWS KMS キーのローテーション](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html)」を参照してください。

## カスタマーマネージドキーの使用の承認
<a name="Overview.Encryption.Keys.Authorizing"></a>

RDS が暗号化オペレーションでカスタマーマネージドキーを使用すると、RDS リソースを作成または変更するユーザーに代わって動作します。

カスタマーマネージドキーを使用して、RDS リソースを作成するには、カスタマーマネージドキーで次の操作を呼び出すためのアクセス許可がユーザーに必要になります。
+  `kms:CreateGrant` 
+  `kms:DescribeKey` 

これらの必要なアクセス許可は、キーポリシーか、キーポリシーで許可されている場合は IAM ポリシーで指定できます。

**重要**  
Amazon RDS などのマネージドサービスを使用する AWS KMS キーポリシーですべてのリソース (\$1) に明示的な拒否ステートメントを使用する場合は、リソース所有アカウントを許可する条件を指定する必要があります。拒否ルールに IAM ユーザーの例外が含まれている場合でも、この条件なしで操作が失敗することがあります。

**ヒント**  
最小権限のプリンシパルに従うには、`kms:CreateGrant` へのフルアクセスを許可しないでください。代わりに、ユーザーに代わって AWS サービスによって許可が作成された場合にのみ、[kms:ViaService 条件キー](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service)を使用して、ユーザーが KMS キーに許可を作成できるようにします。

さまざまな方法で、IAM ポリシー をより厳しくすることができます。例えば、RDS から発信されるリクエストにのみカスタマーマネージドキーの使用を許可する場合、`rds.<region>.amazonaws.com` 値を指定して [kms:ViaService 条件キー](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service)を使用します。また、暗号化にカスタマーマネージドキーを使用する条件として、[Amazon RDS 暗号化コンテキスト](#Overview.Encryption.Keys.encryptioncontext) でキーまたは値を使用することもできます。

詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[他のアカウントのユーザーに KMS キーの使用を許可する](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)」と「[AWS KMS のキーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies)」を参照してください。

## Amazon RDS 暗号化コンテキスト
<a name="Overview.Encryption.Keys.encryptioncontext"></a>

RDS が KMS キーを使用する場合、または Amazon EBS が RDS の代わりに KMS キーを使用する場合、サービスは[暗号化コンテキスト](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)を指定します。暗号化コンテキストは、データの整合性を保証するために AWS KMS で使用される[追加の認証データ](https://docs.aws.amazon.com/crypto/latest/userguide/cryptography-concepts.html#term-aad) (AAD) です。暗号化オペレーションで暗号化コンテキストを指定すると、サービスは復号オペレーションでも同じ暗号化コンテキストを指定する必要があります。そうしないと、復号は失敗します。暗号化コンテキストは [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) ログにも書き込まれるため、特定の KMS キーが使用された理由を理解するのに役立ちます。CloudTrail ログには KMS キーの使用を説明する多くのエントリが含まれている場合があります。各ログエントリの暗号化コンテキストは、その特定の使用理由を判断するのに役立ちます。

少なくとも Amazon RDS は、次の JSON 形式の例のように、暗号化コンテキストに DB インスタンス ID を常に使用します。

```
{ "aws:rds:db-id": "db-CQYSMDPBRZ7BPMH7Y3RTDG5QY" }
```

この暗号化コンテキストにより、KMS キーが使用された DB インスタンスを識別することができます。

KMS キーが特定の DB インスタンスと特定の Amazon EBS ボリュームに使用されると、次の JSON 形式の例のように、DB インスタンス ID と Amazon EBS ボリューム ID の両方が暗号化コンテキストに使用されます。

```
{
  "aws:rds:db-id": "db-BRG7VYS3SVIFQW7234EJQOM5RQ",
  "aws:ebs:id": "vol-ad8c6542"
}
```

# SSL/TLS を使用した DB インスタンスまたはクラスターへの接続の暗号化
<a name="UsingWithRDS.SSL"></a>

アプリケーションで 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)** を選択します。認証局の詳細については、「[認証局](#UsingWithRDS.SSL.RegionCertificateAuthorities)」を参照してください。

1. データベースに接続するときに使用する証明書バンドルをダウンロードします。証明書バンドルをダウンロードするには、「[AWS リージョン による証明書バンドル](#UsingWithRDS.SSL.CertificatesAllRegions)」を参照してください。
**注記**  
証明書はすべて、SSL/TLS 接続を使用したダウンロードでのみ使用可能です。

1. DB エンジンのプロセスで、SSL/TLS Connect を実装するプロセスで、データベースに接続します。各 DB エンジンには SSL/TLS を実装する独自のプロセスがあります。ご使用のデータベースの SSL/TLS の実装方法については、ご使用の DB エンジンに対応する以下のリンクを使用してください。
   +  [Amazon RDS for Db2 DB インスタンスでの SSL/TLS の使用](Db2.Concepts.SSL.md) 
   +  [Amazon RDS 上の MariaDB DB インスタンスの SSL/TLS サポート](MariaDB.Concepts.SSLSupport.md) 
   +  [Microsoft SQL Server DB インスタンスでの SSL の使用](SQLServer.Concepts.General.SSL.Using.md) 
   +  [Amazon RDS 上の MySQL DB インスタンスの SSL/TLS サポート](MySQL.Concepts.SSLSupport.md) 
   +  [RDS for Oracle DB インスタンスでの SSL の使用](Oracle.Concepts.SSL.md) 
   +  [PostgreSQL DB インスタンスで SSL を使用する](PostgreSQL.Concepts.General.SSL.md) 

## 認証局
<a name="UsingWithRDS.SSL.RegionCertificateAuthorities"></a>

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

![\[認証局の概要\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/certificate-authority-overview.png)


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


****  

| 認証局 (CA) | 説明 | 共通名 (CN) | 
| --- | --- | --- | 
|  rds-ca-rsa2048-g1  |  大半の AWS リージョン では、RSA 2048 プライベートキーアルゴリズムと SHA256 署名アルゴリズムを備えた認証局を使用します。 AWS GovCloud (US) Regions では、CA が RSA 2048 プライベートキーアルゴリズムと SHA384 署名アルゴリズムを備えた認証局を使用します。 この CA はサーバー証明書の自動ローテーションをサポートします。  | Amazon RDS region-identifier ルート CA RSA2048 G1 | 
|  rds-ca-rsa4096-g1  |  RSA 4096 プライベートキーアルゴリズムと SHA384 署名アルゴリズムを備えた認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。  | Amazon RDS region-identifier ルート CA RSA4096 G1 | 
|  rds-ca-ecc384-g1  |  ECC 384 プライベートキーアルゴリズムと SHA384 署名アルゴリズムを備えた認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。  | Amazon RDS region-identifier ルート CA ECC384 G1 | 

**注記**  
AWS CLI を使用している場合は、[describe-certificates](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-certificates.html) を使用して、上記の認証局の有効性を確認できます。

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

### データベースに CA を設定する
<a name="UsingWithRDS.SSL.RegionCertificateAuthorities.Selection"></a>

データベースの CA は、以下のタスクの実行時に設定できます。
+ DB インスタンスまたはマルチ AZ DB クラスターの作成 - DB インスタンスまたはクラスターを作成する際に CA を設定できます。手順については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」または「[Amazon RDS 用のマルチ AZ DB クラスターの作成](create-multi-az-db-cluster.md)」を参照してください。
+ DB インスタンスまたはマルチ AZ DB クラスターの変更 – DB インスタンスまたはクラスターを変更することで CA を設定できます。手順については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」または「[Amazon RDS のマルチ AZ DB クラスターの変更](modify-multi-az-db-cluster.md)」を参照してください。

**注記**  
 デフォルトの CA は rds-ca-rsa2048-g1 に設定されています。[modify-certificates](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-certificates.html) コマンドを使用して、AWS アカウント のデフォルト CA をオーバーライドできます。

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

![\[認証局のオプション\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/certificate-authority.png)


コンソールには、DB エンジンおよび DB エンジンのバージョンで利用可能な CA のみが表示されます。AWS CLI を使用しているとき、[create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) コマンドまたは [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) コマンドを使用して DB インスタンスの CA を設定できます。マルチ AZ DB クラスターの CA は、[create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) コマンドまたは [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) コマンドを使用して指定できます。

AWS CLI を使用しているとき、[describe-certificates](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-certificates.html) コマンドを使用して、アカウントで使用可能な CA を確認できます。このコマンドでは、出力内の `ValidTill` に各 CA の有効期限も表示されます。[describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) コマンドを使用すると、特定の 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-rsa2048-g1",
                "rds-ca-ecc384-g1",
                "rds-ca-rsa4096-g1"
            ]
        }
    ]
}
```

### DB サーバーの証明書の有効性
<a name="UsingWithRDS.SSL.RegionCertificateAuthorities.DBServerCert"></a>

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

DB サーバー証明書ローテーションの詳細については、「[サーバー証明書の自動ローテーション](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-server-cert-rotation)」を参照してください。

### DB インスタンスの CA の表示
<a name="UsingWithRDS.SSL.RegionCertificateAuthorities.Viewing"></a>

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

![\[認証局の詳細\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/certificate-authority-details.png)


AWS CLI を使用している場合は、[describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) コマンドを使用して DB インスタンスの CA の詳細を表示できます。マルチ AZ DB クラスターの CA の詳細は、[describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html) コマンドを使用して確認できます。

## Amazon RDS の証明書バンドルをダウンロードする
<a name="UsingWithRDS.SSL.CertificatesDownload"></a>

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

### AWS リージョン による証明書バンドル
<a name="UsingWithRDS.SSL.CertificatesAllRegions"></a>

すべての AWS リージョンおよび GovCloud (米国) リージョンの証明書バンドルには、次のルート CA 証明書が含まれています。
+  `rds-ca-rsa2048-g1` 
+  `rds-ca-rsa4096-g1` 
+  `rds-ca-ecc384-g1` 

`rds-ca-rsa4096-g1` および `rds-ca-ecc384-g1` 証明書は、以下のリージョンでは使用できません。
+ アジアパシフィック (ムンバイ)
+ アジアパシフィック (メルボルン)
+ カナダ西部 (カルガリー)
+ 欧州 (チューリッヒ)
+ 欧州 (スペイン)
+ イスラエル (テルアビブ)

アプリケーション信頼ストアでは、ルート CA 証明書の登録のみが必要です。RDS が DB サーバー証明書を自動的にローテーションするときに接続の問題が発生する可能性があるため、中間 CA 証明書を信頼ストアに登録しないでください。

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

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


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

### CA 証明書の内容の表示
<a name="UsingWithRDS.SSL.CertificatesDownload.viewing"></a>

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

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

# SSL/TLS 証明書のローテーション
<a name="UsingWithRDS.SSL-certificate-rotation"></a>

Amazon RDS 認証局証明書 rds-ca-2019 は、2024 年 8 月に期限切れになりました。RDS DB インスタンスまたはマルチ AZ DB クラスターへの接続に証明書検証付きの Secure Sockets Layer (SSL) または Transport Layer Security (TLS) を使用しているか、使用する予定がある場合は、新しい CA 証明書 rds-ca-rsa2048-g1、rds-ca-rsa4096-g1、または rds-ca-ecc384-g1 のいずれかの使用を検討してください。現在、証明書検証付きで SSL/TLS を使用していない場合でも、CA 証明書の有効期限が切れている可能性があり、証明書検証付きで SSL/TLS を使用して RDS データベースに接続する予定がある場合は、新しい CA 証明書に更新する必要があります。

Amazon RDS では、AWS セキュリティのベストプラクティスとして、新しい CA 証明書を提供しています。新しい証明書およびサポートしている AWS リージョンの詳細については、「[SSL/TLS を使用した DB インスタンスまたはクラスターへの接続の暗号化](UsingWithRDS.SSL.md)」を参照してください。

データベースの CA 証明書を更新するには、次の方法を使用します。
+  [DB インスタンスまたはクラスターの変更による CA 証明書の更新](#UsingWithRDS.SSL-certificate-rotation-updating) 
+  [メンテナンスの適用による CA 証明書の更新](#UsingWithRDS.SSL-certificate-rotation-maintenance-update) 

新しい CA 証明書を使用するように DB インスタンスまたはマルチ AZ DB クラスターを更新する前に、RDS データベースに接続するクライアントまたはアプリケーションを必ず更新します。

## 証明書を更新する際の考慮事項
<a name="UsingWithRDS.SSL-certificate-rotation-considerations"></a>

証明書を更新する前に、次の状況を考慮してください。
+ Amazon RDS Proxy  は AWS Certificate Manager (ACM) の証明書を使用します。RDS Proxy を使用している場合は、SSL/TLS 証明書を更新するときに、RDS Proxy 接続を使用するアプリケーションを更新する必要はありません。詳細については、「[RDS Proxy での TLS/SSL の使用](rds-proxy.howitworks.md#rds-proxy-security.tls)」を参照してください。
+ 2020 年 7 月 28 日より前に作成された、または rds-ca-2019 証明書にアップデートされた DB インスタンスまたはマルチ AZ DB クラスターで Go バージョン 1.15 アプリケーションを使用している場合は、証明書を再度更新する必要があります。エンジンに応じて、証明書を rds-ca-rsa2048-g1、rds-ca-rsa4096-g1、または rds-ca-ecc384-g1 に更新してください。

  新しい CA 証明書識別子を使用して、DB インスタンスの場合は `modify-db-instance` コマンド、またはマルチ AZ DB クラスターの場合は `modify-db-cluster` コマンドを使用します。`describe-db-engine-versions` コマンドを使用すると、特定の DB エンジンと DB エンジンのバージョンで使用できる CA を検索できます。

  2020 年 7 月 28 日以降にデータベースを作成したか、その証明書を更新した場合、必要なアクションはありません。詳細については、[Go GitHub issue \$139568](https://github.com/golang/go/issues/39568) を参照してください。

## DB インスタンスまたはクラスターの変更による CA 証明書の更新
<a name="UsingWithRDS.SSL-certificate-rotation-updating"></a>

次の例では、CA 証明書を *rds-ca-2019* から *rds-ca-rsa2048-g1* に更新します。別の証明書を選択できます。詳細については、「[認証局](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities)」を参照してください。

アプリケーションの信頼ストアを更新して、CA 証明書の更新に関連するダウンタイムを短縮します。CA 証明書のローテーションに関連する再起動の詳細については、「[サーバー証明書の自動ローテーション](#UsingWithRDS.SSL-certificate-rotation-server-cert-rotation)」を参照してください。

**DB インスタンスまたはクラスターを変更して CA 証明書を更新するには**

1. 「[SSL/TLS を使用した DB インスタンスまたはクラスターへの接続の暗号化](UsingWithRDS.SSL.md)」の説明に従って、新しい SSL/TLS 証明書をダウンロードします。

1. 新しい SSL/TLS 証明書を使用するようにアプリケーションを更新します。

   新しい SSL/TLS 証明書のアプリケーションを更新する方法は、特定のアプリケーションにより異なります。アプリケーション開発者と協力して、アプリケーションの SSL/TLS 証明書を更新します。

   SSL/TLS 接続の確認および各 DB エンジン用アプリケーションの更新については、以下のトピックを参照してください。
   +  [新しい SSL/TLS 証明書を使用して MariaDB インスタンスに接続するようにアプリケーションを更新する](ssl-certificate-rotation-mariadb.md) 
   +  [新しい SSL/TLS 証明書を使用して Microsoft SQL Server DB インスタンスに接続するようにアプリケーションを更新する](ssl-certificate-rotation-sqlserver.md) 
   +  [新しい SSL/TLS 証明書を使用して MySQL DB インスタンスに接続するようにアプリケーションを更新する](ssl-certificate-rotation-mysql.md) 
   +  [新しい SSL/TLS 証明書を使用して Oracle DB インスタンスに接続するようにアプリケーションを更新する](ssl-certificate-rotation-oracle.md) 
   +  [新しい SSL/TLS 証明書を使用して PostgreSQL DB インスタンスに接続するようにアプリケーションを更新する](ssl-certificate-rotation-postgresql.md) 

   Linux オペレーティングシステムの信頼ストアを更新するサンプルスクリプトについては、「[証明書を信頼ストアにインポートするためのサンプルスクリプト](#UsingWithRDS.SSL-certificate-rotation-sample-script)」を参照してください。
**注記**  
証明書バンドルには古い CA と新しい CA の両方の証明書が含まれます。そのため、アプリケーションを安全に更新し、移行期間に接続を維持することができます。AWS Database Migration Service を使用してデータベースを DB インスタンスまたはクラスターに移行する場合は、移行中の接続を確保するために証明書バンドルを使用することをお勧めします。

1. DB インスタンスまたはマルチ AZ DB クラスターを変更して、CA を **rds-ca-2019** から **rds-ca-rsa2048-g1** に変更します。CA 証明書を更新するためにデータベースの再起動が必要かどうかを確認するには、[describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) コマンドを使用して、`SupportsCertificateRotationWithoutRestart` フラグをチェックします。
**重要**  
証明書の有効期限が切れた後に接続の問題が発生した場合は、コンソールで [**すぐに適用**] を指定するか、`--apply-immediately` を使用して AWS CLI オプションを指定します。デフォルトで、このオペレーションは次のメンテナンスウィンドウの間に実行するようスケジュールされています。  
RDS for Oracle DB インスタンスでは、接続エラーを防ぐために Oracle DB を再起動することをお勧めします。  
常時オプションやミラーリングオプションが有効になっている RDS for SQL Server のマルチ AZ インスタンスの場合、証明書ローテーション後にインスタンスを再起動すると、フェイルオーバーが予想されます。  
デフォルト RDS CA と異なるインスタンス CA のオーバーライドを設定するには、[modify-certificates](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-certificates.html) CLI コマンドを使用します。

AWS マネジメントコンソール または AWS CLI を使用して、DB インスタンスまたはマルチ AZ DB クラスターの CA 証明書を **rds-ca-2019** から **rds-ca-rsa2048-g1** に変更できます。

------
#### [ Console ]

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、**[データベース]** を選択し、変更する DB インスタンスまたはマルチ AZ DB クラスターを選択します。

1. **[Modify]** (変更) を選択します。  
![\[DB インスタンスまたはマルチ AZ DB クラスターを変更する\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-modify.png)

1. **[接続]** セクションで、**[rds-ca-rsa2048-g1]** を選択します。  
![\[CA 証明書の選択\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-ca-rsa2048-g1.png)

1. [**Continue**] を選択して、変更の概要を確認します。

1. 変更をすぐに反映させるには、[**Apply immediately**] を選択します。

1. 確認ページで、変更内容を確認します。変更内容が正しい場合は、**[DB インスタンスを変更]** または **[クラスターを変更]** を選択して変更を保存します。
**重要**  
このオペレーションをスケジュールする場合は、必ずクライアント側の信頼ストアを事前に更新します。

   または、[**戻る**] を選択して変更を編集するか、[**キャンセル**] を選択して変更をキャンセルします。

------
#### [ AWS CLI ]

AWS CLI を使用して DB インスタンスまたはマルチ AZ DB クラスターの CA を **rds-ca-2019** から **rds-ca-rsa2048-g1** に変更するには、[modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) または [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) コマンドを呼び出します。DB インスタンスまたはクラスター識別子および `--ca-certificate-identifier` オプションを指定します。

`--apply-immediately` パラメータを使用して更新を直ちに適用します。デフォルトで、このオペレーションは次のメンテナンスウィンドウの間に実行するようスケジュールされています。

**重要**  
このオペレーションをスケジュールする場合は、必ずクライアント側の信頼ストアを事前に更新します。

**Example**  
 **DB インスタンス**   
次の例では、CA 証明書を `rds-ca-rsa2048-g1` に設定することにより、`mydbinstance` を変更しています。  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Windows の場合:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
インスタンスを再起動する必要がある場合、[modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) CLI コマンドを使用して、`--no-certificate-rotation-restart` オプションを指定できます。

**Example**  
 **マルチ AZ DB クラスター**   
次の例では、CA 証明書を `rds-ca-rsa2048-g1` に設定することにより、`mydbcluster` を変更しています。  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-cluster \
    --db-cluster-identifier mydbcluster \
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Windows の場合:  

```
aws rds modify-db-cluster ^
    --db-cluster-identifier mydbcluster ^
    --ca-certificate-identifier rds-ca-rsa2048-g1
```

------

## メンテナンスの適用による CA 証明書の更新
<a name="UsingWithRDS.SSL-certificate-rotation-maintenance-update"></a>

メンテナンスを適用して CA 証明書を更新するには、次のステップを実行します。

------
#### [ Console ]

**メンテナンスを適用して CA 証明書を更新するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで **[証明書の更新]** を選択します。  
![\[ナビゲーションペインの証明書の更新オプション\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-certupdate.png)

   **[証明書の更新が必要なデータベース]** ページが表示されます。  
![\[データベースの CA 証明書の更新\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-update-multiple.png)
**注記**  
このページには、現在の AWS リージョン リージョンの DB インスタンスおよびクラスターのみが表示されます。複数の AWS リージョン にデータベースがある場合は、このページを AWS リージョン ごとにチェックし、古い SSL/TLS 証明書を使用しているすべての DB インスタンスを確認します。

1. 更新する DB インスタンスまたはマルチ AZ DB クラスターを選択します。

   **[スケジュール]** を選択すると、次のメンテナンスウィンドウでの証明書の更新をスケジュールできます。**[今すぐ適用]** を選択して、直ちに更新を適用します。
**重要**  
証明書の有効期限が切れた後に接続の問題が発生した場合は、**[今すぐ適用]** オプションを使用します。

1. 

   1. **[スケジュール]** を選択すると、CA 証明書のローテーションの確認を求められます。このプロンプトには、アップデートのスケジュール期間も記載されています。  
![\[証明書の更新の確認\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-confirm-schedule.png)

   1. **[今すぐ適用]** を選択すると、CA 証明書のローテーションの確認を求められます。  
![\[証明書の更新の確認\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-confirm-now.png)
**重要**  
データベースでの CA 証明書の更新をスケジュールする前に、SSL/TLS とサーバー証明書を接続に使用するクライアントアプリケーションを更新します。これらの更新は、DB エンジンに固有です。これらのクライアントアプリケーションを更新したら、CA 証明書の更新を確認できます。

   続行するには、チェックボックスをオンにし、[**確認**] を選択します。

1. 更新する DB インスタンスおよびクラスターごとに、ステップ 3 と 4 を繰り返します。

------

## サーバー証明書の自動ローテーション
<a name="UsingWithRDS.SSL-certificate-rotation-server-cert-rotation"></a>

ルート CA がサーバー証明書の自動ローテーションをサポートしている場合、RDS は DB サーバー証明書のローテーションを自動的に処理します。RDS はこの自動ローテーションに同じルート CA を使用するため、新しい CA バンドルをダウンロードする必要はありません。「[認証局](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities)」を参照してください。

DB サーバー証明書のローテーションと有効期間は DB エンジンによって異なります。
+ DB エンジンが再起動なしのローテーションをサポートしている場合、ユーザーによるアクションがなくても、RDS は DB サーバー証明書を自動的にローテーションします。RDS は、DB サーバー証明書の半減期になった時点で、希望するメンテナンス期間に DB サーバー証明書のローテーションを試みます。新しい DB サーバー証明書は、12 か月間有効です。
+ DB エンジンが再起動せずにローテーションをサポートしていない場合、Amazon RDS は、証明書の半分、または有効期限の少なくとも 3 か月前に、Describe-pending-maintenance-actions API を介して `server-certificate-rotation` 保留中のメンテナンスアクションを表示します。apply-pending-maintenance-action API を使用してローテーションを適用できます。新しい DB サーバー証明書は、36 か月間有効です。

[ describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) コマンドを使用して、`SupportsCertificateRotationWithoutRestart` フラグを点検することで、再起動なしで DB エンジンバージョンが証明書のローテーションをサポートするかどうかを特定します。詳細については、「[データベースに CA を設定する](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities.Selection)」を参照してください。

## 証明書を信頼ストアにインポートするためのサンプルスクリプト
<a name="UsingWithRDS.SSL-certificate-rotation-sample-script"></a>

次のサンプルシェルスクリプトでは、証明書バンドルを信頼ストア内にインポートします。

各サンプルシェルスクリプトでは、Java 開発キット (JDK) の一部である keytool が使用されます。JDK のインストールの詳細については、「[JDK インストールガイド](https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html)」を参照してください。

------
#### [ Linux ]

Linux オペレーティングシステムで、証明書バンドルを信頼ストアにインポートするサンプルシェルスクリプトを次に示します。

```
mydir=tmp/certs
if [ ! -e "${mydir}" ]
then
mkdir -p "${mydir}"
fi truststore=${mydir}/rds-truststore.jks storepassword=changeit

curl -sS "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem"> ${mydir}/global-bundle.pem
awk 'split_after == 1 {n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1}{print > "rds-ca-" n+1 ".pem"}' < ${mydir}/global-bundle.pem

for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print')
  echo "Importing $alias"
  keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt
  rm $CERT
done

rm ${mydir}/global-bundle.pem

echo "Trust store content is: "

keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias 
do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'`
   echo " Certificate ${alias} expires in '$expiry'" 
done
```

------
#### [ macOS ]

macOS で証明書バンドルを信頼ストアにインポートするサンプルシェルスクリプトを次に示します。

```
mydir=tmp/certs
if [ ! -e "${mydir}" ]
then
mkdir -p "${mydir}"
fi truststore=${mydir}/rds-truststore.jks storepassword=changeit

curl -sS "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem"> ${mydir}/global-bundle.pem
split -p "-----BEGIN CERTIFICATE-----" ${mydir}/global-bundle.pem rds-ca-

for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print')
  echo "Importing $alias"
  keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt
  rm $CERT
done

rm ${mydir}/global-bundle.pem

echo "Trust store content is: "

keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias 
do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'`
   echo " Certificate ${alias} expires in '$expiry'" 
done
```

------

# ネットワーク間のトラフィックのプライバシー
<a name="inter-network-traffic-privacy"></a>

Amazon RDS とオンプレミスのアプリケーション間、および同じ AWS リージョン内の Amazon RDS と他の AWS リソース間では、接続が保護されています。

## サービスとオンプレミスのクライアントおよびアプリケーションとの間のトラフィック
<a name="inter-network-traffic-privacy-on-prem"></a>

プライベートネットワークと AWS との間には 2 つの接続オプションがあります 
+ AWS Site-to-Site VPN 接続。詳細については、「[AWS Site-to-Site VPN とは](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)」を参照してください。
+ Direct Connect 接続。詳細については、「[Direct Connect とは?](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)」を参照してください。

AWS が公開した API オペレーションを使用することにより、ネットワークを通じて、Amazon RDS へのアクセスを取得できます。クライアントは以下をサポートする必要があります。
+ Transport Layer Security (TLS)。TLS 1.2 が必須で、TLS 1.3 をお勧めします。
+ DHE (楕円ディフィー・ヘルマン鍵共有) や ECDHE (楕円曲線ディフィー・ヘルマン鍵共有) などの完全前方秘匿性 (PFS) による暗号スイート。これらのモードは Java 7 以降など、ほとんどの最新システムでサポートされています。

また、リクエストにはアクセスキー ID と、IAM プリンシパルに関連付けられているシークレットアクセスキーを使用して署名する必要があります。または、[AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) を使用して、一時的なセキュリティ認証情報を生成し、リクエストに署名することもできます。