DynamoDB テーブルで削除保護を有効にする設定手順

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、AWS CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、DynamoDB テーブルで削除保護を有効にする方法について、リスクと対策を解説します。

ポリシーの説明
[aws-dynamodb-06] DynamoDB テーブルでは削除保護が有効になっている必要があります
DynamoDB テーブルは、重要なアプリケーションデータを格納する中核的なコンポーネントです。削除保護機能は、2023年3月にAWSがリリースした機能で、テーブルレベルで設定可能な保護機能です。この機能を有効化することで、IAMポリシーで削除が許可されていても、誤操作や悪意のある操作によるテーブルの削除を防止できます。
削除保護機能は追加コストなしで利用可能で、デフォルトでは無効になっています。新規テーブル作成時、または既存テーブルに対して設定できます。
修復手順
コンソールでの修復手順
AWSのコンソールを使用して、DynamoDBテーブルの削除保護を有効化します。
既存テーブルへの削除保護の有効化
- AWS Management Consoleにログインし、DynamoDBコンソールを開きます
- ナビゲーションペインで「テーブル」を選択します
- 削除保護を有効化したいテーブルを選択します

- 「設定の更新」ボタンをクリックします
- 「削除保護」セクションを見つけ、「有効にする」を選択します

- 画面下部の「変更の保存」をクリックして設定を適用します
新規テーブル作成時の削除保護の有効化
- DynamoDBコンソールで「テーブルの作成」をクリックします
- テーブル名、パーティションキーなど必要な情報を入力します
- 「設定のカスタマイズ」を選択します
- 画面をスクロールして「削除保護」セクションを見つけます
- 「削除保護を有効にする」チェックボックスを選択します
- その他の必要な設定を行い、「テーブルの作成」をクリックします
Terraformでの修復手順
deletion_protection_enabled = true
を設定することによって削除保護が有効化されます
resource "aws_dynamodb_table" "production_users" {
>>>>>> Skip
# 削除保護を有効化(最重要設定)
deletion_protection_enabled = true
}
最後に
この記事では、DynamoDB テーブルで削除保護を有効にする方法について、リスクと対策を解説しました。
削除保護機能は2023年3月にリリースされた比較的新しい機能ですが、データ損失を防ぐ最も効果的な手段の一つです。人的ミスによるデータ損失が全体の70%を占める現状において、この追加コストゼロの機能を活用しない理由はありません。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。
運用負荷を大幅に軽減しながら、セキュリティレベルを向上させる製品となっていますので、ぜひ興味がある方はお問い合わせください。
最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。