ごった煮

色々な事を書いてます

App Service の Key Vault reference を User Assigned MSI で使う

App Service の Key Vault reference を使う際の備忘録です

何をするのか

  • App Service の Key Vault reference を User Assigned Managed Id で繋ぐ

既定の動作

Key Vault reference の規定動作は、System Assigned Managed Id になります。

なので、少し手を加えないと User Assigned Managed Id が使えません。

因みに 2024年7月現在、この設定は実質ポータルから操作できません。

必要なもの

App Service に Managed Id を設定したり、Managed Id に Key Vault の権限を設定する部分は、今回は割愛します。

今回は、Azure CLI を使用します

やってみる

早速やってみましょう

User Assigned Managed Id のリソース Id を取得する

まず、使いたい Managed Id のリソース Id を知りたいので、次のコマンドを流して取得します

az identity show -n {Your Managed Id name} -g {Your resource group name} --query id

ポータルから取得しても ok です

App Service と紐づける

az webapp update -g {Your resource group name} -n {Your Web App name} --set keyVaultReferenceIdentity={Managed Id resource id}

function app の場合は、

az functionapp update -g {Your resource group name} -n {Your Web App name} --set keyVaultReferenceIdentity={Managed Id resource id}

Bicep で紐づけたい場合は、SiteProperties > keyVaultReferenceIdentity に Managed Id のリソース Id を指定します

既定の動作に戻したい

戻す場合は次のようにします

az webapp update -g {Your resource group name} -n {Your Web App name} --set keyVaultReferenceIdentity=SystemAssigned

function app の場合は、

az functionapp update -g {Your resource group name} -n {Your Web App name} --set keyVaultReferenceIdentity=SystemAssigned

余談

ポータルの Key Vault reference のブレードを開くと、User assigned でも System Assigned でも、System assigned managed identity と表示されて分かりづらいですが、 指定した Managed Id で繋がっているはずです

まとめ

ポータルからポチポチ出来ないのでちょっとした検証には不便ですが、これにて一件落着