次の方法で共有


データ暗号化モデル

Azure リソース プロバイダーが保存時の暗号化を実装する方法を理解するには、さまざまな暗号化モデルとその長所と短所を理解する必要があります。 共通の言語と分類を確保するために、Azure リソース プロバイダーはこれらの定義を共有します。

Azure では、プラットフォームマネージド キーを使用して、保存データが既定で自動的に暗号化されます。 必要に応じて、セキュリティとコンプライアンスの要件に基づいて他のキー管理アプローチを選択できます。 サーバー側の暗号化には、次の 3 つのシナリオがあります。

  • プラットフォームマネージド キーを使用したサーバー側暗号化 (既定)

    • Azure リソース プロバイダーは、暗号化と暗号化解除の操作を実行します。
    • Microsoft はキーを自動的に管理します。
    • 構成は必要なく、既定で有効になっています。
    • 完全なクラウド機能。
  • Azure Key Vault でのカスタマー マネージド キーを使用したサーバー側暗号化 (省略可能)

    • Azure リソース プロバイダーは、暗号化と暗号化解除の操作を実行します。
    • キーは Azure Key Vault を使用して制御します。
    • ユーザーの構成と管理が必要があります。
    • 完全なクラウド機能。
  • ユーザーが制御するハードウェアでのカスタマー マネージド キーを使用したサーバー側暗号化 (高度なオプション)

    • Azure リソース プロバイダーは、暗号化と暗号化解除の操作を実行します。
    • ユーザーが制御するハードウェアでキーを制御します。
    • 複雑な構成と限られた Azure サービスのサポート。
    • 完全なクラウド機能。

サーバー側の暗号化モデルは、Azure サービスが実行する暗号化を指します。 そのモデルでは、リソース プロバイダーが暗号化および復号化操作を実行します。 たとえば、Azure Storage では、プレーンテキスト操作でデータを受け取り、暗号化および複合化操作を内部で実行します。 リソース プロバイダーは、指定された構成に応じて、Microsoft または顧客が管理する暗号化キーを使用する場合があります。

サーバーのスクリーンショット。

保存時の各サーバー側暗号化モデルには、キー管理に関する独特な特徴があります。 これらの特性には、暗号化キーを作成および格納する場所と方法、アクセス モデルとキーローテーション手順が含まれます。

クライアント側の暗号化については、次の点を考慮します。

  • Azure サービスでは、復号化されたデータを表示できません。
  • ユーザーがオンプレミス (または別のセキュリティで保護されたストア) でキーを管理および保管します Azure サービスにはキーへのアクセス権がありません。
  • クラウド機能の削減。

Azure でサポートされている暗号化モデルは、 クライアント暗号化サーバー側暗号化の 2 つの主要なグループに分割されます。 使用する保存時の暗号化モデルに関係なく、Azure サービスでは、TLS や HTTPS などのセキュリティで保護されたトランスポートの使用が常に推奨されます。 そのため、トランスポート内の暗号化はトランスポート プロトコルで対処する必要があり、使用する保存時の暗号化モデルを決定する際の大きな要因にはなってはいけません。

クライアント側暗号化モデル

クライアント暗号化モデルとは、サービスまたは呼び出し元アプリケーションがリソース プロバイダーまたは Azure の外部で実行する暗号化を指します。 Azure のサービス アプリケーション、または顧客データ センターで実行されているアプリケーションで暗号化を実行できます。 どちらの場合も、この暗号化モデルを使用すると、Azure リソース プロバイダーは暗号化されたデータ BLOB を受け取ります。データの暗号化を解除したり、暗号化キーにアクセスしたりすることはありません。 このモデルでは、呼び出し元のサービスまたはアプリケーションがキー管理を処理し、Azure サービスに対して不透明な状態を維持します。

クライアントのスクリーンショット。

プラットフォームマネージド キーを使用したサーバー側暗号化 (既定)

ほとんどのお客様にとって、重要な要件は、保存時に常にデータが暗号化されるようにすることです。 プラットフォーム マネージド キー (旧称サービスマネージド キー) を使用したサーバー側暗号化は、既定で自動暗号化を提供することで、この要件を満たします。 この方法を使用すると、保存時の暗号化が可能になり、キーの発行、ローテーション、バックアップなどのすべてのキー管理の側面を Microsoft に任せずに、暗号化キーを構成または管理する必要はありません。

ほとんどの Azure サービスでは、このモデルが既定の動作として実装され、顧客の操作を必要とせずに、プラットフォームで管理されたキーを使用して保存データが自動的に暗号化されます。 Azure リソース プロバイダーは、キーを作成し、セキュリティ保護されたストレージに保存し、必要なときに取得します。 このサービスはキーへのフル アクセスを持ち、資格情報のライフサイクル管理を完全に制御し、堅牢な暗号化保護を提供し、管理オーバーヘッドをゼロに抑えます。

マネージドのスクリーンショット。

プラットフォームで管理されるキーを使用したサーバー側の暗号化は、保存時の暗号化の必要性に対応し、お客様へのオーバーヘッドはゼロです。 この暗号化は、Azure サービス全体で既定で有効になっており、顧客の構成や管理を必要とせずに自動データ保護を提供します。 お客様は、追加の手順、コスト、または継続的な管理を必要とせず、Azure サービスにデータを格納するとすぐに堅牢な暗号化保護を利用できます。

プラットフォームで管理されるキーを使用したサーバー側の暗号化は、サービスがキーを格納および管理するためのフル アクセス権を持つ必要があることを意味します。 一部のお客様は、セキュリティが強化されていると感じるのでキーを管理したい場合は、このモデルを評価するときに、カスタム キー ストレージ ソリューションに関連するコストとリスクを考慮してください。 多くの場合、組織は、リソースの制約またはオンプレミス ソリューションのリスクが、保存時の暗号化キーのクラウド管理のリスクよりも大きいと判断する場合があります。 ただし、暗号化キーの作成またはライフサイクルを管理することを要件としている組織や、サービスの管理を担当する社員ではない社員にサービスの暗号化キーを管理させる (つまり、サービスの全体的な管理モデルからキー管理が分離されている) ことを要件としている組織にとっては、このモデルが十分でない場合があります。

キーへのアクセス

プラットフォームで管理されるキーでサーバー側暗号化を使用する場合、サービスはキーの作成、ストレージ、およびサービス アクセスを管理します。 通常、基本的な Azure リソース プロバイダーは、データに近く、すばやくアクセスできるストアにデータ暗号化キーを格納しますが、キー暗号化キーはセキュリティで保護された内部ストアに格納されます。

利点

  • 簡単なセットアップ。
  • Microsoft は、キーのローテーション、バックアップ、冗長性を管理します。
  • カスタム キー管理スキームの実装に関連するコストやリスクは発生しません。

考慮事項

  • 暗号化キー (キーの指定、ライフサイクル、失効など) を顧客が制御することはありません。 このオプションは、ほとんどのユース ケースに適していますが、特殊なコンプライアンス要件を満たしていない可能性があります。
  • サービスの全体的な管理モデルからキー管理を分離する機能はありません。 職務の分離を必要とする組織には、カスタマー マネージド キーが必要な場合があります。

Azure Key Vault と Azure Managed HSM でのカスタマー マネージド キーを使用したサーバー側暗号化 (省略可能)

組織で、既定のプラットフォームで管理される暗号化を超えて暗号化キーを制御するための特定の要件があるシナリオでは、必要に応じて、Key Vault または Azure Managed HSM でカスタマー マネージド キーを使用してサーバー側の暗号化を選択できます。 このアプローチは、保存時の既定の暗号化に基づいて構築されており、Azure が暗号化と暗号化解除の操作を引き続き処理している間、お客様は独自のキーを使用できます。

一部のサービスでは Azure Key Vault のルート キー暗号化キーのみを保存し、暗号化されたデータ暗号化キーは、データに近い内部の場所に保存されます。 このシナリオでは、お客様は Key Vault に自分のキーを持ち込んだり (BYOK – Bring Your Own Key)、新しいキーを生成したり、それらを使用して目的のリソースを暗号化したりできます。 リソース プロバイダーは暗号化と暗号化解除の操作を実行しますが、顧客が構成したキー暗号化キーを、すべての暗号化操作のルート キーとして使用します。

キーの暗号化キーを失うことは、データを失うことを意味します。 このため、キーは削除しないでください。 キーを作成または回転するときは、常にキーをバックアップします。 KEK がローテーションされると、サービスはデータ暗号化キーを新しいキー バージョンで再ラップします。基になるデータは再暗号化されません。 すべてのデータ暗号化キーが再ラップされるまで、古いキーバージョンと新しいキーバージョンの両方を有効にしておく必要があります。 偶発的または悪意のある暗号化消去から保護するには、キー暗号化キーを格納する任意のコンテナーで Soft-Delete と消去の保護 を有効にする必要があります。 キーを削除する代わりに、キー暗号化キーで false に設定します。 アクセス制御を使用して、Azure Key Vault またはマネージド HSM 内の個々のユーザーまたはサービスへのアクセスを取り消します。

カスタマー マネージド キー のシナリオでは、HSM で保護されたキーを要求するコンプライアンス要件の最小値として、Azure Key Vault Premium レベル (HSM ベース) をお勧めします。 主要な主権または専用 HSM 容量を必要とするワークロードには、Azure Managed HSM をお勧めします。

Azure Key Vault と Azure Managed HSM のカスタマー マネージド キーをサポートするサービスの一覧については、「Azure Key Vault と Azure Managed HSM で CMK をサポートするサービス」を参照してください。

キーへのアクセス

Azure Key Vault のユーザー管理キーを使用するサーバー側暗号化モデルには、必要に応じて暗号化と複合化を行うためのキーにアクセスするサービスが含まれます。 保存時の暗号化を、アクセス制御ポリシーを介したサービスにアクセスできるようにします。 このポリシーによって、キーを受け取るためのサービス ID アクセス許可が付与されます。 関連付けられたサブスクリプションに代わって実行される Azure サービスを、そのサブスクリプション内の ID と共に構成できます。 サービスでは、Microsoft Entra 認証を実行でき、サブスクリプションを代行するサービスとして認識される認証トークンを受け取れます。 その後、サービスは Key Vault にトークンを提示して、アクセス権が付与されたキーを取得します。

暗号化キーを使用する操作では、暗号化解除、暗号化、ラップキーの解除、ラップキー、検証、署名、取得、一覧表示、更新、作成、インポート、削除、バックアップ、復元のいずれかの操作にサービス ID アクセス権を付与できます。

保存データの暗号化または暗号化解除に使用するキーを取得するには、Resource Manager サービス インスタンスが実行するサービス ID に UnwrapKey (暗号化解除用のキーを取得するため) と WrapKey (新しいキーの作成時にキーコンテナーにキーを挿入する) が必要です。

Key Vault の承認の詳細については、 Azure Key Vault のドキュメントのキー コンテナーのセキュリティ保護に関するページを参照してください。

利点

  • 使用されるキーを完全に制御する – 暗号化キーは、自分の管理下にある Key Vault で管理されます。
  • 1 つのマスターに対して複数のサービスを暗号化する機能。
  • サービスの全体的な管理モデルからキー管理を分離できます。
  • リージョン間でサービスとキーの場所を定義できます。

デメリット

  • キー アクセス管理は、お客様が全責任を負います。
  • ライフサイクル管理の重要な部分は、お客様が完全に責任を持ちます。
  • 追加のセットアップと設定のオーバーヘッド。

カスタマー マネージド ハードウェアでのカスタマー マネージド キーを使用したサーバー側暗号化 (特殊化されたオプション)

一部の Azure サービスでは、特殊なセキュリティ要件を持つ組織に対して Host Your Own Key (HYOK) キー管理モデルが有効になります。 この管理モードは、Azure Key Vault の既定のプラットフォーム管理暗号化とオプションのカスタマー マネージド キーを超えて、保存データを暗号化し、Microsoft の制御の完全な外部にある独自のリポジトリ内のキーを管理する必要がある、厳しく規制されたシナリオで役立ちます。

このモデルでのサービスは、外部サイトのキーを使って、データ暗号化キー (DEK) を解読する必要があります。 パフォーマンスと可用性の保証が影響を受け、構成が大幅に複雑になります。 さらに、暗号化と暗号化解除の操作中にサービスが DEK にアクセスできないため、このモデルの全体的なセキュリティ保証は、キーが Azure Key Vault でカスタマー マネージドされている場合と似ています。 そのため、このモデルは、Azure Key Vault のプラットフォームマネージド キーまたはカスタマー マネージド キーでは満たされない、非常に具体的な規制またはセキュリティ要件がない限り、ほとんどの組織には適していません。 これらの制限により、ほとんどの Azure サービスでは、顧客が管理するハードウェアでカスタマー マネージド キーを使用したサーバー側暗号化がサポートされていません。 二重キー暗号化の 2 つのキーのうちの 1 つは、このモデルに従います。

キーへのアクセス

ユーザーが管理するハードウェアでカスタマー マネージド キーでサーバー側暗号化を使用する場合は、構成したシステムでキー暗号化キーを維持します。 このモデルをサポートする Azure サービスは、顧客が提供するキー ストアへのセキュリティで保護された接続を確立する方法を提供します。

利点

  • 暗号化キーは顧客が提供するストアによって管理されるため、使用されるルート キーを完全に制御できます。
  • 1 つのマスターに対して複数のサービスを暗号化する機能。
  • サービスの全体的な管理モデルからキー管理を分離できます。
  • リージョン間でサービスとキーの場所を定義できます。

デメリット

  • キーのストレージ、セキュリティ、パフォーマンス、可用性については、お客様が責任を負います。
  • キー アクセス管理は、お客様が全責任を負います。
  • ライフサイクル管理の重要な部分は、お客様が完全に責任を持ちます。
  • 大幅なセットアップ、構成、および継続的なメンテナンス コストが発生します。
  • お客様のデータセンターと Azure データセンターの間のネットワーク可用性への依存関係が増えています。