Azure Key Vaultでの証明書管理方法(証明書生成・削除・復元・インポート・期限切れ通知までの手順)

2020-06-10Azure,Key Vault

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 を使用してキー コンテナーを作成する

Azure Key Vaultのリソース作成手順
キーコンテナーで作成を選択します。

インスタンスの詳細を設定します。
Key Vault名、価格レベル、回復オプションなどを設定します。

アクセスポリシーのタブです。
アクセスポリシーではKey Vaultに対して許可する操作を規定します。
今回は、アクセス許可モデルとしてAzureロールベースのアクセス制御(RBAC)を指定します。
ユーザーの割り当てはリソース作成後に個別で行う必要があります。

ネットワーク設定では、Azure Key Vaultへのアクセスを許可するネットワークを指定します。
特定のネットワークを選択すると、サービスエンドポイントの設定が表示されます。
プライベートエンドポイントも設定できます。

今回は手順確認を目的としているため、すべてのネットワークを許可しています。実際に利用する場合は、アクセス元ネットワークを制限します。

【サービスエンドポイントの場合】

確認画面が表示されます。
内容を確認し、問題がなければ作成を選択します。

アクセス制御(IAM)でロールの割り当てを追加

ユーザーにAzure Key Vaultで証明書操作を行うための権限を付与します。
キー コンテナー証明書責任者のロールを割り当てます。

Key Vault データ プレーン操作のための Azure の組み込みロール

※後ほど実施する証明書の連絡先設定には、キー コンテナー管理者の権限が必要です。

ロールの割り当てを追加
キー コンテナーのアクセス制御(IAM)で、ロールの割り当ての追加を選択します。
割り当ての種類で職務ロールを選択します。
ロールにはキー コンテナー証明書責任者を選択します。
ロールを割り当てるメンバーを選択します。
アクセスの割り当て先でユーザー、グループ、またはサービス プリンシパルを選択します。
権限を付与するメンバーを選択します。
確認画面が表示されます。
レビューと割り当てを選択します。
ロールの割り当てが完了すると、アクセス制御(IAM)に追加したユーザーが表示されます。

—広告—

Azure Key Vaultで自己署名証明書を生成、バックアップ、削除、復元

自己署名証明書を生成

公式サイトを参考に、自己署名証明書を生成します。

クイック スタート:Azure portal を使用して Azure Key Vault から証明書の設定と取得を行う

証明書を生成
証明書のメニューで生成/インポートを選択します。

作成方法で生成を選択します。
証明書の名前と件名を指定します。

※証明書名に使用できる文字は英数字とダッシュのみです。条件を満たさない場合、証明書作成時にエラーになります。
※確認メッセージは表示されず、作成が開始されます。

有効期間のアクションタイプを4つの中から選択します。
自動更新またはメール送信を選択できます。

証明機関(CA)は種類から選択します。
今回は、自己署名証明書を選択します。

提携 CA プロバイダー

ポリシーの詳細構成では、キーの種類などの設定ができます。

処理が完了すると、生成された証明書が表示されます。

生成した自己署名証明書を確認

生成した自己署名証明書を確認します。

生成した自己署名証明書を確認
生成した証明書を表示します。
発行ポリシーを表示します。
証明書の作成時に設定した内容が表示されます。
証明書自体を選択するプロパティが表示されます。
証明書のダウンロードもできます。

証明書のバックアップをダウンロード

証明書をダウンロードしてバックアップすることができます。

バックアップのダウンロード
証明書の画面でバックアップのダウンロードを選択します。
バックアップ作成の確認画面が表示されます。
ダウンロードを選択します。

証明書削除および回復の手順

証明書の削除には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を利用したシークレットの参照方法も紹介しています。

スポンサーリンク