しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Azure App Service への Key Vault 証明書のインポートがお手軽になった

以前は ARM REST API を直接叩く必要のあった App Service への Key Vault 証明書のインポートですが、いつの間にか Azure Portal から行えるようになっていました。

Azure Portal から SSL settings を開くと、Key Vault 向けに新しくボタンが追加されています。

f:id:shiba-yan:20190524011855p:plain

REST API を使うのとは異次元の便利さです。これまでも一度追加した証明書の同期は Azure Portal から行えていましたが、これで Key Vault で証明書を全て管理する機運が高まってきました。

Key Vault を使って App Service の証明書を管理するメリットは以前に書きましたが、簡単に説明しておきます。例えば複数の App Service に証明書を追加するケースでは、PFX をそれぞれに追加する必要がありましたが、Key Vault の場合は一元管理できるため管理が大幅に簡略化できるという話です。

App Service の証明書は Webspace に紐づく仕組みなので、リージョンやリソースグループが別の場合には追加し直しが必要で、証明書の更新の際にはそれぞれの App Service に対して設定が必要です。

それに対して Key Vault を使った場合では、購入した PFX を Key Vault に追加して App Service へインポートしてしまえば、後はこれまでと同じ操作で HTTPS のバインドを追加できます。

さらに Key Vault 側で証明書を 1 度更新すれば、自動的に App Service 側の証明書も更新されるため、更新時のオペレーションミスを避けることが出来ます。Key Vault で Let's Encrypt を使う Function も公開しているので、機会があれば試してみてください。

実際に Key Vault にある証明書をインポートしてみました。REST API を使う際には Key Vault のアクセスポリシーの設定が必要でしたが、Azure Portal からの場合は自動で行ってくれるようです。

適当にサブスクリプションと Key Vault、そして証明書を選んでインポートします。

f:id:shiba-yan:20190524012005p:plain

Key Vault からインポートした証明書を選ぶと詳細情報が表示されます。必要であれば Sync を選んで最新バージョンに同期することも出来ます。

f:id:shiba-yan:20190524014501p:plain

実際にインポートした証明書を Key Vault 側で更新してみたところ、しばらくすると自動的に新しいものに切り替わっていたので安心して使えますね。これで Traffic Manager を使って負荷分散や DR 構成を組んでいる場合でも、安全な証明書管理を実現できるはずです。