Azure Key Vault は、証明書、接続文字列、パスワードなどの暗号化キーとシークレットを保護します。 この記事は、キー コンテナーの使用を最適化するのに役立ちます。
別々のキー コンテナーを使用する
各リージョンごとに、各環境 (開発、運用前、運用)、各アプリケーションごとにボルトを使用することをお勧めします。 グラニュラー分離により、アプリケーション、環境、リージョン間でシークレットの共有を防ぎ、侵害が発生した場合の脅威を軽減できます。
別々のキー コンテナーをお勧めする理由
キー ボールトは、保存されているシークレットのセキュリティ境界を定義します。 シークレットを同じコンテナーにグループ化すると、攻撃が懸念事項を超えてシークレットにアクセスできる可能性があるため、セキュリティ イベントの 爆発半径 が増加します。 さまざまな場所にアクセスされてしまう懸念を軽減するには、ある特定のアプリケーションにどのシークレットに対するアクセス権限が "必要である" かを検討し、この線引きに基づいてキー コンテナーを分離します。 アプリケーション別にキー ボールトを分離するのが最も一般的な境界です。 ただし、大規模なアプリケーションでは、関連するサービスのグループごとになど、セキュリティ境界をより細かく設定できます。
コンテナーへのアクセスの制御
暗号化キーとシークレット (証明書、接続文字列、パスワードなど) は機密性が高く、ビジネス 上重要です。 承認されたアプリケーションとユーザーのみを許可することで、キー コンテナーへのアクセスをセキュリティで保護する必要があります。 Azure Key Vault のセキュリティ機能 は、Key Vault アクセス モデルの概要を提供します。 認証と承認について説明します。 また、キー コンテナーへのアクセスをセキュリティで保護する方法についても説明します。
保管庫へのアクセスを制御するための推奨事項は以下のとおりです。
- データ プレーンのロールベースのアクセス制御 (RBAC) アクセス許可モデルを使用して、サブスクリプション、リソース グループ、およびキー コンテナーへのアクセスをロックダウンします。
- Key Vault への永続的なアクセスを必要とするアプリケーション、サービス、ワークロードに対して Key Vault スコープで RBAC ロールを割り当てる
- Privileged Identity Management (PIM) を使用して Key Vault への特権アクセスを必要とするオペレーター、管理者、およびその他のユーザー アカウントに、Just-In-Time の対象となる RBAC ロールを割り当てる
- 少なくとも 1 人の承認者を要求する
- 多要素認証を適用する
- Private Link、ファイアウォール、仮想ネットワークを使用してネットワーク アクセスを制限する
重要
レガシ アクセス ポリシーのアクセス許可モデルには、既知のセキュリティの脆弱性と Priviliged Identity Management のサポートがないため、重要なデータとワークロードには使用しないでください。
保管庫のデータ保護を有効にする
論理的な削除を有効にした後にもシークレットとキー コンテナーの悪意のあるまたは不注意による削除を防ぐ場合は、消去保護を有効にします。
詳細については、「Azure Key Vault の論理的な削除の概要」を参照してください。
ログ記録を有効にする
ボールトのログ記録を有効にします。 また、 アラートを設定します。
バックアップ
消去保護により、ボールトオブジェクトが悪意や誤操作によって削除されるのを最大90日間防ぐことができます。 場合によっては、消去保護が可能なオプションではない場合は、バックアップ コンテナー オブジェクトをお勧めします。バックアップ コンテナー オブジェクトは、コンテナー内で生成された暗号化キーなどの他のソースから再作成することはできません。
バックアップの詳細については、「 Azure Key Vault のバックアップと復元」を参照してください。
マルチテナント ソリューションと Key Vault
マルチテナント ソリューションは、コンポーネントを使用して複数の顧客またはテナントにサービスを提供するアーキテクチャ上に構築されています。 マルチテナント ソリューションは、多くの場合、サービスとしてのソフトウェア (SaaS) ソリューションをサポートするために使用されます。 Key Vault を含むマルチテナント ソリューションを構築する場合は、顧客ごとに 1 つの Key Vault を使用して顧客のデータとワークロードを分離し、 マルチテナントと Azure Key Vault を確認することをお勧めします。
よく寄せられる質問:
Key Vault のロールベースのアクセス制御 (RBAC) アクセス許可モデルのオブジェクト スコープ割り当てを使用して、Key Vault 内のアプリケーション チームに分離性を提供できますか?
いいえ。 RBAC アクセス許可モデルでは、Key Vault 内の個々のオブジェクトへのアクセスをユーザーまたはアプリケーションに割り当てることができますが、読み取り専用です。 ネットワーク アクセス制御、監視、オブジェクト管理などの管理操作には、ボールトレベルのアクセス許可が必要です。 アプリケーションごとに 1 つの Key Vault を使用すると、アプリケーション チーム間でオペレーターが安全に分離できます。
次のステップ
主要な管理のベスト プラクティスの詳細については、以下を参照してください。