論理的な削除、バックアップ、バージョン管理、不変ストレージなど、データ セキュリティの脅威から保護するための適切な方法を選択して構成する
Azure Storage では、Blob Storage と Azure Data Lake Storage Gen2 のデータ保護を提供して、削除または上書きされたデータを回復する必要があるシナリオに向けて準備できるようにします。 データを侵害する可能性があるインシデントが発生する前にデータを最適に保護する方法を検討することが重要です。
基本的なデータ保護に関する推奨事項
ストレージ アカウントとそれに含まれるデータの基本的なデータ保護の対象範囲を検討している場合は、最初に次の手順を実行することをお勧めします。
Azure Resource Manager ロックをストレージ アカウントで構成して、アカウントが削除または構成変更されないようにします。
ストレージ アカウントに対してコンテナーの論理的な削除を有効にして、削除されたコンテナーとその内容を回復します。
BLOB の状態を定期的に保存します。
- Blob Storage ワークロードの場合は、BLOB のバージョン管理を有効にして、BLOB が上書きされるたびにデータの状態を自動的に保存します。
- Azure Data Lake Storage ワークロードの場合は、手動スナップショットを作成して、特定の時点のデータの状態を保存します。
データ保護オプションの概要
次の表は、一般的なデータ保護のシナリオに対して Azure Storage で使用できるオプションをまとめたものです。 状況に応じたシナリオを選択して、使用可能なオプションの詳細を確認してください。 階層型名前空間が有効になっているストレージ アカウントでは、現時点では一部の機能が利用できません。
シナリオ | データ保護オプション | Recommendations (推奨事項) | 保護の利点 | Data Lake Storage で使用可能か |
---|---|---|---|---|
ストレージ アカウントの削除または変更を防止します。 | Azure Resource Manager ロック 詳細情報 |
ストレージ アカウントが削除されないように、Azure Resource Manager ロックを使用してすべてのストレージ アカウントをロックします。 | ストレージ アカウントが削除または構成変更されないようにします。 アカウントのコンテナーまたは BLOB は削除または上書きから保護されません。 |
はい |
制御対象の期間中、BLOB のバージョンの削除を防止します。 | BLOB バージョンの不変ポリシー 詳細情報 |
たとえば、法律または規制コンプライアンス要件を満たすために、ビジネス クリティカルなドキュメントを保護するように個別の BLOB のバージョンの不変ポリシーを設定します。 | BLOB のバージョンが削除されたり、そのメタデータが上書きされたりしないように保護します。 上書き操作を行うと、新しいバージョンが作成されます。 少なくとも 1 つのコンテナーでバージョンレベルの不変性が有効になっている場合は、ストレージ アカウントも削除されないよう保護されます。 コンテナーに少なくとも 1 つの BLOB が存在する場合、コンテナーの削除は失敗します。 |
いいえ |
制御対象の期間中、コンテナーとその BLOB の削除または変更を防止します。 | コンテナーでの不変ポリシー 詳細情報 |
たとえば、法律または規制コンプライアンス要件を満たすために、ビジネス クリティカルなドキュメントを保護するようにコンテナーの不変ポリシーを設定します。 | コンテナーとその BLOB をすべての削除と上書きから保護します。 訴訟ホールドまたはロックされた時間ベースの保有ポリシーが有効になっている場合、ストレージ アカウントも削除から保護されます。 不変ポリシーが設定されていないコンテナーは、削除から保護されません。 |
はい |
指定された期間中、削除されたコンテナーを復元します。 | コンテナーの論理的な削除 詳細情報 |
すべてのストレージ アカウントに対してコンテナーの論理的な削除を有効にします。最小保有期間は 7 日間です。 BLOB のバージョン管理と BLOB の論理的な削除をコンテナーの論理的な削除と共に有効にして、コンテナー内の個々の BLOB を保護します。 異なる保有期間を必要とするコンテナーを別のストレージ アカウントに格納します。 |
保管期間中は、削除されたコンテナーとその内容を復元できます。 コンテナー レベルの操作 (コンテナーの削除など) のみを復元できます。 コンテナーの論理的な削除で、コンテナー内の個々の BLOB はその BLOB が削除されている場合は復元できません。 |
はい |
BLOB が上書きされたときに、以前のバージョンでのその状態を自動的に保存します。 | BLOB バージョン管理 詳細情報 |
BLOB データを最適に保護する必要があるストレージ アカウントについては、コンテナーの論理的な削除と BLOB の論理的な削除と共に、BLOB のバージョン管理を有効にします。 コストを制限するために、バージョン管理を必要としない BLOB データを別のアカウントに格納します。 |
BLOB のあらゆる書き込み操作で、新しいバージョンを作成します。 現在のバージョンが削除または上書きされた場合、以前のバージョンから現在のバージョンの BLOB を復元できます。 | いいえ |
指定された期間中、削除された BLOB または BLOB バージョンを復元します。 | BLOB の論理的な削除 詳細情報 |
すべてのストレージ アカウントに対して BLOB の論理的な削除を有効にします。最小保有期間は 7 日間です。 BLOB データの保護を最適化するために、BLOB のバージョン管理とコンテナーの論理的な削除を BLOB の論理的な削除と共に有効にします。 異なる保有期間を必要とする BLOB を別のストレージ アカウントに格納します。 |
保有期間中、削除された BLOB または BLOB バージョンを復元できます。 | はい |
一連のブロック BLOB を以前の時点に復元します。 | ポイントインタイム リストア 詳細情報 |
ポイントタイム リストアを使用して以前の状態に戻すには、コンテナーを削除するのではなく、個々のブロック BLOB を削除するようにアプリケーションを設計します。 | 一連のブロック BLOB を過去の特定の時点の状態に戻すことができます。 ブロック BLOB に対して実行された操作のみが元に戻されます。 コンテナー、ページ BLOB、または追加 BLOB に対して実行された操作は元に戻されません。 |
いいえ |
指定された時点での BLOB の状態を手動で保存します。 | BLOB スナップショット 詳細情報 |
コストまたはその他の考慮事項により、バージョン管理がシナリオに適していない場合、またはストレージ アカウントの階層型名前空間が有効になっている場合、BLOB のバージョン管理の代替として推奨されます。 | BLOB が上書きされた場合、BLOB をスナップショットから復元できます。 BLOB が削除された場合は、スナップショットも削除されます。 | はい。プレビュー段階 |
BLOB を削除または上書きできますが、データは定期的に 2 つ目のストレージ アカウントにコピーされます。 | Azure Storage オブジェクトのレプリケーション、または AzCopy や Azure Data Factory のようなツールを使用して、2 つ目のアカウントにデータをコピーするための独自ソリューション。 | 予期しない意図的なアクションや予測できないシナリオに対する安心のための保護として推奨されます。 エグレス料金が発生しないように、プライマリ アカウントと同じリージョンに 2 つ目のストレージ アカウントを作成します。 |
プライマリ アカウントが何らかの方法で侵害された場合、2 つ目のストレージ アカウントからデータを復元できます。 | AzCopy と Azure Data Factory がサポートされています。 オブジェクトのレプリケーションはサポートされません。 |
リソースの種類別のデータ保護
次の表は、保護対象のリソースに応じて Azure Storage のデータ保護オプションをまとめたものです。
データ保護オプション | アカウントの削除を防止 | コンテナーの削除を防止 | オブジェクトの削除を防止 | オブジェクトの上書きを防止 |
---|---|---|---|---|
Azure Resource Manager ロック | はい | いいえ | いいえ | いいえ |
BLOB バージョンの不変ポリシー | はい | イエス | イエス | はい |
コンテナーでの不変ポリシー | はい | イエス | イエス | はい |
コンテナーの論理的な削除 | いいえ | 有効 | いいえ | いいえ |
BLOB バージョン管理 | いいえ | 番号 | イエス | はい |
BLOB の論理的な削除 | いいえ | 番号 | イエス | はい |
ポイントインタイム リストア | いいえ | 番号 | イエス | はい |
BLOB スナップショット | いいえ | いいえ | 番号 | はい |
2 つ目のアカウントにデータをコピーするための roll-your-own ソリューション | いいえ | イエス | イエス | はい |
Azure Storage 内でのデータ保護の微妙な違いを理解すると、運用上の分析情報と制限事項のいくつかが明らかになります。
- Azure Resource Manager ロックでは、コンテナーの削除を防止できません。
- バージョン レベルの不変ストレージが有効になっているコンテナーが少なくとも 1 つある場合、ストレージ アカウントの削除は失敗します。
- ポリシーがロックまたはロック解除されているかどうかに関係なく、コンテナーに少なくとも 1 つの BLOB が存在する場合、コンテナーの削除は失敗します。
- 現在のバージョンの BLOB の内容を上書きすると、新しいバージョンが作成されます。 不変ポリシーは、バージョンのメタデータが上書きされないように保護します。
- 訴訟ホールドまたはロックされた時間ベースの保持ポリシーはコンテナー スコープで有効ですが、ストレージ アカウントの削除も防止します。
- 現在、Data Lake Storage ワークロードではサポートされていません。
- AzCopy と Azure Data Factory は、Blob Storage および Data Lake Storage の両方のワークロードでサポートされるオプションです。 オブジェクト レプリケーションは、Blob Storage ワークロードでのみサポートされています。
削除または上書きされたデータの回復
上書きまたは削除されたデータを回復する必要がある場合の対処方法は、有効にしたデータ保護オプションと影響を受けたリソースによって異なります。 次の表では、データを回復するために実行できるアクションについて説明します。
削除または上書きされたリソース | 使用可能な復旧アクション | 復旧の要件 |
---|---|---|
ストレージ アカウント | 削除済みストレージ アカウントの回復を試みる |
ストレージ アカウントは、最初は Azure Resource Manager デプロイ モデルを使用して作成され、過去 14 日以内に削除された。 元のアカウントが削除されて以来、同じ名前の新しいストレージ アカウントが作成されていない。 |
コンテナー | 論理的に削除されたコンテナーとその内容を回復する |
コンテナーの論理的な削除が有効になっており、コンテナーの論理的な削除の保有期間がまだ過ぎていない。 |
コンテナーと BLOB | 2 つ目のストレージ アカウントからデータを復元する | すべてのコンテナーと BLOB の操作が効果的に 2 つ目のストレージ アカウントにレプリケートされている。 |
BLOB (任意の型) | 以前のバージョンから BLOB を復元する |
BLOB のバージョン管理が有効になっており、BLOB に 1 つ以上の以前のバージョンがある。 |
BLOB (任意の型) | 論理的に削除された BLOB を回復する |
BLOB の論理的な削除が有効になっており、論理的な削除の保有期間が過ぎていない。 |
BLOB (任意の型) | スナップショットから BLOB を復元する |
BLOB に 1 つ以上のスナップショットがある。 |
ブロック BLOB のセット | ブロック BLOB のセットを以前の特定時点の状態に復旧する |
ポイントインタイム リストアが有効になっており、復元ポイントが保有期間内にある。 ストレージ アカウントが侵害されておらず、破損もしていない。 |
BLOB バージョン | 論理的に削除されたバージョンを復旧する |
BLOB の論理的な削除が有効になっている |
コストに関する考慮事項の概要
データ保護オプション | コストに関する考慮事項 |
---|---|
ストレージ アカウントに対する Azure Resource Manager ロック | ストレージ アカウントでのロックの構成は無料。 |
BLOB バージョンの不変ポリシー | コンテナーでバージョンレベルの不変性のサポートを有効するために費用はかかりません。 BLOB バージョンに対する時間ベースのアイテム保持ポリシーまたは訴訟ホールドを作成、変更、または削除すると、書き込みトランザクション料金が発生します。 |
コンテナーでの不変ポリシー | コンテナーでの不変ポリシーの構成は無料。 |
コンテナーの論理的な削除 | ストレージ アカウントに対するコンテナーの論理的な削除の有効化は無料。 論理的に削除されたコンテナー内のデータは、論理的に削除されたコンテナーが完全に削除されるまで、アクティブなデータと同じレートで課金されます。 |
BLOB バージョン管理 | ストレージ アカウントに対する BLOB バージョン管理の有効化は無料。 BLOB バージョン管理を有効にすると、アカウント内の BLOB に対するすべての書き込みまたは削除操作によって新しいバージョンが作成されるため、容量コストが増加する可能性があります。 BLOB バージョンは、一意のブロックまたはページに基づいて課金されます。 そのため、ベース BLOB が特定のバージョンから逸脱するほど、コストが増加します。 BLOB または BLOB バージョンの層を変更すると、課金に影響する場合があります。 詳細については、「価格と課金」を参照してください。 コストを管理するには、必要に応じて、ライフサイクル管理を使用して古いバージョンを削除します。 詳細については、「Azure Blob Storage アクセス層の自動化によるコストの最適化」を参照してください。 |
BLOB の論理的な削除 | ストレージ アカウントに対する BLOB の論理的な削除の有効化は無料。 論理的に削除された BLOB 内のデータは、論理的に削除された BLOB が完全に削除されるまで、アクティブなデータと同じレートで課金されます。 |
ポイントインタイム リストア | ストレージ アカウントに対するポイントインタイム リストアの有効化は無料。ただし、ポイントインタイム リストアを有効にすると、BLOB バージョン管理、論理的な削除、および変更フィードも有効になり、それぞれによって他の料金が発生する可能性があります。 復元操作を実行するときにポイントインタイム リストアに対して課金されます。 復元操作のコストは、復元されるデータの量によって異なります。 詳細については、「価格と課金」を参照してください。 |
BLOB のスナップショット | スナップショット内のデータは、一意のブロックまたはページに基づいて課金されます。 そのため、ベース BLOB がスナップショットから逸脱するほど、コストが増加します。 BLOB またはスナップショットの層を変更すると、課金に影響する場合があります。 詳細については、「価格と課金」を参照してください。 コストを管理するには、必要に応じて、ライフサイクル管理を使用して古いスナップショットを削除します。 詳細については、「Azure Blob Storage アクセス層の自動化によるコストの最適化」を参照してください。 |
2 つ目のストレージ アカウントにデータをコピーする | 2 つ目のストレージ アカウントでデータを維持すると、容量とトランザクションのコストが発生します。 2 つ目のストレージ アカウントがソース アカウントとは異なるリージョンにある場合、その 2 つ目のアカウントへのデータのコピーにより、さらにエグレス料金が発生します。 |
障害復旧
Azure Storage では、計画されたイベントや計画外のイベント (一時的なハードウェア障害、ネットワークの停止や停電、大規模な自然災害など) から保護するため、常にデータの複数のコピーが維持されます。 冗長性を確保することで、障害が発生した場合でも、ストレージ アカウントが可用性と耐久性に関する目標を確実に達成できます。
データセンターで障害が発生した場合、ストレージ アカウントが 2 つの地理的リージョン間で冗長になっていると (geo 冗長)、プライマリ リージョンからセカンダリ リージョンにアカウントをフェールオーバーすることができます。
現在、階層型名前空間が有効になっているストレージ アカウントでは、カスタマー マネージド フェールオーバーはサポートされていません。