Azure Key Vault 証明書は、TLS/SSL、認証、およびコード署名用の X.509 証明書とそれに関連付けられている秘密キーを管理します。 この記事では、証明書管理に固有のセキュリティに関する推奨事項について説明します。
注
この記事では、Key Vault 証明書に固有のセキュリティ プラクティスについて説明します。 ネットワーク セキュリティ、ID とアクセス管理、コンテナー アーキテクチャなどの包括的な Key Vault セキュリティ ガイダンスについては、「 Azure Key Vault のセキュリティ保護」を参照してください。
証明書のストレージと形式
Key Vault 証明書は、X.509 証明書とその秘密キーを組み合わせ、自動化された管理機能を提供します。
シークレットではなく証明書を格納する: シークレットとして証明書を格納するのではなく、常に Key Vault 証明書オブジェクトの種類を使用します。 証明書オブジェクトには、次の情報が用意されています。
- 自動化されたライフサイクル管理
- 証明機関 (CA) との統合
- 自動更新機能
- 組み込みのバージョン管理
信頼された証明機関を使用する: サポートされている CA と統合して、自動発行と更新を行います。
- DigiCert
- GlobalSign
- その他の統合認証局
Key Vault と証明機関の統合を参照してください。
外部証明書を適切にインポートする: 外部ソースから証明書をインポートする場合:
- PFX または PEM 形式を使用する
- 完全な証明書チェーンを含める
- インポート中に秘密キーを保護する
証明書のインポートを参照してください。
証明書の詳細については、「 Azure Key Vault 証明書について」を参照してください。
証明書のライフサイクル管理
有効期限と停止を防ぐために、適切な証明書ライフサイクル管理を実装します。
自動更新を有効にする: 統合 CA によって発行された証明書の自動更新を構成します。 詳細については、「Azure Key Vault証明書を更新する」を参照してください。
有効期限の前に更新期間を設定する: 有効期限が切れる前に証明書を更新するように構成します。 一般的な方法は、証明書の有効期間の約 80% で更新をトリガーすることです。 CA の発行待ち時間と変更制御プロセスに基づいて、この値を調整します。
証明書の有効期限を監視する: 有効期限の 30 日前に発生する Event Grid
Microsoft.KeyVault.CertificateNearExpiryイベントと、完全なライフサイクルを追跡するためのMicrosoft.KeyVault.CertificateExpiredとMicrosoft.KeyVault.CertificateNewVersionCreatedを使用します。 詳細については、 Event Grid ソースとしての Azure Key Vault に関するページを参照してください。証明書インベントリを維持する: すべての証明書、その目的、所有アプリケーション、有効期限を追跡します。
更新の詳細については、「 チュートリアル: Key Vault で証明書の自動ローテーションを構成する」を参照してください。
証明書のアクセス制御
証明書にアクセスして管理できるユーザーを制御する:
個別の証明書アクセス許可: Azure RBAC を使用して、特定の証明書のアクセス許可を付与します。
- Key Vault証明書ユーザー: 証明書と公開キーを読み取ります。
- Key Vault証明書責任者: 証明書のライフサイクル (作成、インポート、更新、削除) を管理します。
- Key Vault Purge Operator: ソフト削除の保持期間中に、削除された証明書を完全に削除します。
組み込みロールの完全な一覧については、Key Vault のデータ プレーン操作用 Azure 組み込みロールを参照してください。
管理アクセスの制限: 証明書管理操作を承認された担当者のみに制限する
マネージド ID を使用する: アプリケーションは、保存された資格情報を持つサービス プリンシパルではなく、マネージド ID を使用して証明書にアクセスする必要があります
「Azure RBAC を使用して Key Vault 証明書へのアクセスを提供する」を参照してください。
証明書の発行ポリシー
セキュリティ要件を適用するように証明書ポリシーを構成します。
適切な有効期間を設定します。
- パブリックに信頼された TLS 証明書: 現在の CA/ブラウザー フォーラムのベースライン要件に従います。 パブリック TLS の最大有効期間は 200 日 (2026 年 3 月有効) に短縮され、さらに減少する予定です (2027 年は 100 日、2029 年は 47 日間)。 有効期間の短縮と更新の完全な自動化を計画します。
- 内部証明書: 組織のポリシーに基づいて有効性を設定し、ローテーション自動化がサポートする有効期間を短くします。
- コード署名証明書: ターゲット プラットフォームの業界標準に従います。
強力なキー アルゴリズムを使用します。
- RSA: 2048 ビット最小、4096 ビット (高セキュリティ シナリオ向け)
- EC: P-256、P-384、または P-521 曲線
サブジェクトの別名 (SAN) の構成: 必要なすべての DNS 名と IP アドレスを含める
キー使用法拡張機能の設定: 適切なキー使用法 (デジタル署名、キー暗号化) と拡張キー使用法 (サーバー認証、クライアント認証) を指定します
証明書ポリシーの詳細については、「 Azure Key Vault 証明書の作成について」を参照してください。
証明書の監視とアラート
証明書の操作とライフサイクル イベントを追跡します。
診断ログを有効にする: 次を含むすべての証明書操作をログに記録します。
- 証明書の作成とインポート
- 証明書の更新の試行 (成功/失敗)
- 証明書アクセス (証明書の取得、秘密キーの取得)
- 証明書の削除
Azure Key Vault のログ記録を参照してください。
有効期限アラートの構成: Azure Monitor アラートの設定:
- 証明書の有効期限が 30 日以内に切れる
- 更新再試行の失敗
- 承認されていない ID による証明書アクセス
「Azure Key Vault の監視とアラート」を参照してください。
証明書の使用状況を確認する: 各証明書を使用しているアプリケーションとサービスを定期的に監査する
証明書のエクスポートとバックアップ
セキュリティを維持しながら証明書の可用性を保護する:
エクスポート操作の制御: 秘密キーを使用して証明書をエクスポートできるユーザーを制限する (証明書ポリシーのエクスポート可能なフラグ)
論理的な削除を有効にする: 保有期間内 (7 ~ 90 日以内) に誤って削除された証明書を回復します。 Azure Key Vault のソフト削除の概要を参照してください
消去保護を有効にする: 保持期間中の完全な削除を防止します。 「消去保護」を参照してください。
重要な証明書をバックアップする: ディザスター リカバリーのために証明書のバックアップをエクスポートし、安全に保存します。 Azure Key Vault のバックアップを参照する
エクスポートされた証明書を保護する: 証明書をエクスポートする場合:
- PFX ファイルに強力なパスワードを使用する
- エクスポートしたファイルを安全な場所に保存する
- 使用後に一時ファイルを削除する
- エクスポート操作の監査
証明書の透明性とコンプライアンス
証明書の発行の可視性を維持する:
証明書の透明性 (CT) の動作を理解する: Key Vaultの統合証明機関を通じて発行されたパブリックに信頼された証明書の場合、CA は CT ログの送信を処理します。Key Vaultでは有効にしません。 パブリックに信頼された証明書とメタデータは、登録時にAzure境界から離れ、ブラウザーの信頼要件ごとにパブリック CT ログによってログに記録されます。 詳細については、「About Azure Key Vault certificates」の外部 CA および CT ログ処理に関するメモを参照してください。
ドキュメント証明書の目的: 次のレコードを保持します。
- 証明書の目的とそれを所有するアプリケーション
- 証明書発行の承認プロセス
- 証明書の更新手順
自己署名証明書
テストまたは内部目的で自己署名証明書を使用する場合:
非運用環境への制限: 自己署名証明書は、パブリックにアクセス可能なサービスの運用環境では使用しないでください
適切な有効期間を設定する: 自己署名証明書の有効期間を短くする (90 日以下)
信頼の分散を管理する: 自己署名証明書の信頼をクライアントに配布する方法を文書化する
CA によって発行された証明書への移行を計画する: 自己署名証明書を運用環境用の CA によって発行された証明書に置き換える戦略を用意する
自己署名証明書の詳細については、「 Key Vault を使用した証明書の作成」を参照してください。
関連するセキュリティ記事
- Azure Key Vaultをセキュリティで保護する: 包括的なKey Vaultセキュリティ ガイダンス。
- Azure Key Vault キーをセキュリティで保護する: 暗号化キーのセキュリティのベスト プラクティス。
- Azure Key Vault シークレットをセキュリティで保護する: シークレットのセキュリティのベスト プラクティス。