An Azure service that provides an event-driven serverless compute platform.
Hey @Anand Muthusamy Thanks for the detailed report—this exception is coming from Azure AD during token acquisition, and the key part of the error is:
AADSTS53003: Access has been blocked by Conditional Access policies. The access policy does not allow token issuance.
So, regardless of the Functions migration mechanics, once the isolated worker starts using the newer MSAL/Auth flow, your conditional access policy is now evaluating the request and blocking it.
That aligns with your observation:
- In-process: host loads an older MSAL (4.60.x) due to dependency/assembly resolution, so CA isn’t being enforced in the same way.
- Isolated: worker loads Azure.Identity 1.17.1 + MSAL 4.79.0, so CA policy enforcement happens, and the token issuance is blocked.
Based on the provided Azure Functions migration guidance, the migration itself should be done as a coherent “code + config” change (not only a setting flip). In practice, to fix your scenario you’ll need to ensure the isolated worker’s auth behavior is allowed by your Conditional Access policy.
- Confirm the migration is complete/correct (staging-slot approach) Microsoft guidance recommends using a staging slot, updating both the runtime setting and stack appropriately, validating, then swapping.
- Ensure
FUNCTIONS_WORKER_RUNTIMEis set todotnet-isolatedin the app configuration for the slot you’re testing (and that it’s not marked as a slot setting). - Ensure you’ve updated the project packages/references for the isolated model (per the migration guide).
- Make Conditional Access allow the isolated worker token request Because the isolated worker causes MSAL to trigger the CA evaluation (while in-process didn’t), the resolution is on the Conditional Access side: the access policy needs to permit token issuance for the authentication pattern used by the isolated worker.
In the meantime, you can also treat this as a configuration-drift issue to validate:
- Does the isolated worker use the same identity, app registration, federation/credential configuration, and auth parameters as the in-process version?
- Does the CA policy include conditions that differ between the two runs (even subtly)—for example, differences in the authentication request characteristics due to MSAL version/claims challenge?
- If you want to keep behavior consistent with in-process Your current diagnosis suggests dependency/version differences between host and worker. While this might “work” temporarily, the isolated model is designed to run with the worker’s own dependency set, so the sustainable approach is to align Conditional Access to the isolated auth behavior rather than relying on the in-process host overriding MSAL.
To make progress quickly (and safely), check in your Azure AD sign-in logs / CA diagnostics for the blocked request from the isolated worker, and compare it to what happens in the in-process case.
Let me know if any further queries - feel free to reach out!