保管時の DynamoDB 暗号化
Amazon DynamoDB に保存されているすべてのユーザーデータは、保管時に完全に暗号化されます。DynamoDBの保管時の暗号化は、AWS Key Management Service (AWS KMS)
DynamoDB の保管時の暗号化は、データを堅牢なメディアに保存したときに暗号化されたテーブル内にデータを配置して保護することにより、プライマリキー、ローカルおよびグローバルセカンダリインデックス、ストリーム、グローバルテーブル、バックアップ、DynamoDB Accelerator (DAX) などに対する追加のデータ保護レイヤーを提供します。組織のポリシー、業界や政府の規制、またはコンプライアンス要件によって、アプリケーションのデータセキュリティを高めるために保管時の暗号化の使用が求められることがあります。
保管時の暗号化には、テーブルの暗号化に使用される暗号化キーを管理するための AWS KMS が統合されます。詳細については、AWS Key Management Service デベロッパーガイドの「AWS Key Management Service コンセプト」を参照してください。
新しいテーブルを作成する場合、以下のいずれかの AWS KMS keys を選択してテーブルを暗号化できます。
-
AWS 所有のキー – デフォルトの暗号化タイプ。キーは DynamoDB により所有されます (追加料金なし)。
-
AWS マネージドキー – キーはアカウントに保存され、AWS KMS によって管理されます (AWS KMS の料金が適用されます)。
-
カスタマーマネージドキー – キーはアカウントに保存され、ユーザーによって作成、所有、管理されます。ユーザーには KMS キーに対するフルコントロールの権限があります (AWS KMS の料金が適用されます)。
保存時の暗号化を有効にして新しい DAX クラスターを作成する場合、AWS マネージドキー を使用して、クラスター内の保管中のデータを暗号化します。
暗号化されたテーブルにアクセスすると、DynamoDB はテーブルデータを透過的に復号化します。AWS 所有のキー、AWS マネージドキー、カスタマーマネージドキーはいつでも切り替えることができます。暗号化されたテーブルの使用あるいは管理のためにコードやアプリケーションを変更する必要はありません。DynamoDB は、期待される 1 桁ミリ秒のレイテンシーを継続的に提供し、すべての DynamoDB クエリは暗号化されたデータでシームレスに機能します。
新しいテーブルを作成する際に暗号化キーを指定したり、AWS Management Console、AWS Command Line Interface (AWS CLI)、Amazon DynamoDB API を使用して既存のテーブルで暗号化キーを切り替えたりすることができます。この方法については、「DynamoDB での暗号化テーブルの管理」を参照してください。
AWS 所有のキー を使用した保管時の暗号化に追加の料金はかかりません。ただし、AWS KMS 料金が AWS マネージドキー およびカスタマーマネージドキーに適用されます。料金の詳細については、「AWS KMS の料金
DynamoDB の保管時の暗号化は、AWS 中国 (北京)、AWS 中国 (寧夏)、AWS GovCloud (米国) のリージョンを含むすべての AWS リージョンで利用できます。詳細については、「保存時の暗号化: 仕組み」および「DynamoDB の保管時の暗号化の使用に関する注意事項」を参照してください。