Microsoft Cloud for Sovereignty のキー管理と証明書管理
暗号認証と暗号化は、機密性、プライバシー、およびデータ主権の要件を満たすための効果的な戦略です。 ただし、これらのソリューションの有効性は、基盤となる暗号化技術と運用プロセスのセキュリティと回復力に依存します。 この記事では、クラウドに移行するワークロードを保護するために暗号化キーとデジタル証明書の使用を計画する際に知っておくべき概念について説明します。
キー管理
暗号化マテリアルは、マルチテナントとシングルテナントの両方の展開モードで使用できる Azure Key Vault を使用して Azure に保存・管理されます。 Azure Key Vault (AKV) は、FIPS 140 検証済みのハードウェア セキュリティ モジュールによってサポートされるマルチテナント サービスで、クラウド ネイティブのキー、シークレット、および証明書の管理を提供します。 Azure Key Vault Managed HSM は、組織の セキュリティ ドメイン と関連する暗号化キーに対する完全な管理制御を提供するシングル テナント サービスです。
効果的なキー管理のための推奨事項
プラットフォーム管理は必須ですが、効果的なキー管理の唯一の側面ではありません。 マイクロソフトはまた、効果的なキー管理のためのベストプラクティスをいくつか紹介しています。
アクセス制御
Azure Key Vault の Standard または Premium SKU を使用している場合、適用する権限を最小限にするために、アプリケーション、環境、リージョンごとに 1 つのコンテナーをデプロイすることをお勧めします。 Managed HSM を使用している場合は、コストを管理するために、集中管理されたボールトの数を少なくしてデプロイすることが望ましい場合があります。 展開する SKU に関係なく、ロールベースのアクセス制御 (RBAC) を使用してボールト アクセスを厳密に制御し、各ボールト内のアクセス ポリシーが最小権限の原則に準拠していることを確認する必要があります。 Azure RBAC の定義済みロールを使用して、サブスクリプション、リソース グループ、または特定のキー ヴォルトのみなど、特定のスコープでユーザー、グループ、およびアプリケーションにアクセス権を付与することをお勧めします。 アクセス制御は非常に重要であり、管理プレーンとデータプレーンで推奨されます。
バックアップと復旧
HSM レベルと特定のキーについては、定期的な バックアップ が必要です。 偶発的な削除や悪意のある削除から保護するために、ソフト削除 と完全削除の保護機能を構成することをお勧めします。 キー コンテナーへのアクセスの 監視 およびログ記録には、Managed HSM と完全に統合された Azure Monitor が推奨されます。 詳細については、Azure Managed HSM のベスト プラクティス を参照してください。
キー ローテーション
カスタマー マネージド キー (CMK) の定期的なローテーションが、組織のポリシーによって決められた頻度で実施されていることを確認します。 キーへのアクセス権を持つ管理者が退職したり、役割を変更した場合、または CMK が漏洩した場合にもキーをローテーションする必要があります。 オート ローテーションは、Azure Key Vault と Azure Managed HSM でサポートされています。 可能であれば、ローテーションのプロセスを自動化し、人手を介さずに実行し、有効性を確認するためにテストを行うようにします。 キーが漏洩したような緊急時には、シークレットを即座に再生成する堅牢なシステムが必要です。 このプロセスの自動化が不可能な場合は、証明書の期限切れや停止を防ぐためにアラートを設定することをお勧めします。
注意
シークレット VM の CMK ローテーションはサポートされていますが、自動化プロセスはまだサポートされていません。 こちら では、より多くの推薦を見ることができます。
HSM に関連する推奨事項
一部のお客様は、サードパーティのクラウドまたはオンプレミス上の外部 HSM にキーを保存することで、キーをデータから分離しておくことに関心を示しています。 このステップはオンプレミス環境の管理からの自然な移行のように思えるかもしれませんが、外部 HSM によって、ID、ネットワーク、およびソフトウェア レイヤーに新たなリスクが生じる可能性があります。 外部 HSM を使用すると、パフォーマンス リスクが増加し、遅延の原因となるネットワークの問題、サードパーティの HSM の問題によって発生する SLA の問題、メンテナンスおよびトレーニングのコストなどの懸念が生じる可能性もあります。 さらに、サードパーティ HSM では、ソフト削除や消去保護などの重要な機能が提供されない場合があります。
適切なキー管理を実施するためにソブリン ランディング ゾーン (SLZ) に組み込まれた技術的コントロールの詳細については、ポリシーのポートフォリオ を参照してください。
証明書管理
デジタル セキュリティ証明書は、クラウド アプリケーションの通信を保護するために広く使用されています。 クラウドに移行されるワークロードが増えると、証明書の発行、ローテーション、取り消しなどの証明書管理アクティビティに関連するオーバーヘッドが急速に増加する可能性があります。 ワークロードを移行する予定のお客様は、Microsoft Cloud for Sovereignty クラウド移行の一環として証明書管理計画を策定できるように、デジタル セキュリティ証明書のシナリオを理解する必要があります。
一般的なデジタル証明書のシナリオ
このセクションでは、デジタル証明書を使用して通信を保護する一般的なクラウド シナリオについて説明します。
Web サイト認証と暗号化
Web サイトは、訪問者に対して ID を検証し、通信を暗号化するために TLS 証明書を使用します。 公開 Web サイトは通常、公開証明機関 (CA) からの証明書を使用しますが、組織は一般に公開されていない Web サイトに対してはプライベート CA からの証明書を使用することがよくあります。 いずれの場合も、Web サイト証明書は、有効期限が切れたとき、または証明書の整合性に疑問が生じたときに更新する必要があります。 大規模な Web プレゼンスを持つ組織の場合、これらの証明書の管理には多大な計画と労力が必要になる可能性があります。
サービス認証
分散アプリケーションとマイクロサービスでは、多くの場合、ステートレス セッション モデルが使用されます。これにより、アプリケーション要求を柔軟に処理できますが、セキュリティ リスクを軽減するために追加の認証と暗号化が必要になる場合もあります。 証明書は、アプリケーション層とコンポーネント間の相互認証によく使用されます。 多くの場合、これらのコンポーネントは分散アプリケーション開発チームによって管理されるため、企業全体でデジタル証明書の管理を追跡および監視することが困難になります。
インフラストラクチャ認証
サーバーやネットワーク デバイスでは、企業ネットワーク全体の認証やメンテナンス作業中にクライアント証明書が使用されることがよくあります。 Active Directory や Kerberos などのソリューションを使用する組織では、通常、デプロイされたインフラストラクチャのクライアント証明書を管理する必要があります。
その他の証明書シナリオ
エンドポイント管理ソリューションでは、多くの場合、デバイス証明書を使用して、PC、ラップトップ、モバイル デバイスなどのエンド ユーザー デバイスを認証します。 コード署名証明書は、組織のアプリケーション セキュリティ アプローチの一環として、開発環境でソフトウェアの発行元を確認するために使用されます。
クラウドでの証明書ライフサイクル管理
プラットフォーム管理証明書と顧客管理証明書の比較
転送中のデータの暗号化を提供する Azure PaaS サービスは通常、プラットフォームによって管理され、リソースの作成時に割り当てられる既定のホスト名に関連付けられたデジタル証明書を使用して暗号化を実装します。 クラウドにデプロイするリソースでカスタム ドメイン名を使用する場合、外部ユーザーがサービスにアクセスするときに使用できる証明書を構成する必要があります。 カスタム ドメイン名を使用するように構成されていない Azure サービス間のサービス内通信の場合、転送中のデータを暗号化する既定の手段はプラットフォーム管理証明書です。 カスタム ドメイン名に関連付けられた証明書を使用する場合は、次の例のように、デプロイを計画している Azure サービスの説明書参照してください。
Azure Key Vault で証明書を作成する
Azure Key Vault は、顧客が作成またはインポートした証明書を Azure プラットフォームで使用できるようにするクラウド ネイティブの証明書管理機能を顧客に提供します。 Key Vault で自己署名証明書を作成する、発行者に証明書を要求する、独自の証明機関から証明書をインポートするオプションがあります。 Key Vault は、証明書をエクスポート可能にするかエクスポート不可にするかなど、証明書のポリシーを指定するのにも役立ちます。
オンプレミスで証明書を作成して Azure で管理する
オンプレミス証明機関から証明書を発行する場合は、それらの証明書を Azure Key Vault にインポートして、他の Azure サービスで使用することができます。 証明書を PEM または PFX ファイルとしてエクスポートした後、Azure Key Vault にインポートできます。
サードパーティのソリューションを使用してオンプレミスで証明書を作成および管理する
すでにエンタープライズ グレードの証明書管理機能を備えている組織は、オンプレミスの ソリューションをクラウド内のワークロードと統合するかどうかを検討できます。 多くのオンプレミス証明機関および証明書管理ソリューションは、REST API およびマネージド ID を使用して Key Vault と統合できます。
分散型証明書管理
組織の証明書管理機能を拡張する 1 つの方法は、証明書の発行と管理をアプリケーション チームとインフラストラクチャ チームに分散することです。 Azure Key Vault などのソリューションを使用すると、組織は、キー管理プロセスの管理を単一の運用チームに集中させることなく、許容可能なキー管理テクノロジとプロセスを標準化できます。 いくつかの戦略を使用して、主要な管理責任をアプリケーション チームとインフラストラクチャ チームに委任できます。
管理された証明書
パブリック証明機関からの証明書を必要とする一般向け Web サイトでは、Azure App Service や Azure Front Door などの Azure PaaS サービスで管理される証明書を利用できます。 統合された証明機関からの証明書も、Azure Key Vault で作成、管理、およびローテーションできます。 詳細については、次のリソースを参照してください:
CI/CD パイプラインでの証明書発行の自動化
Dev/Ops プロセスを採用している組織は、CI/CD パイプラインの一部として証明書の発行を自動化できます。 このアプローチでは、一部の証明書管理責任をアプリケーション チームに委任し、Azure DNS、Azure App Service、Azure Key Vault などのネイティブ Azureサービスを使用して独自の証明書をプロビジョニングできるようにします。
エンドポイント証明書の管理
エンドポイント証明書は、サーバーとサービスが認証に証明書を使用する IaaS ワークロードで使用されます。 このシナリオは仮想マシンに関連付けられているため、組織は仮想マシン構成の管理に使用されるものと同じ構成管理ツールまたはビルド自動化ツールを使用してこれらの証明書を管理できます。