为 blob 启用软删除
Blob 软删除会在系统中将已删除的数据保留指定的一段时间,可以在意外删除或覆盖单个 Blob 及其版本、快照和元数据时提供保护。 在保留期内,可以将 Blob 还原到它在删除时的状态。 在指定的保留期已过后,Blob 将永久被删除。 有关 Blob 软删除的详细信息,请参阅 Blob 的软删除。
Blob 软删除是针对 Blob 数据的综合性数据保护策略的一部分。 若要详细了解 Azure 的数据保护建议,请参阅数据保护概述。
启用 blob 软删除
你可以使用 Azure 门户、PowerShell 或 Azure CLI 随时启用或禁用存储帐户的软删除。
使用 Azure 门户创建新存储帐户时会默认启用 Blob 软删除。 创建新存储帐户时启用或禁用 blob 软删除的设置位于“数据保护”选项卡上。有关创建存储帐户的详细信息,请参阅创建存储帐户。
若要使用 Azure 门户为现有的存储帐户启用 blob 软删除,请执行以下步骤:
- 在 Azure 门户中导航到存储帐户。
- 在“数据管理”下找到“数据保护”选项。
- 在“恢复”部分,选择“启用 blob 软删除” 。
- 指定一个 1 到 365 天的保持期。 建议最短保持期为七天。
- 保存所做更改。
使用 PowerShell 创建新存储帐户时不会启用 Blob 软删除。 可以在新帐户创建之后启用 blob 软删除。
若要使用 PowerShell 为现有存储帐户启用 blob 软删除,请调用 Enable-AzStorageBlobDeleteRetentionPolicy 命令,并指定保持期(天)。
以下示例启用 blob 软删除并将保持期设置为七天。 请记得将括号中的占位符值替换为你自己的值:
Enable-AzStorageBlobDeleteRetentionPolicy -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account> `
-RetentionDays 7
若要检查 blob 软删除的当前设置,请调用 Get-AzStorageBlobServiceProperty 命令:
$properties = Get-AzStorageBlobServiceProperty -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account>
$properties.DeleteRetentionPolicy.Enabled
$properties.DeleteRetentionPolicy.Days
使用 Azure CLI 创建新存储帐户时不会启用 Blob 软删除。 可以在新帐户创建之后启用 blob 软删除。
若要使用 Azure CLI 为现有存储帐户启用 blob 软删除,请调用 az storage account blob-service-properties update 命令,并指定保持期(天)。
以下示例启用 blob 软删除并将保持期设置为七天。 请记得将括号中的占位符值替换为你自己的值:
az storage account blob-service-properties update --account-name <storage-account> \
--resource-group <resource-group> \
--enable-delete-retention true \
--delete-retention-days 7
若要检查 blob 软删除的当前设置,请调用 az storage account blob-service-properties show 命令:
az storage account blob-service-properties show --account-name <storage-account> \
--resource-group <resource-group>
要使用 Azure 资源管理器模板启用 blob 软删除,请创建一个设置 deleteRetentionPolicy 属性的模板。 以下步骤说明了如何在 Azure 门户中创建模板。
在 Azure 门户中,选择“创建资源”。
在“搜索市场”中,键入“部署自定义模板”,然后按 ENTER。
选择“在编辑器中生成自己的模板”。
在模板编辑器中粘贴以下 JSON。 将 <account-name>
占位符替换为存储帐户的名称。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts/blobServices",
"apiVersion": "2023-04-01",
"name": "<account-name>/default",
"properties": {
"deleteRetentionPolicy": {
"enabled": true,
"days": 7
}
}
}
]
}
指定保持期。 默认值为 7。
保存模板。
指定帐户的资源组,然后选择“查看 + 创建”按钮来部署模板并启用容器软删除。
启用 blob 软删除(分层命名空间)
blob 软删除还可以保护已启用分层命名空间功能的帐户中的 blob 和目录。
若要使用 Azure 门户为存储帐户启用 blob 软删除,请执行以下步骤:
- 在 Azure 门户中导航到存储帐户。
- 在“数据管理”下找到“数据保护”选项。
- 在“恢复”部分中,选择“启用 blob 软删除”。
- 指定 1 到 365 天的保持期。 Azure 建议使用 7 天的最短保持期。
- 保存所做更改。
安装最新的 PowershellGet 模块。 然后关闭 PowerShell 控制台,接着重新将其打开。
Install-Module PowerShellGet -Repository PSGallery -Force
安装 Az.Storage 预览版模块。
Install-Module Az.Storage -Repository PsGallery -RequiredVersion 3.7.1-preview -AllowClobber -AllowPrerelease -Force
有关如何安装 PowerShell 模块的详细信息,请参阅安装 Azure PowerShell 模块
使用存储帐户密钥、连接字符串或 Microsoft Entra ID 获取存储帐户授权。 有关详细信息,请参阅连接到帐户。
以下示例使用存储帐户密钥获取授权。
$ctx = New-AzStorageContext -StorageAccountName '<storage-account-name>' -StorageAccountKey '<storage-account-key>'
若要使用 PowerShell 启用 blob 软删除,请使用 Enable-AzStorageDeleteRetentionPolicy 命令,并指定保持期(以天为单位)。
下面的示例启用了帐户的软删除功能,并将保持期设置为 4 天。
Enable-AzStorageDeleteRetentionPolicy -RetentionDays 4 -Context $ctx
若要检查 blob 软删除的当前设置,请使用 Get-AzStorageServiceProperty
命令:
Get-AzStorageServiceProperty -ServiceType Blob -Context $ctx
如果在本地安装了 Azure CLI,请打开命令控制台应用程序,例如 Windows PowerShell。
安装 storage-preview
扩展。
az extension add -n storage-preview
连接到你的存储帐户。 有关详细信息,请参阅连接到帐户。
若要在 Azure CLI 中启用软删除,请调用 az storage fs service-properties update
命令,并指定保持期(以天为单位)。
下面的示例启用了 blob 和目录软删除,并将保持期设置为 5 天。
az storage fs service-properties update --delete-retention --delete-retention-period 5 --auth-mode login
若要检查 blob 软删除的当前设置,请调用 az storage fs service-properties update
命令:
az storage fs service-properties update --delete-retention false --connection-string $con
要使用 Azure 资源管理器模板启用 blob 软删除,请创建一个设置 deleteRetentionPolicy 属性的模板。 以下步骤说明了如何在 Azure 门户中创建模板。
在 Azure 门户中,选择“创建资源”。
在“搜索市场”中,键入“部署自定义模板”,然后按 ENTER。
选择“在编辑器中生成自己的模板”。
在模板编辑器中粘贴以下 JSON。 将 <account-name>
占位符替换为存储帐户的名称。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts/blobServices",
"apiVersion": "2023-04-01",
"name": "<account-name>/default",
"properties": {
"deleteRetentionPolicy": {
"enabled": true,
"days": 7
}
}
}
]
}
指定保持期。 默认值为 7。
保存模板。
指定帐户的资源组,然后选择“查看 + 创建”按钮来部署模板并启用容器软删除。
后续步骤