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 or Azure PowerShell
今回は、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 で繋がっているはずです
まとめ
ポータルからポチポチ出来ないのでちょっとした検証には不便ですが、これにて一件落着