キーコンテナー(Azure Key Vault)を使った証明書管理
キーコンテナー(Azure Key Vault)は、アプリケーションの秘密情報や証明書、暗号化キーなどの機密情報を安全に格納するためのソリューションです。
証明書の管理では証明書の保管だけではなく自動更新や期限切れの通知が出来ます。
本記事ではキーコンテナー(Azure Key Vault)の証明書関連の手順を整理しています。
リソース作成から自己証明書の生成、削除、復元、インポート、期限切れ通知設定までの操作を纏めました。
キーコンテナー(Azure Key Vault)のリソース作成
Azure Key Vaultとは
キーコンテナー(Azure Key Vault)は、クラウドネイティブのセキュリティサービスです。
機密情報の安全な管理を実現します。
キー、シークレット、証明書などの機密情報を安全に格納する事が出来ます。
Application Gateway等の証明書の管理、ディスク暗号化のカスタムマネージドキー(CMK)の保管、Azure Kubernetes Service (AKS)のシークレット保管等にも利用されます。
今回は証明書周りの操作を中心に纏めています。
設定内容
キーコンテナー(Azure Key Vault)の設定内容です。
検証目的なのでコンテナーの保持期間は7日間、ネットワークアクセスはすべてのネットワークを許可にしています。
実環境での利用時には環境に合せてアクセス元の制限を行うようにします。
区分 | 項目 | 設定値 |
基本 | Key Vault名 | test-postgresql-flexible-server |
場所 | East US 2 | |
価格レベル | 標準 | |
削除されたコンテナーを保持する期間 | 7日間 | |
消去保護 | 消去保護を無効にする | |
アクセスポリシー | アクセス制御 | Azure ロールベースのアクセス制御 |
ネットワーク | パブリックアクセスを有効にする | チェック有 |
許可するアクセス元 | すべてのネットワーク |
価格レベルについて
価格レベルはStandard(標準)とPremium(プレミアム)があります。
Standard(標準)はソフトウェア キーを使用して暗号化するのに対して、Premium(プレミアム)はハードウェア セキュリティ モジュール (HSM) で保護されたキーを含みます。
Key Vault の価格
Azure Key Vault について
作成手順
公式サイトを参考にキーコンテナー(Azure Key Vault)のリソースを作成します。
クイック スタート:Azure portal を使用してキー コンテナーを作成する
アクセス制御設定
キーコンテナー(Azure Key Vault)で証明書操作を行う為の権限を付与します。
キー コンテナー証明書責任者の権限を付与します。
Key Vault データ プレーン操作のための Azure の組み込みロール
※後ほど実施する証明書の連絡先設定にはキーコンテナー管理者の権限が必要になります。
キーコンテナー(Azure Key Vault)で証明書を生成、バックアップ、削除、復元
証明書を生成
公式サイトを参考に証明書を生成します。
クイック スタート:Azure portal を使用して Azure Key Vault から証明書の設定と取得を行う
証明書を確認
生成した証明書を確認します。
作成した証明書を表示します。 | |
発行ポリシーを表示します。 証明書の作成で設定した内容が表示されます。 |
|
証明書自体を選択するプロパティが表示されます。 証明書のダウンロードも出来ます。 |
バックアップのダウンロード
証明書のバックアップは個別に出来ます。
バックアップのダウンロード | |
証明書の画面でバックアップのダウンロードを選択します。 | |
バックアップ作成確認画面が表示されます。 ダウンロードを選択します。 |
証明書の削除、回復
証明書の削除は2段階あります。論理削除と完全削除になります。
証明書の削除 | |
証明書の画面で削除が出来ます。 ※この段階では論理削除である為復元可能です。 |
|
完全に削除する場合や回復する場合は、削除された証明書の管理を利用します。 ※回復を選択すると削除した証明書を元に戻す事が出来ます。 |
|
消去の確認メッセージが表示されます。 削除を選択します。 |
復元(リストア)
証明書をバックアップから復元します。
バックアップからの復元 | |
バックアップからの復元を選択します。 | |
事前にダウンロードしておいた証明書のバックアップファイルを選択して開きます。 | |
ファイルが読みこまれ証明書がリストアされます。 |
※復元は同じサブスクリプションのキーコンテナー(Azure Key Vault)にしか出来ないので注意が必要です。(バックアップ時のメッセージにも表示されています。)
証明書のインポート
キーコンテナー(Azure Key Vault)では自身が作成した公的証明書や自己証明書をインポートして管理出来ます。
チュートリアル:Azure Key Vault に証明書をインポートする
証明書のインポート | |
証明書のリソースメニューで生成/インポートを選択します。 | |
インポートする証明書のファイルを選択ししてアップロードします。 ※PFX形式のみ対応になります。 |
|
完了欄にインポートされた証明書が表示されます。 |
Let’s Encryptの証明書発行からOpenSSlを使った証明書をpem形式からpfx形式への変換についてはこちらに纏めています。
DNS-01 challenge(DNS認証)を利用したLet’s Encryptの証明書発行手順についてはこちらに纏めています。
キーコンテナー(Azure Key Vault)で証明書の期限切れ通知
キーコンテナー(Azure Key Vault)で証明書を管理すると期限切れ前にメール通知出来ます。
証明書有効期間で何パーセント超えた場合や期限切れ何日前にメール通知の指定が出来ます。
証明書の連絡先設定
期限切れを通知するメールアドレスを登録します。
※キー コンテナー証明書責任者のロール(権限)では出来ません。キーコンテナー管理者等の証明書連絡先を追加するロール(権限)が必要です。
メールアドレス登録 | |
証明書のリソースメニューを選択します。 ※電子メールアドレスは複数設定出来ます。 |
証明書の期限切れ通知設定
証明書の期限切れ通知は発行ポリシーで設定します。
証明書の発行ポリシーは該当の証明書のみに適用されます。
証明書期限切れ通知設定 | |
対象の証明書で発行ポリシーを選択します。 | |
期限切れ通知の設定は有効期間のアクションタイプと有効期間の2つ設定から構成されます。
設定が終わったら保存します。 |
|
最後に
今回はキーコンテナー(Azure Key Vault)の証明書関連の操作手順を纏めました。
キーコンテナー(Azure Key Vault)を使う事で証明書期限切れ通知やも出来て便利かと思います。
-
- 期限切れ通知メール例
- Subject:Your Azure Key Vault certificate will expire on 期限切れ日時(例;March 25, 2023 3:07 UTC)
- 本文:Your certificate “証明書の名前" in Azure Key Vault “キーコンテナー(Azure Key Vault)名" must be renewed by before 期限切れ日時(例;March 25, 2023 3:07 UTC)
- 期限切れ通知メール例
Azure Application GatewayやAzure Front Doorとの連携も出来る為、Azureでの証明書管理にキーコンテナー(Azure Key Vault)を使うのは非常に良いと思いました。
キーコンテナー(Azure Key Vault)のシークレットについてはこちらに纏めています。
シークレット作成手順やマネージドIDを使ったシークレットの参照方法も記載しています。