Azure BLOB ストレージに対して要求を行うクライアントは、書き込み操作でその BLOB を暗号化するために AES-256 暗号化キーを指定できます。 BLOB の読み取りまたは書き込みのための後続の要求には、同じキーを含める必要があります。 要求に暗号化キーを含めると、BLOB ストレージ操作の暗号化設定をきめ細かく制御できます。 カスタマー指定のキーは、Azure Key Vault または別のキー ストアに格納できます。
読み取り操作と書き込み操作の暗号化
クライアント アプリケーションが要求時に暗号化キーを指定すると、Azure Storage は BLOB データの読み取りおよび書き込み中に暗号化と暗号化解除を透過的に実行します。 Azure Storage は、暗号化キーの SHA-256 ハッシュを BLOB の内容と共に書き込みます。 このハッシュを使用して、BLOB に対する後続のすべての操作で同じ暗号化キーが使用されているか確認されます。
Azure Storage は、クライアントが要求と共に送信する暗号化キーの格納も管理も行いません。 暗号化または暗号化解除のプロセスが完了するとすぐに、キーは安全に破棄されます。
クライアントが、要求で顧客指定キーを使用して BLOB を作成または更新した場合は、その BLOB に対する以降の読み取りと書き込みの要求でもそのキーを指定する必要があります。 カスタマー指定のキーで既に暗号化されている BLOB に対する要求でキーが指定されていない場合、その要求はエラー コード 409 (競合) で失敗します。
クライアント アプリケーションが要求で暗号化キーを送信し、ストレージ アカウントも Microsoft のマネージド キーまたはカスタマー マネージド キーを使用して暗号化されている場合、Azure Storage は、要求で指定されたキーを暗号化と暗号化解除に使用します。
暗号化キーを要求の一部として送信するために、クライアントは HTTPS を使用して Azure Storage へのセキュリティで保護された接続を確立する必要があります。
各 BLOB スナップショットまたは BLOB バージョンは、独自の暗号化キーを保持できます。
オブジェクト レプリケーションは、カスタマー指定のキーで暗号化されたソース アカウントの BLOB ではサポートされません。
顧客提供キーを指定するためのリクエストヘッダー
REST 呼び出しの場合、クライアントは次のヘッダーを使用して、要求で暗号化キー情報を Blob Storage に安全に渡すことができます。
| リクエスト ヘッダー | 説明 |
|---|---|
x-ms-encryption-key |
書き込み要求と読み取り要求の両方に必要です。 Base64 でエンコードされた AES-256 暗号化キー値です。 |
x-ms-encryption-key-sha256 |
書き込み要求と読み取り要求の両方に必要です。 暗号化キーの Base64 でエンコードされた SHA256 です。 |
x-ms-encryption-algorithm |
書き込み要求の場合は必須、読み取り要求の場合は省略可能です。 指定されたキーを使用してデータを暗号化するときに使用するアルゴリズムを指定します。 このヘッダーの値は AES256 である必要があります。 |
要求に対する暗号化キーの指定は省略できます。 ただし、上記のいずれかのヘッダーを書き込み操作に指定する場合は、それらのすべてを指定する必要があります。
ユーザー委任SASを使用し、signedVersion(sv)が2026-04-06以降に設定されている場合、srhやsrqクエリ パラメーターを使って、SASを使用するリクエストに対して特定のヘッダーやクエリ パラメーターを要求でき、Azure Storage はそれらの値を署名文字列に含まれる正規化された文字列と照合して検証します。 詳細については、「ユーザー委任 SAS を作成する」を参照してください。
顧客指定キーをサポートしている Blob ストレージ操作
次の BLOB ストレージ操作では、要求でカスタマー指定の暗号化キーを送信することをサポートしています。
- Blob を配置
- ブロックリストの配置
- ブロックを置く
- URL からブロックを配置する
- ページを作成
- URL からページを配置する
- ブロックの追加
- BLOB メタデータの設定
- Blob を取得する
- BLOB のプロパティを取得する
- BLOB メタデータを取得する
- スナップショット ブロブ
顧客指定キーをローテーションする
BLOB の暗号化に使用された暗号化キーをローテーションするには、BLOB をダウンロードし、新しい暗号化キーを使用して再アップロードします。
重要
Azure portal を使用して、要求時に提供されたキーで暗号化されたコンテナーまたは BLOB への読み取りおよび書き込みを行うことはできません。
BLOB ストレージに対する要求で指定した暗号化キーは、Azure Key Vault などのセキュリティで保護されたキー ストア内で必ず保護してください。 暗号化キーを使用せずにコンテナーまたは BLOB に対して書き込み操作を試みると、操作は失敗し、そのオブジェクトにアクセスできなくなります。
対応機能
Data Lake Storage Gen2、Network File System (NFS) 3.0 プロトコル、または SSH ファイル転送プロトコル (SFTP) を有効にすると、この機能のサポートが影響を受ける場合があります。 これらの機能のいずれかを有効にしている場合は、「Azure Storage アカウントでの Blob Storage 機能のサポート」 を参照して、この機能のサポートを評価してください。