Azure Storage のセキュリティ機能を確認する
Azure Storage は、サーバー側暗号化 (SSE) を使用して、データがクラウドに永続化される際に自動的に暗号化を行います。 Azure Storage 暗号化によってデータは保護され、組織のセキュリティおよびコンプライアンス コミットメントを満たすのに役立ちます。
Microsoft は、ほとんどのシナリオにおいて、サービス側の暗号化を使用してデータを保護することをお勧めします。 ただし、Blob Storage と Queue Storage 用の Azure Storage クライアント ライブラリでは、クライアント上のデータを暗号化する必要があるお客様にもクライアント側の暗号化が提供されます。
保存データに対する Azure Storage 暗号化
Azure Storage では、データはクラウドに永続化されるときに自動的に暗号化されます。 暗号化によってデータが保護され、組織のセキュリティとコンプライアンスの要件を満たすことができます。 Azure Storage 内のデータは、利用可能な中で最も強力なブロック暗号の 1 つであり、Federal Information Processing Standards (FIPS) 140-2 に準拠している 256 ビット Advanced Encryption Standard (AES) 暗号化を使用して透過的に暗号化および復号化されます。 Azure Storage 暗号化は、Windows での BitLocker 暗号化に似ています。
Azure Storage の暗号化はすべてのストレージ アカウントで有効であり、無効にすることはできません。 データは既定で保護されるので、Azure Storage 暗号化を利用するために、コードまたはアプリケーションを変更する必要はありません。
ストレージ アカウント内のデータは、パフォーマンス レベル、アクセス層、デプロイ モデルに関係なく暗号化されます。 Archive レベルの BLOB を含め、新規および既存のすべてのブロック BLOB、追加 BLOB、ページ BLOB が暗号化されます。 すべての Azure Storage 冗長性オプションは暗号化をサポートし、geo レプリケーションが有効になっている場合は、プライマリとセカンダリ両方のリージョンのすべてのデータが暗号化されます。 BLOB、ディスク、ファイル、キュー、テーブルなど、すべての Azure Storage リソースが暗号化されます。 すべてのオブジェクト メタデータも暗号化されます。
Azure Storage の暗号化に対して追加のコストはかかりません。
暗号化キーの管理
既定では、新しいストレージ アカウント内のデータは Microsoft マネージド キーで暗号化されます。 引き続き Microsoft マネージド キーを利用してデータを暗号化することも、独自のキーで暗号化を管理することもできます。 独自のキーで暗号化を管理する場合は、次の 2 つのオプションがあります。 どちらかの種類のキー管理またはその両方を使用できます。
Blob Storage と Azure Files 内のデータの暗号化と復号化に使用する "カスタマー マネージド キー" を指定することができます。カスタマー マネージド キーは Azure Key Vault または Azure Key Vault Managed Hardware Security Model (HSM) 内に保存する必要があります。
Blob Storage の操作では、"カスタマー指定のキー" を指定できます。 クライアントは、BLOB データがどのように暗号化および復号化されるかを細かく制御するために読み取り/書き込み要求に暗号化キーを含めることができます。
次の表では、Azure Storage 暗号化のキー管理オプションを比較しています。
キー管理パラメーター | Microsoft のマネージド キー | カスタマー マネージド キー。 | カスタマー指定のキー |
---|---|---|---|
暗号化/暗号化解除の操作 | Azure | Azure | Azure |
サポートされている Azure Storage サービス | All | BLOB Storage、Azure Files | Blob Storage |
キー記憶域 | Microsoft キー ストア | Azure Key Vault または Key Vault HSM | お客様独自のキー ストア |
キーのローテーションの責任 | Microsoft | Customer | Customer |
キー コントロール | Microsoft | Customer | Customer |
キー スコープ | アカウント (既定)、コンテナー、または BLOB | アカウント (既定)、コンテナー、または BLOB | 該当なし |
クライアント側暗号化
.NET、Java、および Python 用の Azure Blob Storage クライアント ライブラリでは、Azure Storage にアップロードする前にクライアント アプリケーション内のデータを暗号化し、クライアントにダウンロードするときにデータの暗号化を解除することができます。 .NET および Python 用の Queue Storage クライアント ライブラリでは、クライアント側の暗号化もサポートされています。
Blob Storage および Queue Storage のクライアント ライブラリでは、ユーザー データを暗号化するために AES が使用されます。 クライアント ライブラリでは、次の 2 つのバージョンのクライアント側暗号化を使用できます。
- バージョン 2 では、AES で Galois/Counter Mode (GCM) モードが使用されます。 Azure Blob Storage と Queue Storage SDK では、v2 を使用したクライアント側の暗号化がサポートされています。
- バージョン 1 では、AES で暗号ブロック チェーン (CBC) モードが使用されます。 Azure Blob Storage と Queue StorageとTable Storage SDK では、v1 を使用したクライアント側の暗号化がサポートされています。