ユーザー割り当てマネージド ID 使用時に Key Vault 参照が MSINotEnabled で失敗する

KATO 0 評価のポイント
2026-06-24T05:35:57.3866667+00:00

問題

Azure Functions(Flex 従量課金プラン)で、ユーザー割り当てマネージド ID を使用して、アプリ設定(JWTAuthSecretKey)に Key Vault 参照を構成しています。

同じ構成のはずの関数アプリ func-mportal-dev-ea では正常に解決されますが、func-pviewer-dev-ea では以下のエラーで解決に失敗します。

Reference was not able to be resolved because site Managed Identity not enabled.

Portal 上の参照ステータスは、正常な方が ユーザー割り当て / Resolved、失敗している方が システム割り当て / MSINotEnabled と表示されています。システム割り当てマネージド ID は有効にしておらず、AZURE_CLIENT_ID も設定済みです。


環境

確認項目 func-pviewer-dev-ea(❌ 失敗) func-mportal-dev-ea(✅ 正常)
プラン Flex 従量課金 Flex 従量課金
OS / ランタイム Linux / .NET 10 Isolated Linux / .NET 10 Isolated
ユーザー割り当てマネージド ID id-mid-dev id-mid-dev
AZURE_CLIENT_ID id-mid-dev の Client ID を設定済み 同設定済み
Key Vault IAM(シークレット ユーザー) id-mid-dev に付与済み (共通 KV)
Key Vault ネットワーク アクセス すべてのネットワークを許可 (共通 KV)
対象シークレット 存在・有効 ✅ (共通 KV)✅
AzureWebJobsStorage__clientId id-mid-dev の Client ID を設定済み 同設定済
Portal の KV 参照ステータス ❌ システム割り当て / MSINotEnabled ✅ ユーザー割り当て / Resolved

関数アプリで使用している Key Vault 参照の形式(両関数共通):


@Microsoft.KeyVault(VaultName=kv-shared-dev-ea;SecretName=JWTAuthSecretKey)

明示的に追加した場合の関数アプリで使用している Key Vault 参照の形式:


@Microsoft.KeyVault(VaultName=kv-shared-dev-ea;SecretName=JWTAuthSecretKey;clientId=<id-mid-dev の Client ID>)


試したこと

  1. Identity ブレードで id-mid-dev が関数アプリに紐づいていることを確認
  2. AZURE_CLIENT_ID が正しい値で設定されていることを確認
  3. Key Vault 参照 URI に clientId パラメーターを明示的に追加
  4. Key Vault IAM で id-mid-dev に Key Vault シークレット ユーザー ロールが付与されていることを確認
  5. Key Vault のネットワーク アクセスがすべて許可になっていることを確認
  6. アプリ設定 JWTAuthSecretKey を完全に削除して再追加(参照解決の状態を強制リセット)
  7. 関数アプリを複数回再起動

上記をすべて実施しても、ステータスは システム割り当て / MSINotEnabled のまま変わりません。


質問

  1. Flex 従量課金プラン と ユーザー割り当てマネージド ID の組み合わせで Key Vault 参照が正しく動作しない既知の問題や制限はありますか?
  2. システム割り当てマネージド ID を有効にしておらず AZURE_CLIENT_ID も設定済みなのに、Portal のステータスが システム割り当て と表示されるのはなぜですか?
  3. アプリ設定の削除・再追加以外に、Key Vault 参照の解決状態を完全にリセットする方法はありますか?

よろしくお願いします。

Azure ロールベースのアクセス制御
Azure ロールベースのアクセス制御

Azure リソースに対してきめ細かいアクセス管理を提供する Azure サービス。業務の遂行に必要な権限のみをユーザーに付与できるようになります。

0 件のコメント コメントはありません

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "推奨" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。