Check provider logo

DynamoDB table is protected by a backup plan

dynamodb_table_protected_by_backup_plan

Severitymedium
Servicedynamodb
by Prowler

DynamoDB tables are evaluated for inclusion in an AWS Backup backup plan through resource assignments, including explicit tables, resource-type wildcards, or all-resources coverage.

The result indicates whether a table is governed by scheduled backups and retention defined by the plan.

Risk

Without a backup plan, table data lacks governed copies, harming availability and integrity. Accidental deletes, corrupt writes, or malicious actions can become unrecoverable, and RPO/RTO worsen. You also forfeit cross-Region/account copies and immutability features, increasing downtime and data loss.

Run this check with Prowler CLI

prowler aws --checks dynamodb_table_protected_by_backup_plan

Recommendation

Place all critical tables under an AWS Backup backup plan following defense in depth and least privilege:

  • Use tag-based assignments for coverage at scale
  • Define schedules, retention, and cross-Region/account copies
  • Enable Vault Lock for immutability
  • Regularly test restores and restrict backup deletion

Remediation

Native IaC
Terraform
Other
  1. In the AWS Backup console, go to Settings > Configure resources and enable DynamoDB, then Confirm
  2. Go to Backup plans > Create backup plan > Build a new plan
  3. Enter a plan name, set Rule name to any value, set Backup vault to Default, and Create plan
  4. On the plan page, choose Assign resources
  5. Enter a Resource assignment name, set IAM role to Default role, select your DynamoDB table, and choose Assign resources

Source Code

Resource Type

AwsDynamoDbTable

References