yotiky Tech Blog

とあるエンジニアの備忘録

Azure Functions で Azure Key Valut から設定を読み込む

Azure Key Valut は、トークン、パスワード、証明書、API キー、接続文字列、その他のシークレットを安全に格納し、それらへのアクセスを厳密に制御できるサービス。(参考

目次

Azure Functions に Managed Id を設定

デプロイ済みの Azure Functions の設定から ID を選択する。

f:id:yotiky:20210130214151p:plain:w300

システム割り当て済みをオンにする。

f:id:yotiky:20210130214226p:plain:w300

Azure Key Vault を設定

Azure Key Valut を作成していなければ作成する。

f:id:yotiky:20210130214812p:plain:w400

作成した Key Valut で設定からシークレットを選択し、キーと値を登録する。

f:id:yotiky:20210130215715p:plain:w300

f:id:yotiky:20210130215846p:plain

続いて、設定からアクセスポリシーを選択し、アクセスポリシーを追加する。

f:id:yotiky:20210130215427p:plain:w300

シークレットのアクセス許可を「取得」、プリンシパルの選択で Azure Functions のオブジェクトIDを入力して、リソースを選択する。追加し終わったら一覧で保存する。

f:id:yotiky:20210130220354p:plain

アプリケーション設定に Key Vault の識別子を設定

Key Valut で作成したキーを開いて、シークレット識別子をコピーする。

f:id:yotiky:20210130220909p:plain

Azure Functions のアプリケーション設定で、シークレット識別子を以下の書式で値として設定する。

@Microsoft.KeyVault(SecretUri=<シークレット識別子>)

正常に接続できるとキーコンテナーの参照にチェックが付く。 f:id:yotiky:20210130221845p:plain

コードからアプリケーション設定を取得すると Key Vault の値が展開される。

var connectionString = Configuration["BLOB_CONNECTION_STRING_KEYVAULT"]

参考

blog.beachside.dev

関連記事