Azure Key Vaultでの証明書管理方法(証明書生成・削除・復元・インポート・期限切れ通知までの手順)
Azure Key Vault(キーコンテナー)の証明書関連の操作手順です。
Azure Key Vaultのリソースの作成から自己署名証明書の生成、削除、復元、インポート、期限切れ通知設定までの操作をまとめました。
Azure Key Vaultは、アプリケーションのシークレット情報や証明書、暗号化キーなどの機密情報を安全に格納するためのソリューションです。
証明書の管理では、証明書の保管だけでなく、自動更新や有効期限切れの通知も可能です。
Azure Key Vaultのリソース作成からロールの割り当てまでの手順
Azure Key Vaultとは
Azure Key Vaultは、クラウドネイティブなセキュリティサービスです。
機密情報の安全な管理を実現します。
キー、シークレット、証明書などの機密情報を安全に格納することができます。
Azure 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 を使用してキー コンテナーを作成する
アクセス制御(IAM)でロールの割り当てを追加
ユーザーにAzure Key Vaultで証明書操作を行うための権限を付与します。
キー コンテナー証明書責任者のロールを割り当てます。
Key Vault データ プレーン操作のための Azure の組み込みロール
※後ほど実施する証明書の連絡先設定には、キー コンテナー管理者の権限が必要です。
—広告—
Azure Key Vaultで自己署名証明書を生成、バックアップ、削除、復元
自己署名証明書を生成
公式サイトを参考に、自己署名証明書を生成します。
クイック スタート:Azure portal を使用して Azure Key Vault から証明書の設定と取得を行う
生成した自己署名証明書を確認
生成した自己署名証明書を確認します。
生成した自己署名証明書を確認 | |
生成した証明書を表示します。 | ![]() |
発行ポリシーを表示します。 証明書の作成時に設定した内容が表示されます。 |
![]() |
証明書自体を選択するプロパティが表示されます。 証明書のダウンロードもできます。 |
![]() |
証明書のバックアップをダウンロード
証明書をダウンロードしてバックアップすることができます。
バックアップのダウンロード | |
証明書の画面でバックアップのダウンロードを選択します。 | ![]() |
バックアップ作成の確認画面が表示されます。 ダウンロードを選択します。 |
![]() |
証明書削除および回復の手順
証明書の削除には2段階があります。
論理削除と完全削除です。
証明書の削除 | |
証明書の画面で削除ができます。 ※この段階では論理削除のため、復元が可能です。 |
![]() |
完全に削除する場合や回復する場合は、削除された証明書の管理を利用します。 ※回復を選択すると、削除した証明書を元に戻すことができます。 |
![]() |
消去の確認メッセージが表示されます。 削除を選択します。 |
![]() |
証明書をバックアップから復元(リストア)
証明書をバックアップから復元します。
バックアップからの復元 | |
証明書でバックアップの復元を選択します。 | ![]() |
事前にダウンロードしておいた証明書のバックアップファイルを選択して開きます。 | ![]() |
ファイルが読み込まれ、証明書がリストアされます。 | ![]() |
※復元は同じサブスクリプションのAzure Key Vaultにしかできないため、注意が必要です。バックアップ時のメッセージにも表示されています。
—広告—
Azure Key Vaultへの証明書インポート手順
Azure Key Vaultでは、自身が作成した公開証明書や自己証明書をインポートして管理できます。
チュートリアル:Azure Key Vault に証明書をインポートする
証明書のインポート | |
証明書のリソースメニューで生成/インポートを選択します。 | ![]() |
インポートする証明書ファイルを選択してアップロードします。 ※PFX形式のみ対応しています。 |
![]() |
完了欄に、インポートされた証明書が表示されます。 | ![]() |
Let’s Encryptの証明書発行、OpenSSlを使って証明書をpem形式からpfx形式へ変換する手順については、こちらで紹介しています。
DNS認証(DNS-01 challenge)を利用した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 期限切れ日時(例: March 25, 2023 3:07 UTC)
- 期限切れ通知メールの例
また、Azure Application GatewayやAzure Front Doorとの連携も可能なため、Azureでの証明書管理にAzure Key Vaultを利用するのは非常に良い選択だと思いました。
引き続き、いろいろ試してみたいと思います。
Azure Key Vaultのシークレットを利用する手順については、こちらで紹介しています。
シークレットの作成手順や、マネージドIDを利用したシークレットの参照方法も紹介しています。