Amazon Relational Database Service (Amazon RDS) で AWS KMS を使用する方法 - AWS Key Management Service

Amazon Relational Database Service (Amazon RDS) で AWS KMS を使用する方法

Amazon Relational Database Service (Amazon RDS) を使用すると、クラウドでリレーショナルデータベースをセットアップ、運用、拡張できます。オプションで、Amazon RDSDB インスタンスに保存されたデータを、AWS KMS 内のカスタマーマスターキー (CMK) によって暗号化することを選択できます。AWS KMS CMK によって Amazon RDS リソースを暗号化する方法については、Amazon RDS ユーザーガイド の「Amazon RDS リソースの暗号化」を参照してください。

重要

Amazon RDS は、対称 CMK のみをサポートします。非対称 CMK を使用して Amazon RDS データベース内のデータを暗号化することはできません。CMK が対称か非対称かを判断する方法については、「対称 CMK と非対称 CMK の識別」を参照してください。

Amazon RDS は、データベースボリュームのディスク全体を暗号化するために、Amazon Elastic Block Store (Amazon EBS) 暗号化を使用します。Amazon EBS が AWS KMS を使用してボリュームを暗号化する方法については、「Amazon Elastic Block Store (Amazon EBS) で AWS KMS を使用する方法」を参照してください。

Amazon RDS によって暗号化された DB インスタンスを作成すると、Amazon RDS が暗号化された EBS ボリュームをユーザーの代わりに作成し、データベースを保存します。ボリュームに保管されているデータ、データベーススナップショット、自動バックアップ、リードレプリカはすべて、DB インスタンスを作成したときに指定した KMS CMK によって暗号化されます。

Amazon RDS の暗号化コンテキスト

Amazon RDS が KMS CMK を使用する場合や、Amazon EBS が Amazon RDS の代わりに KMS CMK を使用する場合、サービスは暗号化コンテキストを指定します。暗号化コンテキストは、データの整合性を保証するために AWS KMS で使用される追加の認証データ (ADD) です。暗号化オペレーションで暗号化コンテキストを指定すると、サービスは復号化オペレーションでも同じ暗号化コンテキストを指定する必要があります。そうしないと、復号は失敗します。暗号化コンテキストは、AWS CloudTrail ログにも書き込まれるため、所定の CMK キーが使用された理由を理解しやすくなっています。CloudTrail ログには、CMK の使用を示す多くのエントリが含まれていることがありますが、各ログエントリの暗号化コンテキストによってその特定の使用の理由を特定することができます。

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

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

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

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

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