Azure 备份的软删除
本文介绍如何启用和禁用软删除功能,以及如何永久删除处于软删除状态的数据。
对安全问题(例如恶意软件、勒索软件、入侵)的关注在逐渐上升。 这些安全问题可能会代价高昂(就金钱和数据来说)。 为了防范此类攻击,Azure 备份现提供可帮助保护备份数据(即使数据已删除)的安全功能。
其中的一项功能是软删除。 在使用软删除的情况下,即使恶意行动者删除了备份(或用户意外删除了备份数据),备份数据也仍会保留 14 天,因此可以恢复该备份项,而不会丢失数据。 以“软删除”状态将备份数据额外保留 14 天不会向你收取任何费用。
软删除保护适用于以下服务:
已被软删除的备份项的生命周期
此流程图显示了启用软删除时备份项的不同步骤和状态:
启用和禁用软删除
软删除在新创建的保管库上默认启用,目的是防止意外或恶意删除备份数据。 建议不要禁用此功能。 唯一应该考虑禁用软删除的情况是,你打算将受保护的项移到新保管库,需要在删除后重新进行保护,因此等不及要求的 14 天(例如在测试环境中)。
若要在保管库上禁用软删除,必须具有该保管库的“备份参与者”角色(你应有权在保管库上执行 Microsoft.RecoveryServices/Vaults/backupconfig/write)。 如果禁用此功能,将来删除任何受保护项将导致立即删除,而无法还原。 禁用此功能之前,以软删除状态存在的备份数据将在 14 天内保持软删除状态。 若要立即永久删除这些项,则需先取消删除,然后再次将其删除,这样就可以永久删除它们。
务必记住,禁用软删除后,将对所有类型的工作负载禁用该功能。 例如,不能仅对 SQL Server 或 SAP HANA DB 禁用软删除,而仍对同一保管库中的虚拟机启用软删除。 可以创建单独的保管库以进行精细控制。
注意
- 还可以使用多用户授权 (MUA) 增加一层额外的保护,防止禁用软删除。 了解详细信息。
- 目前只有恢复服务保管库支持用于软删除的 MUA。
具有延长保留期的 Always On 软删除
软删除在所有新创建的保管库上默认启用。 “Always On 软删除”状态是一项选择加入功能。 一旦启用,就无法禁用(不可逆)。
此外,可以延长已删除备份数据的保留期,从 14 天到 180 天不等。 默认情况下,保管库的保留期设置为 14 天(按照基本软删除),可以根据需要进行延长。 软删除对前 14 天的保留免费;但是,超过 14 天的保留期则需要收取费用。 详细了解定价情况。
禁用软删除
可以使用以下受支持的客户端禁用软删除功能。
选择客户端:
执行以下步骤:
- 在 Azure 门户中,转到保管库,然后转到“设置”>“属性”。
- 在“属性”窗格中,选择“安全设置更新”。
- 在“安全和软删除设置”窗格中,清除禁用软删除所需的复选框。
使用 Set-AzRecoveryServicesVaultBackupProperty cmdlet。
Set-AzRecoveryServicesVaultProperty -VaultId $myVaultID -SoftDeleteFeatureState Disable
StorageModelType :
StorageType :
StorageTypeState :
EnhancedSecurityState : Enabled
SoftDeleteFeatureState : Disabled
重要
使用 Azure PowerShell 进行软删除所需的 Az.RecoveryServices 版本最低为 2.2.0。 可使用 Install-Module -Name Az.RecoveryServices -Force
获取最新版本。
要使用 REST API 禁用软删除功能,请参阅以下步骤。
永久删除软删除的备份项
禁用此功能之前处于软删除状态的备份数据将会保持软删除状态。 要立即永久删除这些内容,请取消删除并再次删除它们。 使用以下客户端之一永久删除软删除的数据。
选择客户端:
执行以下步骤:
禁用软删除。
在 Azure 门户中转到保管库>“备份项”,然后选择已软删除的项。
选择“撤消删除”。
此时会显示一个窗口。 选择“撤消删除”。
选择“删除备份数据”,永久删除备份数据。
键入备份项的名称以确认删除恢复点。
若要删除项的备份数据,请选择“删除”。 一条通知消息将让你获悉备份数据已删除。
执行以下步骤:
确定处于已软删除状态的项。
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "yourResourceGroupName" -Name "yourVaultName"
Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM -VaultID $vault.ID | Where-Object {$_.DeleteState -eq "ToBeDeleted"}
Name ContainerType ContainerUniqueName WorkloadType ProtectionStatus HealthStatus DeleteState
---- ------------- ------------------- ------------ ---------------- ------------ -----------
VM;iaasvmcontainerv2;selfhostrg;AppVM1 AzureVM iaasvmcontainerv2;selfhostrg;AppVM1 AzureVM Healthy Passed ToBeDeleted
$myBkpItem = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM -VaultId $myVaultID -Name AppVM1
反向执行启用软删除时所执行的删除操作。
Undo-AzRecoveryServicesBackupItemDeletion -Item $myBKpItem -VaultId $myVaultID -Force
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
AppVM1 Undelete Completed 12/5/2019 12:47:28 PM 12/5/2019 12:47:40 PM 65311982-3755-46b5-8e53-c82ea4f0d2a2
禁用软删除后,删除操作会立即移除备份数据。
Disable-AzRecoveryServicesBackupProtection -Item $myBkpItem -RemoveRecoveryPoints -VaultId $myVaultID -Force
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
AppVM1 DeleteBackupData Completed 12/5/2019 12:44:15 PM 12/5/2019 12:44:50 PM 0488c3c2-accc-4a91-a1e0-fba09a67d2fb
后续步骤