不変ストレージを使用してビジネスに不可欠な BLOB データを保存する

Azure Blob Storage の不変ストレージを使用すると、ユーザーはビジネスに不可欠なデータを WORM (Write Once, Read Many) 状態で保存できます。 WORM の状態では、ユーザーが指定した期間、データを変更および削除できません。 BLOB データに不変ポリシーを構成することにより、上書きや削除からデータを保護することができます。

Azure Blob Storage の不変ストレージでは、次の 2 種類の不変ポリシーがサポートされています。

  • 時間ベースのアイテム保持ポリシー: 時間ベースのアイテム保持ポリシーを使用すると、ユーザーは指定した間隔でデータを格納するポリシーを設定できます。 時間ベースのアイテム保持ポリシーを設定すると、オブジェクトの作成と読み取りは可能ですが、変更または削除はできません。 保持期間の期限が切れた後はオブジェクトを削除できますが、上書きはできません。 時間ベースのアイテム保持ポリシーの詳細については、「不変 BLOB データに対する時間ベースのアイテム保持ポリシー」を参照してください。

  • 訴訟ホールドポリシー: 訴訟ホールドでは、訴訟ホールドが明示的にクリアされるまで、不変データを格納します。 訴訟ホールドを設定すると、オブジェクトの作成と読み取りは可能ですが、変更または削除はできません。 訴訟ホールド ポリシーの詳細については、「不変 BLOB データの訴訟ホールド」を参照してください。

次の図は、時間ベースの保持ポリシーと訴訟ホールドが有効になっている間、どのように書き込みと削除操作が防止されるかを示しています。

保持ポリシーと訴訟ホールドが書き込みと削除操作を防止する方法を示す図

BLOB の不変ストレージについて

不変ストレージを使用すると、医療機関、金融機関、および関連する業界 (特に、ブローカー ディーラー組織) は、データを安全に保存できるようになります。 不変ストレージは、重要なデータを変更や削除から保護するためのどのシナリオでも利用できます。

一般的な用途は次のとおりです。

  • 法令遵守: Azure Blob Storage の不変ストレージは、組織が SEC 17a-4(f)、CFTC 1.31(d)、FINRA などの規制に準拠するのに役立ちます。

  • セキュリティ保護されたドキュメント リテンション: BLOB の不変ストレージにより、どのユーザーも、データを変更したり、削除したりできなくなります。アカウント管理特権を持つユーザーですらです。

  • 訴訟ホールド: BLOB の不変ストレージを使用すると、ユーザーは訴訟やビジネス用途に不可欠な機密情報を、ホールドが削除されるまでの必要な期間中、改ざん防止状態で保存できます。 この機能は、法的なユース ケースのみに限定されず、イベント トリガーや会社のポリシーに基づいたデータの保護が必要な、イベント ベースのホールドまたはエンタープライズ ロックとして考えることもできます。

規制に対するコンプライアンス

Microsoft は、記録管理と情報ガバナンスに特化した大手の独立系評価会社である Cohasset Associates を保有して、金融サービス業界に固有の要件に対して、BLOB の不変ストレージとそのコンプライアンスを評価しました。 Cohasset では、不変ストレージが、BLOB を WORM 状態に維持するために使用する場合、CFTC Rule 1.31(c)-(d)、FINRA Rule 4511、および SEC Rule 17a-4(f) の関連ストレージ要件を満たしていることを実証しました。 この一連のルールは金融機関のレコード保有期間に対する最も規範的なガイダンスを世界中に示すものであるため、Microsoft ではこれらのルールを対象としました。

Cohasset レポートは Microsoft Service Trust Center で入手できます。 Azure トラスト センターでは、コンプライアンス関連の Microsoft の認定資格に関する詳しい情報を確認できます。 WORM 不変性コンプライアンスに関する Microsoft からの構成証明の文書を要求するには、Azure サポートにお問い合わせください。

不変ポリシーのスコープ

不変ポリシーは、BLOB バージョンまたはコンテナーにスコープを設定できます。 オブジェクトが不変ポリシーの下でどのように動作するかは、ポリシーのスコープによって異なります。 不変ポリシーの種類ごとのポリシー スコープの詳細については、次のセクションを参照してください。

スコープに応じて、時間ベースのアイテム保持ポリシーとリソース (コンテナーまたは BLOB バージョン) の訴訟ホールドの両方を構成できます。

バージョン レベルのスコープ

BLOB バージョンを対象にした変更可能性ポリシーを構成するには、ストレージ アカウントまたはコンテナーでバージョン レベルの変更可能性のサポートを有効にする必要があります。 ストレージ アカウントでバージョン レベルの変更可能性のサポートを有効にした後、後でストレージ アカウントに作成されたオブジェクトに適用される既定のポリシーをアカウント レベルで構成できます。 個々のコンテナーでバージョン レベルの変更可能性のサポートを有効にした場合は、そのコンテナーの既定のポリシーを構成できます。このポリシーは、後でコンテナーに作成されたオブジェクトに適用されます。

次の表は、各リソース スコープでサポートされている不変ポリシーをまとめたものです。

リソース バージョンレベルの不変ポリシーを有効にする ポリシーのサポート
Account はい(アカウント作成時のみ)。 1 つの既定のバージョン レベルの不変ポリシーをサポートします。 既定のポリシーは、ポリシーの構成後にアカウントに作成された新しい BLOB バージョンに適用されます。

訴訟ホールドはサポートされていません。
コンテナー ボリューム コンテナーの作成 既存のコンテナーは、バージョン レベルの変更可能性ポリシーをサポートするために移行する必要があります。 1 つの既定のバージョン レベルの不変ポリシーをサポートします。 既定のポリシーは、ポリシーの構成後にコンテナーに作成された新しい BLOB バージョンに適用されます。

訴訟ホールドはサポートされていません。
BLOB バージョン 該当なし 1 つのバージョン レベルの不変ポリシーと 1 つの訴訟ホールドをサポートします。 BLOB バージョンのポリシーは、コンテナーで指定される既定のポリシーをオーバーライドできます。

コンテナー レベルのスコープ

ストレージ アカウントまたはコンテナーに対してバージョン レベルの変更できないポリシーのサポートが有効になっていない場合、変更できないポリシーの範囲はコンテナーになります。 コンテナは、1つの不変ポリシーと1つの訴訟ホールドをサポートします。 ポリシーは、コンテナー内のすべてのオブジェクトに適用されます。

不変性のシナリオの概要

不変ポリシーによって提供される保護は、不変ポリシーのスコープ、そして時間ベースのアイテム保持ポリシーの場合は、ロックまたはロック解除状態か、アクティブか期限切れかによって異なります。

バージョン レベルのスコープを使用するシナリオ

次の表に、バージョン レベルの不変ポリシーによって提供される保護の概要を示します。

シナリオ 禁止されている操作 BLOB 保護 コンテナー保護 アカウント保護
BLOB のバージョンがアクティブなアイテム保持ポリシーによって保護されている、または訴訟ホールドが有効である Delete BlobSet Blob MetadataPut PageAppend Block1 BLOB のバージョンを削除することはできません。 ユーザー メタデータを書き込めません。

Put BlobPut Block ListCopy Blob で、BLOB を上書きすると、新しいバージョンが作成されます。2
ポリシーがロックまたはロック解除されているかどうかに関係なく、コンテナーに少なくとも 1 つの BLOB が存在する場合、コンテナーの削除は失敗します。 バージョン レベルの不変ストレージが有効になっているコンテナーが少なくとも 1 つある場合、またはアカウントに対して有効になっている場合、ストレージ アカウントの削除は失敗します。
BLOB のバージョンが期限切れのアイテム保持ポリシーによって保護されている、または訴訟ホールドが有効である Set Blob MetadataPut PageAppend Block1 BLOB のバージョンを削除することができます。 ユーザー メタデータを書き込めません。

Put BlobPut Block ListCopy Blob で、BLOB を上書きすると、新しいバージョンが作成されます2
ポリシーがロックまたはロック解除されているかどうかに関係なく、コンテナーに少なくとも 1 つの BLOB が存在する場合、コンテナーの削除は失敗します。 時間ベースのアイテム保持ポリシーを持つ BLOB バージョンを含むコンテナーが少なくとも 1 つある場合、ストレージ アカウントの削除は失敗します。

ロック解除されたポリシーでは、削除保護は提供されません。

1Append Block 操作は、allowProtectedAppendWrites または allowProtectedAppendWritesAll プロパティが有効になっているポリシーに対してのみ許可されます。 詳細については、「保護された追加 BLOB の書き込みを許可する」を参照してください。 2 BLOB バージョンは常にコンテンツを変更できません。 ストレージ アカウントでバージョン管理が有効になっている場合、ブロック BLOB に対する書き込み操作で新しいバージョンが作成されます。ただし、Put Block 操作は除きます。

コンテナー レベルのスコープを使用するシナリオ

次の表に、コンテナー レベルの不変ポリシーによって提供される保護の概要を示します。

シナリオ 禁止されている操作 BLOB 保護 コンテナー保護 アカウント保護
コンテナーは、コンテナー スコープを持つアクティブな時間ベースのアイテム保持ポリシーよって保護されている、または訴訟ホールドが有効、またはその両方です。 Delete BlobPut Blob1Set Blob MetadataPut PageSet Blob PropertiesSnapshot BlobIncremental Copy BlobAppend Block2 コンテナー内のすべての BLOB は、コンテンツとユーザー メタデータを変更できません コンテナー レベルのポリシーが有効な場合、コンテナーの削除は失敗します。 少なくとも 1 つの BLOB が存在するコンテナーがある場合、ストレージ アカウントの削除は失敗します。
コンテナーは、コンテナー スコープを持つ期限切れの時間ベースのアイテム保持ポリシーよって保護されている、かつ訴訟ホールドが有効ではありません Put Blob1Set Blob MetadataPut PageSet Blob PropertiesSnapshot BlobIncremental Copy BlobAppend Block2 削除操作は許可されます。 上書き操作は許可されません。 ポリシーがロックまたはロック解除されているかどうかに関係なく、コンテナーに少なくとも 1 つの BLOB が存在する場合、コンテナーの削除は失敗します。 時間ベースのアイテム保持ポリシーを持つコンテナーが少なくとも 1 つある場合、ストレージ アカウントの削除は失敗します。

ロック解除されたポリシーでは、削除保護は提供されません。

1 Azure Storage により、Put Blob 操作で新しい BLOB を作成することが許可されます。 不変コンテナーの既存の BLOB パスでの以降の上書き操作は、許可されません。

2Append Block 操作は、allowProtectedAppendWrites または allowProtectedAppendWritesAll プロパティが有効になっているポリシーに対してのみ許可されます。 詳細については、「保護された追加 BLOB の書き込みを許可する」を参照してください。

Note

一部のワークロード (SQL Backup to URL など) では、BLOB が作成され、それに追加されます。 コンテナーにアクティブな時間ベースのアイテム保持ポリシーまたは訴訟ホールドがある場合は、このパターンに失敗します。

サポートされているアカウント構成

不変ポリシーは、新規および既存のストレージ アカウントに対してサポートされています。 次の表は、各種類のポリシーでサポートされているストレージ アカウントの種類を示しています。

不変ポリシーの種類 ポリシーのスコープ サポートされるストレージ アカウントの種類 階層型名前空間のサポート
時間ベースのアイテム保持ポリシー バージョン レベルのスコープ 汎用 v2
Premium ブロック BLOB
いいえ
時間ベースのアイテム保持ポリシー コンテナー レベルのスコープ 汎用 v2
Premium ブロック BLOB
汎用 v1 (レガシ)1
BLOB ストレージ (レガシ)
はい
訴訟ホールド バージョン レベルのスコープ 汎用 v2
Premium ブロック BLOB
いいえ
訴訟ホールド コンテナー レベルのスコープ 汎用 v2
Premium ブロック BLOB
汎用 v1 (レガシ)1
BLOB ストレージ (レガシ)
はい

注意

不変性ポリシーは、Network File System (NFS) 3.0 プロトコルまたは SSH ファイル転送プロトコル (SFTP) が有効になっているアカウントではサポートされません。

1 Microsoft は、汎用 v1 アカウントを汎用 v2 にアップグレードすることをお勧めします。これにより、より多くの機能を利用することができます。 既存の汎用 v1 ストレージ アカウントのアップグレードについては、ストレージ アカウントのアップグレードに関する記事を参照してください。

アクセス層

すべての BLOB アクセス層は、不変ストレージをサポートしています。 BLOB のアクセス層を変更するには、Set Blob Tier 操作を使用します。 詳細については、BLOB データのホット、クール、アーカイブ アクセス層に関するページを参照してください。

冗長構成

すべての冗長構成は、不変ストレージをサポートします。 geo 冗長構成では、お客様が管理するフェールオーバーはサポートされていません。 冗長構成の詳細については、「Azure Storage の冗長性」を参照してください。

階層型名前空間のサポート

階層型名前空間のあるアカウントでは、コンテナーをスコープとする不変ポリシーがサポートされます。 ただし、BLOB が不変の状態で、アカウントの階層型名前空間が有効になっている場合、BLOB の名前変更や移動はできません。 名前とディレクトリ構造は必須のコンテナー レベル データを提供し、不変ポリシーの設定後、変更できません。

主にブロック BLOB と追加 BLOB に対して不変ポリシーを構成することをお勧めします。 ディスクへの書き込みがブロックされるため、アクティブな仮想マシンの VHD ディスクを格納するページ BLOB の不変ポリシーを構成することは推奨されません。 時間ベースのポリシーをロックする前に、ドキュメントを十分に確認し、シナリオをテストすることをお勧めします。

BLOB の論理的な削除と不変ストレージ

ストレージ アカウントに対して BLOB の論理的な削除が構成されている場合、訴訟ホールドまたは時間ベースのアイテム保持ポリシーが有効になっているかどうかに関係なく、アカウント内のすべての BLOB に適用されます。 不変ポリシーが適用される前に、保護を強化するために論理的な削除を有効にすることをお勧めします。

BLOB の論理的な削除を有効にした後で不変ポリシーを構成した場合、論理的に削除されたすべての BLOB は、論理的な削除のアイテム保持ポリシーの有効期限が切れた時点で完全に削除されます。 論理的に削除された BLOB は、論理的な削除の保持期間中であれば復元できます。 論理的な削除がまだ行われていない BLOB またはバージョンは、不変ポリシーによって保護されており、時間ベースのアイテム保持ポリシーが期限切れになるか、または訴訟ホールドが削除されるまで、論理的な削除はできません。

BLOB インベントリを使用して不変ポリシーを追跡する

Azure Storage BLOB インベントリは、ストレージ アカウント内のコンテナーの概要と、その中にある BLOB、スナップショット、および BLOB のバージョンを提供します。 BLOB インベントリ レポートを使用すると、リソースに不変ポリシーが構成されているかどうかなど、BLOB とコンテナーの属性を把握できます。

BLOB インベントリを有効にすると、Azure Storage によって 1 日単位でインベントリ レポートが生成されます。 このレポートには、ビジネス要件とコンプライアンス要件に関するデータの概要が示されます。

BLOB インベントリの詳細については、「Azure Storage BLOB インベントリ」を参照してください。

価格

不変ストレージを使用する場合、追加の容量料金は発生しません。 不変データは、変更可能データと同じ方法で価格が設定されます。 Azure Blob Storage の価格設定については、Azure Storage の価格に関するページを参照してください。

BLOB バージョンに対する時間ベースのアイテム保持ポリシーまたは訴訟ホールドを作成、変更、または削除すると、書き込みトランザクション料金が発生します。

請求書の支払いに失敗し、アカウントに有効な時間ベースのアイテム保持ポリシーが有効になっている場合、通常のデータ保持ポリシーは、Microsoft との契約の条項および条件に従って適用されます。 全般的な情報については、「Microsoft でのデータ管理」を参照してください。

機能サポート

Data Lake Storage Gen2、Network File System (NFS) 3.0 プロトコル、または SSH ファイル転送プロトコル (SFTP) を有効にすると、この機能のサポートが影響を受ける場合があります。

これらの機能のいずれかを有効にしている場合は、「Azure Storage アカウントでの Blob Storage 機能のサポート」 を参照して、この機能のサポートを評価してください。

次のステップ