Azure での暗号化とキー管理
暗号化は、Microsoft Azure でデータのプライバシー、コンプライアンス、データ所在地を確保するための重要な手順です。 また、多くの企業にとって、最も重要なセキュリティに関する考慮事項の 1 つでもあります。 このセクションでは、暗号化とキー管理の設計上の考慮事項と推奨事項について説明します。
設計上の考慮事項
Azure Key Vault に適用されるサブスクリプションとスケールの制限を設定します。
Key Vault には、キーとシークレットのトランザクション制限があります。 特定期間のコンテナーごとのトランザクションを調整するには、Azure の制限に関するページを参照してください。
キー、シークレット、証明書のアクセス許可はコンテナー レベルであるため、Key Vault はセキュリティ境界として機能します。 Key Vault アクセス ポリシーの割り当てにより、キー、シークレット、または証明書へのアクセス許可が個別に付与されます。 これらによって、特定のキー、シークレット、または証明書など、オブジェクト レベルのきめ細かなアクセス許可はサポートされていません (キー管理)。
必要に応じて、アプリケーション固有とワークロード固有のシークレットと共有シークレットを分離して、アクセスを制御します。
HSM (ハードウェア セキュリティ モジュール) で保護されたキーが必要な Premium SKU を最適化します。
基になる HSM は FIPS 140-2 レベル 2 に準拠しています。 サポートされているシナリオを考慮して、FIPS 140-2 レベル 3 に準拠するように Azure 専用 HSM を管理します。
キーのローテーションとシークレットの有効期限を管理します。
Key Vault 証明書を使用して証明書の調達と署名を管理します。 アラート、通知、および証明書の自動更新を設定します。
キー、証明書、およびシークレットのディザスター リカバリーの要件を設定します。
Key Vault サービスのレプリケーションとフェールオーバー機能を設定します。 可用性と冗長性を設定します。
キー、証明書、シークレットの使用状況を監視します。
キー コンテナーまたは Azure Monitor Log Analytics ワークスペースを使用して不正アクセスを検出します。 詳細については、「Azure Key Vault の監視とアラート」を参照してください。
Key Vault のインスタンス化と特権アクセスを委任します。 詳細については、「Azure Key Vault セキュリティ」を参照してください。
Azure Storage 暗号化などのネイティブな暗号化メカニズムにカスタマー マネージド キーを使用するための要件を設定します。
- カスタマー マネージド キー。
- 仮想マシン (VM) のディスク全体の暗号化
- 転送中データの暗号化
- 保存データの暗号化
設計の推奨事項
トランザクション スケールの制限を回避するために、フェデレーション Azure Key Vault モデルを使用します。
Azure Key Vault データ プレーンにお勧めの認可システムは、Azure RBAC です。 詳細については、「Azure ロールベースのアクセス制御 (Azure RBAC) とアクセス ポリシーの比較」を参照してください。
削除されたオブジェクトのリテンション期間の保護を可能にするために、論理的な削除と消去のポリシーを有効にして Azure Key Vault をプロビジョニングします。
キー、シークレット、および証明書を完全に削除する承認を、特別なカスタム Microsoft Entra ロールに制限することで、最小限の特権モデルに従います。
管理を容易にするために、公開証明機関を使用して証明書の管理と更新プロセスを自動化します。
キーと証明書のローテーションの自動化プロセスを確立します。
コンテナーに対してファイアウォールと仮想ネットワーク サービス エンドポイントを有効にして、キー コンテナーへのアクセスを制御します。
プラットフォーム中心の Azure Monitor Log Analytics ワークスペースを使用して、Key Vault の各インスタンス内のキー、証明書、シークレットの使用状況を監査します。
Key Vault のインスタンス化と特権アクセスを委任し、Azure Policy を使用して一貫性のある準拠構成を適用します。
既定で主要な暗号化機能には Microsoft マネージド キーが使用され、必要に応じてカスタマーマネージド キーが使用されます。
アプリケーション キーまたはシークレットには、Key Vault の集中インスタンスを使用しないでください。
環境全体でのシークレットの共有を避けるため、アプリケーション間で Key Vault インスタンスを共有しないでください。