

# 保管時の DynamoDB 暗号化
<a name="EncryptionAtRest"></a>

Amazon DynamoDB に保存されているすべてのユーザーデータは、保管時に完全に暗号化されます。DynamoDB の保管時の暗号化は、[AWS Key Management Service (AWS KMS)](https://aws.amazon.com/kms/) に保存されている暗号化キーを使用してすべての保管中のデータを暗号化することにより高度なセキュリティを提供します。この機能は、機密データの保護における負担と複雑な作業を減らすのに役立ちます。保管時に暗号化することで、セキュリティを重視したアプリケーションを構築して、暗号化のコンプライアンスと規制の厳格な要件を満たすことができます。

DynamoDB の保管時の暗号化は、データを堅牢なメディアに保存されている場合は常に暗号化されたテーブル内にデータを配置して保護することにより、プライマリキー、ローカルおよびグローバルセカンダリインデックス、ストリーム、グローバルテーブル、バックアップ、DynamoDB Accelerator (DAX) クラスターなどに対する追加のデータ保護レイヤーを提供します。組織のポリシー、業界や政府の規制、またはコンプライアンス要件によって、アプリケーションのデータセキュリティを高めるために保管時の暗号化の使用が求められることがあります。データベースアプリケーションの暗号化の詳細については、「What is the AWS Database Encryption SDK?」を参照してください。[https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/what-is-database-encryption-sdk.html](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/what-is-database-encryption-sdk.html)

保管時の暗号化には、テーブルの暗号化に使用される暗号化キーを管理するための AWS KMS が統合されます。キーの種類と詳細については、「**AWS Key Management Service 開発者ガイド」の「[AWS Key Management Service concepts](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html#key-state-cmk-type)」を参照してください。

新しいテーブルを作成する場合、以下のいずれかの AWS KMS key の種類を選択してテーブルを暗号化できます。キーの種類は、いつでも切り替えることができます。
+ **AWS 所有のキー –** デフォルトの暗号化タイプ。キーは DynamoDB により所有されます (追加料金なし)。
+ **AWS マネージドキー –** キーはアカウントに保存され、AWS KMS によって管理されます (AWS KMS の料金が適用されます)。
+ **カスタマーマネージド型キー –** キーはお客様のアカウントに保存され、ユーザーが作成、所有、管理します。ユーザーには KMS キーに対するフルコントロールの権限があります (AWS KMS の料金が適用されます)。

キーの種類の詳細については、「[ Customer keys and AWS keys](/kms/latest/developerguide/concepts.html#key-mgmt)」を参照してください。

**注記**  
保存時の暗号化を有効にして新しい DAX クラスターを作成する場合、AWS マネージドキー を使用して、クラスター内の保管中のデータを暗号化します。
テーブルにソートキーが存在する場合、範囲の境界線を示すソートキーの一部が、プレーンテキスト形式でテーブルメタデータに保存されます。

暗号化されたテーブルにアクセスすると、DynamoDB はテーブルデータを透過的に復号化します。暗号化されたテーブルの使用あるいは管理のためにコードやアプリケーションを変更する必要はありません。DynamoDB は、期待される 1 桁ミリ秒のレイテンシーを継続的に提供し、すべての DynamoDB クエリは暗号化されたデータでシームレスに機能します。

新しいテーブルを作成する際に暗号化キーを指定したり、AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、Amazon DynamoDB API を使用して既存のテーブルで暗号化キーを切り替えたりすることができます。この方法については、「[DynamoDB での暗号化テーブルの管理](encryption.tutorial.md)」を参照してください。

AWS 所有のキー を使用した保管時の暗号化に追加の料金はかかりません。ただし、AWS KMS 料金が AWS マネージドキー およびカスタマーマネージドキーに適用されます。料金の詳細については、「[AWS KMS の料金](https://aws.amazon.com/kms/pricing)」を参照してください。

DynamoDB の保管時の暗号化は、AWS 中国 (北京)、AWS 中国 (寧夏)、AWS GovCloud (米国) のリージョンを含むすべての AWS リージョンで利用できます。詳細については、「[保管時の DynamoDB 暗号化: 仕組み](encryption.howitworks.md)」および「[DynamoDB の保管時の暗号化の使用に関する注意事項](encryption.usagenotes.md)」を参照してください。