保存データに対する Azure Storage 暗号化Azure Storage encryption for data at rest

Azure Storage では、データがクラウドに永続化されるときに自動的に暗号化されます。Azure Storage automatically encrypts your data when it is persisted to the cloud. Azure Storage 暗号化によってデータは保護され、組織のセキュリティおよびコンプライアンス コミットメントを満たすのに役立ちます。Azure Storage encryption protects your data and to help you to meet your organizational security and compliance commitments.

Azure Storage 暗号化についてAbout Azure Storage encryption

Azure Storage 内のデータは、利用可能な最強のブロック暗号の 1 つである 256 ビット AES 暗号化を使って透過的に暗号化および暗号化解除され、FIPS 140-2 に準拠しています。Data in Azure Storage is encrypted and decrypted transparently using 256-bit AES encryption, one of the strongest block ciphers available, and is FIPS 140-2 compliant. Azure Storage 暗号化は、Windows での BitLocker 暗号化に似ています。Azure Storage encryption is similar to BitLocker encryption on Windows.

Azure Storage 暗号化は、Resource Manager と従来のストレージ アカウントの両方を含む、すべてのストレージ アカウントで有効になります。Azure Storage encryption is enabled for all storage accounts, including both Resource Manager and classic storage accounts. Azure Storage 暗号化を無効にすることはできません。Azure Storage encryption cannot be disabled. データは既定で保護されるので、Azure Storage 暗号化を利用するために、コードまたはアプリケーションを変更する必要はありません。Because your data is secured by default, you don't need to modify your code or applications to take advantage of Azure Storage encryption.

ストレージ アカウント内のデータは、パフォーマンス レベル (Standard または Premium)、アクセス層 (ホットまたはクール)、デプロイ モデル (Azure Resource Manager またはクラシック) に関係なく、暗号化されます。Data in a storage account is encrypted regardless of performance tier (standard or premium), access tier (hot or cool), or deployment model (Azure Resource Manager or classic). アーカイブ層のすべての BLOB も暗号化されます。All blobs in the archive tier are also encrypted. すべての Azure Storage 冗長性オプションは暗号化をサポートし、geo レプリケーションが有効になっている場合は、プライマリとセカンダリ両方のリージョンのすべてのデータが暗号化されます。All Azure Storage redundancy options support encryption, and all data in both the primary and secondary regions is encrypted when geo-replication is enabled. BLOB、ディスク、ファイル、キュー、テーブルなど、すべての Azure Storage リソースが暗号化されます。All Azure Storage resources are encrypted, including blobs, disks, files, queues, and tables. すべてのオブジェクト メタデータも暗号化されます。All object metadata is also encrypted. Azure Storage 暗号化に対する追加コストはありません。There is no additional cost for Azure Storage encryption.

2017 年 10 月 20 日より後に Azure Storage に書き込まれたすべてのブロック BLOB、追加 BLOB、またはページ BLOB は暗号化されます。Every block blob, append blob, or page blob that was written to Azure Storage after October 20, 2017 is encrypted. この日付より前に作成された BLOB は、引き続きバックグラウンド プロセスによって暗号化されます。Blobs created prior to this date continue to be encrypted by a background process. 2017 年 10 月 20 日より前に作成された BLOB を強制的に暗号化するには、BLOB を書き換えることができます。To force the encryption of a blob that was created before October 20, 2017, you can rewrite the blob. BLOB の暗号化状態を確認する方法については、「BLOB の暗号化状態を確認する」を参照してください。To learn how to check the encryption status of a blob, see Check the encryption status of a blob.

Azure Storage 暗号化の基になっている暗号化モジュールについて詳しくは、「Cryptography API: Next Generation (暗号化 API: 次世代)」を参照してください。For more information about the cryptographic modules underlying Azure Storage encryption, see Cryptography API: Next Generation.

Azure マネージド ディスクの暗号化とキー管理に関する詳細については、「Azure Managed Disks のサーバー側暗号化」のページを参照してください。Windows VM の場合はこちらを、Linux VM の場合はこちらをご覧ください。For information about encryption and key management for Azure managed disks, see Server-side encryption of Azure managed disks for Windows VMs or Server-side encryption of Azure managed disks for Linux VMs.

暗号化キーの管理についてAbout encryption key management

既定では、新しいストレージ アカウント内のデータは Microsoft マネージド キーで暗号化されます。Data in a new storage account is encrypted with Microsoft-managed keys by default. 引き続き Microsoft マネージド キーを利用してデータを暗号化することも、独自のキーで暗号化を管理することもできます。You can continue to rely on Microsoft-managed keys for the encryption of your data, or you can manage encryption with your own keys. 独自のキーで暗号化を管理する場合は、次の 2 つのオプションがあります。If you choose to manage encryption with your own keys, you have two options. どちらかの種類のキー管理またはその両方を使用できます。You can use either type of key management, or both:

  • BLOB ストレージと Azure Files のデータの暗号化と復号化に使用する " カスタマーマネージド キー " を指定できます。 1、2 カスタマーマネージド キーは、Azure Key Vault または Azure Key Vault Managed Hardware Security Model (HSM) (プレビュー) に格納する必要があります。You can specify a customer-managed key to use for encrypting and decrypting data in Blob storage and in Azure Files.1,2 Customer-managed keys must be stored in Azure Key Vault or Azure Key Vault Managed Hardware Security Model (HSM) (preview). カスタマーマネージド キーの詳細については、Azure Storage 暗号化へのカスタマーマネージド キーの使用に関するページを参照してください。For more information about customer-managed keys, see Use customer-managed keys for Azure Storage encryption.
  • BLOB ストレージの操作では、" カスタマー指定のキー " を指定できます。You can specify a customer-provided key on Blob storage operations. BLOB ストレージ に対して読み取りまたは書き込み要求を行うクライアントは、BLOB データの暗号化と暗号化解除の方法を細かく制御するために、要求に暗号化キーを含めることができます。A client making a read or write request against Blob storage can include an encryption key on the request for granular control over how blob data is encrypted and decrypted. カスタマー指定のキーの詳細については、「BLOB ストレージに対する要求で暗号化キーを指定する」を参照してください。For more information about customer-provided keys, see Provide an encryption key on a request to Blob storage.

次の表では、Azure Storage 暗号化のキー管理オプションを比較しています。The following table compares key management options for Azure Storage encryption.

キー管理パラメーターKey management parameter Microsoft のマネージド キーMicrosoft-managed keys カスタマー マネージド キーCustomer-managed keys カスタマー指定のキーCustomer-provided keys
暗号化/暗号化解除の操作Encryption/decryption operations AzureAzure AzureAzure AzureAzure
サポートされている Azure Storage サービスAzure Storage services supported AllAll BLOB ストレージ、Azure Files1、2Blob storage, Azure Files1,2 BLOB ストレージBlob storage
キー記憶域Key storage Microsoft キー ストアMicrosoft key store Azure Key Vault または Key Vault HSMAzure Key Vault or Key Vault HSM お客様独自のキー ストアCustomer's own key store
キーのローテーションの責任Key rotation responsibility MicrosoftMicrosoft CustomerCustomer CustomerCustomer
キー コントロールKey control MicrosoftMicrosoft CustomerCustomer CustomerCustomer

1 Queue storage でのカスタマー マネージド キーの使用をサポートするアカウントの作成については、キューのカスタマー マネージド キーをサポートするアカウントの作成に関するページを参照してください。1 For information about creating an account that supports using customer-managed keys with Queue storage, see Create an account that supports customer-managed keys for queues.
2 Table Storage でのカスタマー マネージド キーの使用をサポートするアカウントの作成については、テーブルのカスタマー マネージド キーをサポートするアカウントの作成に関するページを参照してください。2 For information about creating an account that supports using customer-managed keys with Table storage, see Create an account that supports customer-managed keys for tables.

注意

Microsoft マネージド キーは、コンプライアンス要件に応じて適切に交換されます。Microsoft-managed keys are rotated appropriately per compliance requirements. 特定のキー交換の要件がある場合は、ユーザーが自分で交換を管理および監査できるように、カスタマー マネージド キーに移行することをお勧めします。If you have specific key rotation requirements, Microsoft recommends that you move to customer-managed keys so that you can manage and audit the rotation yourself.

インフラストラクチャの暗号化を使用してデータを二重に暗号化するDoubly encrypt data with infrastructure encryption

データのセキュリティ保護について高いレベルの保証が必要な顧客は、Azure Storage インフラストラクチャ レベルで 256 ビットの AES 暗号化を有効にすることもできます。Customers who require high levels of assurance that their data is secure can also enable 256-bit AES encryption at the Azure Storage infrastructure level. インフラストラクチャ暗号化が有効な場合、ストレージ アカウントのデータは、2 つの異なる暗号化アルゴリズムと 2 つの異なるキーを使用して、2 回 — サービス レベルで 1 回、インフラストラクチャ レベルで 1 回 — 暗号化されます。When infrastructure encryption is enabled, data in a storage account is encrypted twice — once at the service level and once at the infrastructure level — with two different encryption algorithms and two different keys. Azure Storage データの二重暗号化を使用すると、暗号化アルゴリズムまたはキーのいずれかが侵害される可能性があるシナリオから保護されます。Double encryption of Azure Storage data protects against a scenario where one of the encryption algorithms or keys may be compromised. このシナリオでは、追加の暗号化レイヤーによって引き続きデータが保護されます。In this scenario, the additional layer of encryption continues to protect your data.

サービスレベルの暗号化では、Azure Key Vault での Microsoft マネージド キーまたはカスタマー マネージド キーの使用をサポートしています。Service-level encryption supports the use of either Microsoft-managed keys or customer-managed keys with Azure Key Vault. インフラストラクチャレベルの暗号化は Microsoft マネージド キーに依存し、常に別のキーが使用されます。Infrastructure-level encryption relies on Microsoft-managed keys and always uses a separate key.

インフラストラクチャの暗号化を有効にするストレージ アカウントを作成する方法の詳細については、「データの二重暗号化のためにインフラストラクチャ暗号化を有効にしてストレージ アカウントを作成する」を参照してください。For more information about how to create a storage account that enables infrastructure encryption, see Create a storage account with infrastructure encryption enabled for double encryption of data.

BLOB ストレージの暗号化スコープ (プレビュー)Encryption scopes for Blob storage (preview)

既定では、ストレージ アカウントは、そのストレージ アカウントにスコープが設定されたキーで暗号化されます。By default, a storage account is encrypted with a key that is scoped to the storage account. Microsoft のマネージド キーまたは Azure Key Vault に格納されているカスタマー マネージド キーのどちらを使用するかを選択し、データを暗号化するキーへのアクセスを保護および制御できます。You can choose to use either Microsoft-managed keys or customer-managed keys stored in Azure Key Vault to protect and control access to the key that encrypts your data.

暗号化スコープを使用すると、必要に応じて、コンテナーまたは個々の BLOB のレベルで暗号化を管理できます。Encryption scopes enable you to optionally manage encryption at the level of the container or an individual blob. 暗号化スコープを使用すると、異なる顧客が所有する、同じストレージ アカウントに存在するデータの間にセキュリティで保護された境界を作成できます。You can use encryption scopes to create secure boundaries between data that resides in the same storage account but belongs to different customers.

Azure Storage リソース プロバイダーを使用して、ストレージ アカウントに 1 つ以上の暗号化スコープを作成できます。You can create one or more encryption scopes for a storage account using the Azure Storage resource provider. 暗号化スコープを作成するときに、Microsoft のマネージド キーまたは Azure Key Vault に格納されているカスタマー マネージド キーのどちらでスコープを保護するか指定します。When you create an encryption scope, you specify whether the scope is protected with a Microsoft-managed key or with a customer-managed key that is stored in Azure Key Vault. 同じストレージ アカウントに対する異なる暗号化スコープで、Microsoft のマネージドまたはカスタマー マネージド キーのいずれかを使用できます。Different encryption scopes on the same storage account can use either Microsoft-managed or customer-managed keys.

暗号化スコープを作成したら、コンテナーまたは BLOB を作成するための要求に対してその暗号化スコープを指定できます。After you have created an encryption scope, you can specify that encryption scope on a request to create a container or a blob. 暗号化スコープの作成方法の詳細については、「暗号化スコープの作成と管理 (プレビュー)」を参照してください。For more information about how to create an encryption scope, see Create and manage encryption scopes (preview).

注意

プレビュー段階では、読み取りアクセスの geo 冗長ストレージ (RA-GRS) アカウントと、読み取りアクセスの geo ゾーン冗長ストレージ (RA-GZRS) アカウントを使用した暗号化スコープはサポートされていません。Encryption scopes are not supported with read-access geo-redundant storage (RA-GRS) and read-access geo-zone-redundant storage (RA-GZRS) accounts during preview.

注意

この機能は、階層型名前空間 (Azure Data Lake Storage Gen2) を持つアカウントではまだサポートされていません。This feature is not yet supported in accounts that have a hierarchical namespace (Azure Data Lake Storage Gen2). 詳細については、「Azure Data Lake Storage Gen2 で使用できる BLOB ストレージ機能」を参照してください。To learn more, see Blob storage features available in Azure Data Lake Storage Gen2.

重要

暗号化スコープのプレビューは、非運用環境での使用のみを意図しています。The encryption scopes preview is intended for non-production use only. 運用環境のサービス レベル契約(SLA) は現在使用できません。Production service-level agreements (SLAs) are not currently available.

予期しないコストを回避するには、現在必要ではない暗号化スコープを必ず無効にしてください。To avoid unexpected costs, be sure to disable any encryption scopes that you do not currently need.

暗号化スコープを持つ BLOB またはコンテナーを作成するCreate a container or blob with an encryption scope

暗号化スコープを指定して作成された BLOB は、そのスコープに指定されたキーで暗号化されます。Blobs that are created under an encryption scope are encrypted with the key specified for that scope. BLOB を作成するときに個々の BLOB に暗号化スコープを指定するか、コンテナーを作成するときに既定の暗号化スコープを指定できます。You can specify an encryption scope for an individual blob when you create the blob, or you can specify a default encryption scope when you create a container. コンテナーのレベルで既定の暗号化スコープを指定すると、そのコンテナー内のすべての BLOB は、既定のスコープに関連付けられているキーで暗号化されます。When a default encryption scope is specified at the level of a container, all blobs in that container are encrypted with the key associated with the default scope.

既定の暗号化スコープを持つコンテナー内に BLOB を作成すると、既定の暗号化スコープをオーバーライドする暗号化スコープを指定できます (既定の暗号化スコープのオーバーライドを許可するようにコンテナーが構成されている場合)。When you create a blob in a container that has a default encryption scope, you can specify an encryption scope that overrides the default encryption scope if the container is configured to allow overrides of the default encryption scope. 既定の暗号化スコープがオーバーライドされないようにするには、個々の BLOB のオーバーライドを拒否するようにコンテナーを構成します。To prevent overrides of the default encryption scope, configure the container to deny overrides for an individual blob.

暗号化スコープに属している BLOB に対する読み取り操作は、暗号化スコープが無効になっていない限り、透過的に行われます。Read operations on a blob that belongs to an encryption scope happen transparently, so long as the encryption scope is not disabled.

暗号化スコープを無効にするDisable an encryption scope

暗号化スコープを無効にすると、暗号化スコープで実行される後続の読み取りまたは書き込み操作は、HTTP エラー コード 403 (禁止) で失敗します。When you disable an encryption scope, any subsequent read or write operations made with the encryption scope will fail with HTTP error code 403 (Forbidden). 暗号化スコープを再度有効にすると、読み取りと書き込みの操作は再び正常に続行されます。If you re-enable the encryption scope, read and write operations will proceed normally again.

暗号化スコープが無効の場合、それに対して課金されることはなくなります。When an encryption scope is disabled, you are no longer billed for it. 不要な料金が発生しないように、不要な暗号化スコープを無効にします。Disable any encryption scopes that are not needed to avoid unnecessary charges.

暗号化スコープが Azure Key Vault のカスタマー マネージド キーで保護されている場合は、暗号化スコープを無効にするために、キー コンテナー内の関連付けられているキーを削除することもできます。If your encryption scope is protected with customer-managed keys for Azure Key Vault, then you can also delete the associated key in the key vault in order to disable the encryption scope. Azure Key Vault 内のカスタマー マネージド キーは論理的な削除と消去保護によって保護されており、削除されたキーには、それらのプロパティによって定義されている動作が適用されることに注意してください。Keep in mind that customer-managed keys in Azure Key Vault are protected by soft delete and purge protection, and a deleted key is subject to the behavior defined for by those properties. 詳細については、Azure Key Vault のドキュメントで次のトピックのいずれかを参照してください。For more information, see one of the following topics in the Azure Key Vault documentation:

注意

暗号化スコープを削除することはできません。It is not possible to delete an encryption scope.

次のステップNext steps