【備忘録】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)
vaultName
とSecretName
を適切なものに置き換えてください。
vaultName
:目的のKey Vaultインスタンス名SecretName
:取得したいシークレットの名前
正常に設定できると以下のようにソースにキーコンテナと表示されます。