シークレット、キー、証明書を管理するためのソリューションを設計する

完了

Azure では、暗号化キーはプラットフォームで管理するか、お客様が管理することができます。

プラットフォーム マネージド キー (PMK) は、Azure によって完全に生成、保存、管理される暗号化キーです。 お客様は PMK を操作しません。 たとえば、 Azure Data Encryption-at-Rest に使用されるキーは、既定で PMK です。

一方、カスタマー マネージド キー (CMK) は、1 人または複数のお客様が読み取り、作成、削除、更新、管理できるキーです。 お客様所有のキー コンテナーまたはハードウェア セキュリティ モジュール (HSM) に保存されているキーは CMK です。 Bring Your Own Key (BYOK) は、お客様が外部のストレージの場所から Azure キー管理サービスにキーをインポートする (取り込む) CMK シナリオです (「Azure Key Vault: Bring Your Own Key の仕様」を参照してください)。

特定の種類のカスタマー マネージド キーは、"キー暗号化キー" (KEK) です。 KEK は、主キーであり、それ自体が暗号化されている 1 つ以上の暗号化キーへのアクセスを制御します。

カスタマー マネージド キーは、オンプレミスに保存するか、またはより一般的なクラウド キー管理サービスに保存できます。

Azure キー管理サービス

Azure には、Azure Key Vault、Azure Managed HSM、Dedicated HSM、Payments HSM など、クラウドにキーを保存して管理するためのオプションがいくつか用意されています。 これらのオプションは、FIPS コンプライアンス レベル、管理オーバーヘッド、および目的のアプリケーションの点で異なります。

Azure Key Vault (Standard レベル):FIPS 140-2 レベル 1 で検証されたマルチテナント クラウド キー管理サービスで、シークレットと証明書の保存にも使用できます。 Azure Key Vault に保存されているキーはソフトウェアで保護され、保存時の暗号化とカスタム アプリケーションに使用できます。 Key Vault は、最新の API、幅広いリージョン デプロイ、および Azure サービスとの統合を提供します。 詳細については、Azure Key Vault の概要に関する記事を参照してください。

Azure Key Vault (プレミアム レベル): FIPS 140-2 レベル 2 で検証されたマルチテナント HSM オファリングで、セキュリティで保護されたハードウェア境界にキーを保存するために使用できます。 Microsoft は、基になる HSM を管理および運用し、Azure Key Vault Premium に保存されているキーは、保存時の暗号化とカスタム アプリケーションに使用できます。 Key Vault Premium は、最新の API、幅広いリージョン デプロイ、および Azure サービスとの統合も提供します。 詳細については、Azure Key Vault の概要に関する記事を参照してください。

Azure Managed HSM: FIPS 140-2 レベル 3 で検証されたシングルテナント HSM オファリングです。これにより、お客様は、保存時の暗号化、キーレス SSL、カスタム アプリケーションのために HSM を完全に制御できます。 お客様は、1 つの論理的な高可用性 HSM アプライアンスとして機能する 3 つの HSM パーティションのプールを受け取ります。Key Vault API を介して暗号化機能を公開するサービスがこれらのフロントエンドに置かれます。 Microsoft は、HSM のプロビジョニング、パッチの適用、メンテナンス、ハードウェアのフェールオーバーを処理しますが、キー自体にはアクセスしません。これはサービスが Azure の Confidential Compute Infrastructure 内で実行されるためです。 マネージド HSM は、Azure SQL、Azure Storage、Azure Information Protection PaaS サービスと統合され、F5 および Nginx を使用したキーレス TLS のサポートを提供します。 詳細については、「Azure Key Vault マネージド HSM とは」を参照してください。

Azure Dedicated HSM: FIPS 140-2 レベル 3 で検証されたベア メタル HSM オファリングであり、Microsoft データセンターに存在する汎用 HSM アプライアンスをリースできるようにします。 お客様は、HSM デバイスに対する完全な所有権を持ち、必要に応じてファームウェアのパッチ適用と更新を行う責任を負います。 Microsoft は、デバイスに対するアクセス許可やキー マテリアルへのアクセス権を持たず、Dedicated HSM は Azure PaaS オファリングと統合されません。 お客様は、PKCS#11、JCE/JCA、KSP/CNG API を使用して HSM を対話操作できます。 このオファリングは、レガシのリフト アンド シフト ワークロード、PKI、SSL オフロード、キーレス TLS (サポートされている統合には、F5、Nginx、Apache、Palo Alto、IBM GW などが含まれます)、OpenSSL アプリケーション、Oracle TDE、Azure SQL TDE IaaS 向けに最も役に立ちます。 詳細については、「Azure Key Vault マネージド HSM とは」を参照してください。

Azure Payments HSM: FIPS 140-2 レベル 3、PCI HSM v3 で検証されたベア メタル オファリングです。これにより、お客様は、支払い処理、支払い資格情報の発行、キーと認証データのセキュリティ保護、機密データ保護など、支払い操作のために Microsoft データセンターで Payment HSM アプライアンスをリースできます。 このサービスは、PCI DSS と PCI 3DS に準拠しています。 Azure Payment HSM は、お客様が完全に管理制御するシングルテナント HSM を提供し、お客様は HSM に排他的にアクセスします。 HSM がお客様に割り当てられると、マイクロソフトはお客様データにアクセスできなくなります。 同様に、HSM が不要になった場合は、HSM がリリースされるとすぐに顧客データがゼロ化および消去され、完全なプライバシーとセキュリティが維持されます。 詳しくは、「Azure Payment HSM について」をご覧ください。

キー コンテナーで操作できるシークレット、キー、証明書の種類の概要については、「Azure Key Vault のキー、シークレット、証明書の概要」を参照してください

Key Vault を使用するためのベスト プラクティス

別々のキー コンテナーを使用する

環境 (開発、実稼働前、および実稼働) ごと、リージョンごとに、アプリケーションごとのコンテナーを使用することをお勧めします。 これにより複数の環境でシークレットを共有することがなくなります。 また、セキュリティ違反が発生した際の脅威を軽減するのにも役立ちます。

別々のキー コンテナーをお勧めする理由

キー コンテナーでは、格納されているシークレットのセキュリティ境界を定義します。 これは、シークレットを同じコンテナーにグループ化すると、攻撃によってさまざまな事項にわたるシークレットにアクセスできるおそれがあるため、セキュリティ イベントの "爆発半径" が大きくなることを意味します。 さまざまな場所にアクセスされてしまう懸念を軽減するには、ある特定のアプリケーションにどのシークレットに対するアクセス権限が "必要である" かを検討し、この線引きに基づいてキー コンテナーを分離します。 アプリケーション別にキー コンテナーを分離するのが最も一般的な境界です。 ただし、大規模なアプリケーションでは、関連するサービスのグループごとになど、セキュリティ境界をより細かく設定できます。

コンテナーへのアクセスの制御

暗号化キーとシークレット (証明書、接続文字列、パスワードなど) は機密性が高く、ビジネスにおいて重要です。 承認されたアプリケーションとユーザーのみを許可することで、キー コンテナーへのアクセスをセキュリティで保護する必要があります。 Azure Key Vault のセキュリティ機能で、Key Vault アクセス モデルの概要を確認できます。 認証と承認について説明します。 また、キー コンテナーへのアクセスをセキュリティで保護する方法についても説明します。

コンテナーへのアクセスを制御することに関わる推奨事項としては次のようなものがあります。

  • サブスクリプション、リソース グループ、およびキー コンテナー (ロールベースのアクセス制御 (RBAC)) へのアクセスをロックダウンする。
  • コンテナーごとにアクセス ポリシーを作成する。
  • 最小限の特権の原則を使用してアクセス権を付与する。
  • ファイアウォールと仮想ネットワーク サービス エンドポイントをオンにする。

コンテナーのデータ保護を有効にする

論理的な削除を有効にした後にもシークレットとキー コンテナーの悪意のあるまたは不注意による削除を防ぐ場合は、消去保護を有効にします。

詳細については、「Azure Key Vault の論理的な削除の概要」を参照してください

ログ記録を有効にする

コンテナーのログ記録を有効にします。 また、アラートを設定します。

Backup

消去保護により、コンテナー オブジェクトの悪意のある削除や不注意による削除を最大 90 日間防ぐことができます。 消去保護が不可能なシナリオでは、コンテナー内で生成された暗号化キーなどの他のソースから再作成できないコンテナー オブジェクトをバックアップすることをお勧めします。

バックアップの詳細については、Azure Key Vault のバックアップと復元に関する記事を参照してください。

マルチテナント ソリューションと Key Vault

マルチテナント ソリューションは、コンポーネントを使用して複数の顧客またはテナントにサービスを提供するアーキテクチャに基づいて構築されます。 マルチテナント ソリューションは、多くの場合、サービスとしてのソフトウェア (SaaS) ソリューションをサポートするために使用されます。 Key Vault を含むマルチテナント ソリューションを構築する場合は、「マルチテナント機能と Azure Key Vault」を確認してください。