説明
バックアップボールトの不変性保護は、復旧ポイントの有効期限が切れる前にバックアップデータを削除する操作を制限します。この保護がないと、削除権限を持つユーザーの誤操作や悪用によって、復旧に必要なバックアップが失われる可能性があります。
immutability = "Unlocked" は保護を有効にしますが、後から無効にできます。Locked は保護を解除できない状態にする、取り消せない設定です。この保護はボールト内のバックアップが対象で、Blob、ファイル、ディスクの運用バックアップには適用されません。
想定される影響
- バックアップが削除されると、障害や侵害の後に利用できる復旧ポイントがなくなる可能性があります。
- 元のデータとバックアップを同時に失うと、復旧の遅れや恒久的なデータ損失につながる可能性があります。
対処方法
immutabilityをUnlockedにして保護を有効にし、保持ポリシーや運用手順への影響を確認してください。- 検証後に
Lockedの適用を検討してください。ロックは取り消せないため、Terraform の計画でボールトの置換が発生しないことも確認してください。 - 論理的な削除、最小権限、復元テストも併用してください。不変性保護だけでバックアップの作成や復元の成功が保証されるわけではありません。
例
不変性保護の設定を比較する例です。既存のボールトの保護を変更する場合は名前を維持してください。名前を変更すると新しいボールトが作成されます。
変更前
hcl
resource "azurerm_data_protection_backup_vault" "backup_vault" {
name = "app-backup-vault"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
datastore_type = "VaultStore"
redundancy = "LocallyRedundant"
immutability = "Disabled"
}
不変性保護が無効です。ほかの権限制御で許可されたバックアップの削除を、この設定では防止できません。
変更後
hcl
resource "azurerm_data_protection_backup_vault" "backup_vault" {
name = "protected-backup-vault"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
datastore_type = "VaultStore"
redundancy = "LocallyRedundant"
immutability = "Locked"
}
不変性保護をロックし、解除できない状態にしています。保持要件と運用への影響を確認してから適用してください。