BLOB の論理的な削除を使用すると、削除されたデータがシステムに一定の期間保有されることにより、個々の BLOB とその複数バージョン、スナップショット、およびメタデータが誤った削除や上書きから保護されます。 保持期間中は、BLOB を削除時の状態に復元できます。 保持期間が過ぎると、BLOB オブジェクトは完全に削除されます。 BLOB の論理的な削除の詳細については、「BLOB の論理的な削除」を参照してください。
BLOB のソフト削除は、BLOB データの包括的なデータ保護戦略の一部です。 データ保護に関する Microsoft の推奨事項の詳細については、「データ保護の概要」を参照してください。
BLOB のソフト削除を有効にする
ストレージアカウントのソフト削除は、Azure組み込みポリシー、Azureポータル、PowerShell、またはAzure CLIを使っていつでも有効または無効にできます。
Azureの組み込みポリシーを通じて大規模にBlobやコンテナのソフト削除を有効にするには、「ストレージアカウントのBlobとコンテナのソフト削除の設定」を参照してください。
Azure portal を使用して新しいストレージ アカウントを作成すると、BLOB の論理的な削除が既定で有効になります。 新しいストレージ アカウントを作成するときに BLOB の論理的な削除を有効または無効にする設定は、[データ保護] タブにあります。ストレージ アカウントの作成の詳細については、「ストレージ アカウント の作成」を参照してください。
Azure portal を使用して既存のストレージ アカウントでの BLOB の論理的な削除を有効にするには、次の手順を実行します。
-
Azure portal のストレージ アカウントに移動します。
-
[データ管理] の下にある [データ保護] オプションを見つけます。
-
[Recovery](回復) セクションで、 [Turn on soft delete for blobs](BLOB の論理的な削除を有効にする) を選択します。
- 1日から365日の間で保持期間を入力してください。 Microsoft では、少なくとも 7 日間は保有することをお勧めします。
- 変更を保存。
PowerShellで新しいストレージアカウントを作成すると、Blobソフト削除は有効になりません。 新しいアカウントを作成した後にBlobソフト削除を有効にすることができます。
PowerShellで既存のストレージアカウントでBlobソフト削除を有効にするには、 Enable-AzStorageBlobDeleteRetentionPolicy コマンドを呼び出し、保持期間を日数で指定してください。
次の例では、BLOB の論理的な削除を有効にし、保有期間を 7 日間に設定しています。 括弧内の仮の値を自分の値に置き換えてください:
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 の論理的な削除を有効にし、保有期間を 7 日間に設定しています。 括弧内の仮の値を自分の値に置き換えてください:
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 Resource Manager テンプレートを使用してBLOB の論理的な削除を有効にするには、deleteRetentionPolicy プロパティを設定するテンプレートを作成します。 次の手順は、Azure portal でテンプレートを作成する方法について説明しています。
Azure portal で、 [リソースの作成] を選択します。
マーケットプレースの検索で「カスタム テンプレートのデプロイ」と入力し、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 portal を使用してストレージ アカウントでの BLOB の論理的な削除を有効にするには、次の手順を実行します。
-
Azure portal のストレージ アカウントに移動します。
-
データ管理 の下にある Data Protection オプションを見つけてください。
-
[Recovery](回復) セクションで、 [Enable soft delete for blobs](BLOB の論理的な削除を有効にする) を選択します。
- 1日から365日の間で保持期間を入力してください。 Microsoft では、少なくとも 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 Cloud Shellを開くか、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 Resource Manager テンプレートを使用してBLOB の論理的な削除を有効にするには、deleteRetentionPolicy プロパティを設定するテンプレートを作成します。 次の手順は、Azure portal でテンプレートを作成する方法について説明しています。
Azure portal で、 [リソースの作成] を選択します。
Marketplace を検索で、「カスタム テンプレートのデプロイ」と入力し、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 です。
テンプレートを保存します。
アカウントのリソース グループを指定してから [確認と作成] ボタンを選択してテンプレートをデプロイし、コンテナーの論理的な削除を有効にします。
次のステップ