コンテナーの不変性ポリシーを構成する

Azure Blob Storage の不変ストレージを使用すると、ユーザーはビジネスに不可欠なデータを WORM (Write Once, Read Many) 状態で保存できます。 WORM の状態では、ユーザーが指定した期間、データを変更および削除できません。 BLOB データに不変ポリシーを構成することにより、上書きや削除からデータを保護することができます。 不変性ポリシーには、時間ベースの保持ポリシーと訴訟ホールドが含まれています。 Blob Storage の不変ポリシーの詳細については、「不変ストレージを使用してビジネスに不可欠な BLOB データを保存する」を参照してください。

不変性ポリシーは、個々の BLOB バージョンまたはコンテナーのいずれかにスコープ設定できます。 この記事では、コンテナーレベルの不変性ポリシーを構成する方法について説明します。 バージョンレベルの不変性ポリシーを構成する方法については、「BLOB バージョンに対する不変性ポリシーを構成する」を参照してください。

注意

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

コンテナーの保持ポリシーを構成する

コンテナーの時間ベースの保持ポリシーを構成するには、Azure portal、PowerShell、または Azure CLI を使用します。 コンテナー レベルの保持ポリシーは、1 ~ 146,000 日の範囲で構成できます。

Azure portal を使用して時間ベースの保持ポリシーをコンテナーに対して構成するには、次の手順に従います。

  1. 目的のコンテナーに移動します。

  2. 右側の [その他] ボタンを選択し、 [アクセス ポリシー] を選択します。

  3. [Immutable blob storage](不変 BLOB ストレージ) セクションで、 [ポリシーの追加] を選択します。

  4. [ポリシーの種類] フィールドで、 [Time-based retention](時間ベースの保持) を選択し、保持期間を日単位で指定します。

  5. コンテナー スコープでポリシーを作成するには、 [Enable version-level immutability](バージョンレベルの不変性を有効にする) チェック ボックスをオフにします。

  6. 保護された追加書き込みを許可するかどうかを選択します。

    [Append blobs] (追加 BLOB) オプションを使用すると、ワークロードが Append Block 操作を使用して、追加 BLOB の末尾に新しいデータ ブロックを追加できます。

    [ブロック BLOB と追加 BLOB] オプションでは、[Append blobs] (追加 BLOB) オプションと同じアクセス許可に加え、ブロック BLOB に新しいブロックを書き込む権限が追加されます。 これをアプリケーションから直接実行する方法は、Blob Storage API には用意されていません。 ただし、アプリケーションでは、Data Lake Storage Gen2 API にある append メソッドと flush メソッドを使用してこれを実現できます。 また、一部の Microsoft アプリケーションでは、ブロック BLOB を作成してそこに追加する内部 API が使用されます。 ワークロードがこれらのツールのいずれかに依存している場合、これらのツールがブロック BLOB にブロックを追加しようとしたときに発生する可能性のあるエラーを、このプロパティを使用して回避できます。

    これらのオプションの詳細については、「保護された追加 BLOB の書き込みを許可する」を参照してください。

    コンテナーにスコープ設定されている不変性ポリシーの構成方法を示すスクリーンショット

不変性ポリシーを構成したら、それがコンテナーにスコープ設定されていることを確認します。

コンテナーにスコープ設定されている既存の不変性ポリシーを示すスクリーンショット

ロック解除された保持ポリシーを変更する

ロック解除された時間ベースの保持ポリシーを変更して、保持間隔を短縮または延長し、コンテナー内の追加 BLOB への追加の書き込みを許可することができます。 また、ロック解除されたポリシーを削除することもできます。

ロック解除された時間ベースの保持ポリシーを Azure portal で変更するには、次の手順に従います。

  1. 目的のコンテナーに移動します。

  2. [その他] ボタンを選択し、 [アクセス ポリシー] を選択します。

  3. [Immutable blob versions](不変 BLOB バージョン) セクションで、既存のロック解除されたポリシーを見つけます。 [その他] ボタンを選択し、メニューから [編集] を選択します。

  4. ポリシーの新しい保持間隔を指定します。 [Allow additional protected appends](保護された追加をさらに許可する) を選択して、保護された追加 BLOB への書き込みを許可することもできます。

    ロック解除された時間ベースの保持ポリシーの変更方法を示すスクリーンショット

ロック解除されたポリシーを削除するには、 [詳細] ボタン、 [削除] の順に選択します。

Note

[Enable version-level immutability](バージョン レベルの不変性を有効にする) チェック ボックスをオンにすると、バージョンレベルの不変性ポリシーを有効化できます。 バージョンレベルの不変性ポリシーの有効化について、詳しくは「BLOB バージョンに対する不変性ポリシーを構成する」を参照してください。

時間ベースの保持ポリシーをロックする

時間ベースの保持ポリシーのテストが完了したら、そのポリシーをロックできます。 ロックされたポリシーは、SEC 17a-4(f) および他の規制コンプライアンスに準拠しています。 ロックされたポリシーの保持間隔は最大 5 倍まで延長できますが、短縮することはできません。

ポリシーはロックされると、削除できません。 ただし、保持間隔の有効期限が切れた後は BLOB を削除できます。

Azure portal でポリシーをロックするには、次の手順を実行します。

  1. ロック解除されたポリシーがあるコンテナーにアクセスします。
  2. [Immutable blob versions](不変 BLOB バージョン) セクションで、既存のロック解除されたポリシーを見つけます。 [詳細] ボタンを選択し、メニューから [ポリシーのロック] を選択します。
  3. ポリシーをロックすることを確認します。

Azure portal で時間ベースの保持ポリシーをロックする方法を示すスクリーンショット

訴訟ホールドは、訴訟ホールドが明示的にクリアされるまで、不変データを格納します。 訴訟ホールド ポリシーの詳細については、「不変 BLOB データの訴訟ホールド」を参照してください。

Azure portal を使用してコンテナーの訴訟ホールドを構成するには、次の手順に従います。

  1. 目的のコンテナーに移動します。

  2. [その他] ボタンを選択し、 [アクセス ポリシー] を選択します。

  3. [Immutable blob versions](不変 BLOB バージョン) セクションで、 [ポリシーの追加] を選択します。

  4. ポリシーの種類として [訴訟ホールド] を選択します。

  5. 1 つ以上の訴訟ホールド タグを追加します。

  6. 保護された追加書き込みを許可するかどうかを選択し、[保存] を選択します。

    [Append blobs] (追加 BLOB) オプションを使用すると、ワークロードが Append Block 操作を使用して、追加 BLOB の末尾に新しいデータ ブロックを追加できます。

    この設定により、ブロック BLOB に新しいブロックを書き込む権限も追加されます。 これをアプリケーションから直接実行する方法は、Blob Storage API には用意されていません。 ただし、アプリケーションでは、Data Lake Storage Gen2 API にある append メソッドと flush メソッドを使用してこれを実現できます。 また、このプロパティを使用すると、Azure Data Factory などの Microsoft アプリケーションが内部 API を使用してデータ ブロックを追加できます。 ワークロードがこれらのツールのいずれかに依存している場合、これらのツールが BLOB にデータを追加しようとしたときに発生する可能性のあるエラーを、このプロパティを使用して回避できます。

    これらのオプションの詳細については、「保護された追加 BLOB の書き込みを許可する」を参照してください。

    コンテナーにスコープ設定されている訴訟ホールド ポリシーの構成方法を示すスクリーンショット。

不変性ポリシーを構成したら、それがコンテナーにスコープ設定されていることを確認します。

次の図は、時間ベースの保持ポリシーと訴訟ホールドの両方が構成されたコンテナーを示しています。

時間ベースの保持ポリシーと訴訟ホールドの両方が構成されたコンテナーを示すスクリーンショット

訴訟ホールドをクリアするには、 [アクセス ポリシー] ダイアログに移動し、 [詳細] ボタンを選択して、 [削除] を選択します。

次のステップ