Azure ロールベースのアクセス制御
Azure リソースに対してきめ細かいアクセス管理を提供する Azure サービス。業務の遂行に必要な権限のみをユーザーに付与できるようになります。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
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>)
id-mid-dev が関数アプリに紐づいていることを確認AZURE_CLIENT_ID が正しい値で設定されていることを確認clientId パラメーターを明示的に追加id-mid-dev に Key Vault シークレット ユーザー ロールが付与されていることを確認JWTAuthSecretKey を完全に削除して再追加(参照解決の状態を強制リセット)上記をすべて実施しても、ステータスは システム割り当て / MSINotEnabled のまま変わりません。
AZURE_CLIENT_ID も設定済みなのに、Portal のステータスが システム割り当て と表示されるのはなぜですか?よろしくお願いします。
Azure リソースに対してきめ細かいアクセス管理を提供する Azure サービス。業務の遂行に必要な権限のみをユーザーに付与できるようになります。