【備忘録】Azure FunctionsでのKey Vault設定ガイド

投稿日: 更新日:

Azure FunctionsでTwitter APIを利用している際に、APIキーの安全な保管方法に悩んでいたため、その解決策としてAzure Key Vaultを使った手順をまとめました。

手順

1. Key Vaultの設定

まずは管理者としてのアクセス権を設定します。アクセス制御(IAM)→追加→ロールの割り当ての追加と進みます。

「キーコンテナー管理者」をクリックして次へ。

「+メンバーを選択する」から自身のアカウントを選択。「レビューと割り当て」をクリックし終了。

2. シークレットの追加

オブジェクト→シークレット→生成/インポートの順でクリック。

名前とシークレット値を設定し、作成をクリック。

他に追加したいシークレット値があれば同様の手順で追加してください。

3. Functionsからアクセスできるようにする

アクセスを許可したい関数アプリを開きます。設定→IDの順でクリック、「状態」のところをオンにし「保存」、「はい」と進めてください。

設定が完了したら以下のようになるので「Azure ロールの割り当て」をクリック。

スコープに「Key Vault」、お使いのサブスクリプション、アクセスを許可したいKey Vaultリソースを設定。役割には「キーコンテナーシークレットユーザー」を選択してください。

4. Functionsの環境変数にKey Vaultの値を参照させる

Functionsの環境変数の設定を開いてください。名前には設定したい環境変数の名前を入れます。値の欄は以下のフォーマットで指定してください。

@Microsoft.KeyVault(VaultName=vaultName;SecretName=secretName)

vaultNameSecretNameを適切なものに置き換えてください。

  • vaultName:目的のKey Vaultインスタンス名
  • SecretName:取得したいシークレットの名前

正常に設定できると以下のようにソースにキーコンテナと表示されます。

書いた人

profile_image

お茶の葉

物理とプログラミングが好きな人