Azure Blob の論理的な削除の保持期間の確認

Azure Blob の論理的な削除と保持期間を設定し、削除の発見とデータの復旧に必要な時間を確保してください。

説明

Blob の論理的な削除は、削除された Blob、スナップショット、バージョンを一定期間復旧できる状態で保持します。保護が無効な場合や、削除を発見する前に保持期間が終わった場合は、データを戻すことが難しくなります。

blob_properties.delete_retention_policy は個別の Blob の復旧に使う設定です。コンテナー全体やストレージアカウントの削除に対する保護は、別途構成する必要があります。

想定される影響

  • 誤操作や悪用で削除されたデータを復旧できなくなる可能性があります。
  • 短い保持期間の後にバックアップの復元や再アップロードが必要になると、サービスの復旧が遅れる可能性があります。

対処方法

  • blob_properties.delete_retention_policy を構成し、削除の発見と復旧に必要な時間を考慮して days を決めてください。
  • 保持中のストレージ費用とデータの重要性を併せて検討し、実際の復元を試験してください。
  • コンテナーの論理的な削除、必要なバージョン管理やバックアップを検討し、ストレージアカウントを削除する権限も制限してください。

例

5 日と 49 日の保持期間を比較する例です。どちらも論理的な削除を設定しており、必要な期間は運用要件によって異なります。実際のアカウントに適用する際は、名前、場所、階層などのほかの属性を維持し、Terraform の計画を確認してください。

変更前

hcl
resource "azurerm_storage_account" "storage_account" {
  name                     = "appstorage001"
  resource_group_name      = azurerm_resource_group.example.name
  location                 = azurerm_resource_group.example.location
  account_tier             = "Standard"
  account_replication_type = "GRS"

  blob_properties {
    delete_retention_policy {
      days = 5
    }
  }
}

削除後 5 日間は復旧できるように保持します。インシデントの発見と対応にそれ以上かかる場合は、十分でない可能性があります。

変更後

hcl
resource "azurerm_storage_account" "storage_account" {
  name                     = "protectedstore01"
  resource_group_name      = "testRG"
  location                 = "northeurope"
  account_tier             = "Premium"
  account_replication_type = "LRS"

  blob_properties {
    delete_retention_policy {
      days = 49
    }
  }
}

復旧できる期間を 49 日に延ばしています。49 日はすべての環境に必要な基準ではないため、復旧目標に合わせて調整してください。

参考資料