説明
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 日はすべての環境に必要な基準ではないため、復旧目標に合わせて調整してください。