DynamoDB は暗号化されていますか?

はい。すべての DynamoDB データは、AWS Key Management Service (KMS) に格納された暗号化キーを使って、デフォルトで保存時に暗号化され、暗号化を無効にすることはできません。キーの種類(AWS 所有キー(デフォルト、無料)、AWS マネージドキー、カスタマーマネージドキー)を選択でき、転送中のデータは HTTPS/TLS で保護されます。

保存時の暗号化がカバーする範囲

暗号化は、暗号化されたテーブルが耐久性のあるメディアに格納するすべてに適用されます。プライマリキーを含むテーブル自体、ローカルおよびグローバルセカンダリインデックス、ストリーム、グローバルテーブル、バックアップです。テーブルにソートキーがある場合、範囲の境界を示すソートキーの一部はテーブルメタデータ内に平文で格納されることに注意してください。

3つのキーの選択肢

  • AWS 所有キー — デフォルト。DynamoDB が所有・管理し、追加料金はかかりません。
  • AWS マネージドキー — 自分のアカウントに格納され、AWS KMS が管理します(KMS 料金が発生します)。
  • カスタマーマネージドキー — 自分で作成、所有、ローテーションし、アクセスを完全に制御します(KMS 料金が発生します)。

コンソール、CLI、または API から、いつでもキーの種類を切り替えられます。

アプリケーションからは透過的

DynamoDB は読み取り時にデータを透過的に復号します。暗号化されたテーブルを扱うためにコードを変更する必要はなく、クエリは変わらず動作し、レイテンシーは同じ1桁ミリ秒の範囲に保たれます。個々の属性値がアプリケーションを離れる前にエンドツーエンドで保護するために、AWS は AWS Database Encryption SDK を通じたクライアント側暗号化も提供しています。

さらに詳しく

バックアップも暗号化されています。その仕組みはバックアップ & PITR ガイドで確認し、テーブルのコストを(KMS は別途課金されます)料金計算ツールで見積もり、暗号化されたテーブルを閲覧するには DynoTable をダウンロードしてください。復号はデータがクライアントに届く前に AWS によって処理されます。

参考資料

最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。

Console なしで DynamoDB を扱う

DynoTable は DynamoDB 向けの高速なデスクトップクライアントです — テーブルを閲覧し、SQL スタイルのクエリを実行し、アイテムをローカルで編集できます。