概要
AzureのAppServceにて環境変数を設定できる。DB系アクセス値等セキュアな値はKeyValue(キー コンテナ)で管理し、シークレットな値としてAppServceの環境変数設定画面では設定値を閲覧できないようにすることはよくある。
このKeyValue(キー コンテナ)は値のバージョン管理が可能だ。
ただし、「現在のバージョン」を無効にしてしまうとAppServceの環境変数からの値アクセスができなくなり、AppServceの環境変数設定画面の参照項目に「✕ キー コンテナ」のように赤い✕印が出てしまう事がある。この事象そのものと解消方法を簡単にまとめる。
事象
KeyValue(キー コンテナ)側で「現在のバージョン」を無効にしてしまうとAppServceの環境変数からの値アクセスができなくなり、AppServceの環境変数設定画面の参照項目に「✕ キー コンテナ」のように赤い✕印が出てしまう。
下記の様な状態とエラーの詳細が表示される。
状態 AccessToKeyVaultDenied
エラーの詳細 Key Vault reference was not able to be resolved because site was denied access to Key Vault reference's vault.
ちなみに本事象の直接的原因が
KeyValue(キー コンテナ)側で「現在のバージョン」を無効
にしたことである確証は得られないが、この作業をして少し経つと参照がエラーになっていることが多い気がする。
解消方法
- AppServceの環境変数設定画面の参照環境変数項目の「名前」と「値」をコピーしてメモ
- 一旦AppServceの環境変数から当該項目削除、環境変数設定画面下部の「適応」をクリック
- コピーしてメモした「名前」と「値」を使って新たに参照環境変数項目追加、間表変数設定画面下部の「適応」をクリック