はじめに
先週、Service ConnectorがGAになった記念で簡単に試してみた記事を書きました。
今日はその続きの記事で、「シークレットをKey Vaultに格納する」を試してみました。
ドキュメント
ドキュメントとしては以下があるのですが、実際読んでもあまりピンと来なかったので試してみることにしました。
実装
環境としては、Azure Web Apps + MySQL flexible server。今回はこれにAzure Key Vaultが加わります。あらかじめAzure Key Vaultを作成しておいて、Azure Web Apps上にAzure Key Vaultに接続するService Connectorを作っておきます。
上記のドキュメントを読みながら画面で項目を選択するだけなので特に迷うところはないかなと思います。
その後、Azure Web Apps上でMySQL flexible serverに接続するService Connectorを作ります。このとき、「シークレットをKey Vaultに格納する」にチェックを入れて先ほど作成したKey Vaultに接続するService Connectorを指定しておきます。
設定としては以上です。
Azure Web Apps上の「構成」には各種環境変数が設定されています。前回のものと違って、azure.keyvault.scopeとazure.keyvault.urlが追加されています。また、値欄を表示させると、spring.datasource.passwordにMySQL flexible serverのパスワードが入っているのではなくAzure Key Vault内の格納先が設定されています。
Azure Key Vaultのシークレットを見ると、MySQL flexible serverのパスワードが入っていることが確認できます。
これだけで動くのかな?と疑心暗鬼でしたが、無事動きました。