Hello Bob Chandra,
Thank you for your question!
Although you have assigned the role, there are instances when the system-assigned managed identity for the AFD profile may not be completely provisioned or accurately represented.
- Go to your Azure Front Door Premium profile in portal. Under Settings, select Identity.
- Ensure that System assigned status is On. If it was off or recently turned on, note down the Object ID displayed here.
- Confirm Role Assignment**:** Navigate to your Storage Account -> Access control (IAM) -> Role assignments.
- Filter by
Storage Blob Data Reader
. Confirm that the Front Door profile's managed identity (using the Object ID you noted) is explicitly listed and assigned this role at the storage account scope. If you assigned it at a higher scope (resource group or subscription), it should still apply but verify.
Please be informed that disabling SAS reduces the public accessibility of your storage account. If the "Public network access" setting is configured to Disabled or Enabled for specific virtual networks and IP addresses, Front Door requires a method to access it. Merely possessing the managed identity role is insufficient; the network route must also be accessible.
- Go to your Storage Account -> Networking -> Private endpoint connections.
- Create a Private Endpoint for your Blob service within the Virtual Network that your Front Door Premium origin group can access. This ensures that the traffic between Front Door and your storage account flows entirely over the Azure backbone, bypassing public firewalls.
- Crucial for AFD Premium**:** In your Front Door profile, when configuring the Origin in the Origin Group that points to your storage account, ensure you have "Private Link" enabled and configured to use this private endpoint. This tells Front Door to connect privately.
Even minor discrepancies in the origin or route setup can result in connection failures.
- Go to your Front Door Premium profile -> Origin groups.
- Select the Origin Group that contains your Blob Storage.
- Check the origin's details: Origin host name**:** This must be the full FQDN of your storage account's blob service endpoint (e.g.,
yourstorageaccount.blob.core.windows.net
). Do NOT includehttp://
orhttps://
. HTTP/HTTPS ports: Ensure they are correct (typically 80 for HTTP, 443 for HTTPS). - Verify Routing Rule: Go to Routing rules in your AFD profile.
- Select the rule that serves your images.
- Ensure it points to the correct Origin Group and that the Origin host header setting within the routing rule is also correctly set to the storage account FQDN.
References:
- https://learn.microsoft.com/en-us/azure/frontdoor/rules-match-conditions?tabs=portal&pivots=front-door-standard-premium
- https://learn.microsoft.com/en-us/azure/frontdoor/front-door-routing-architecture?pivots=front-door-standard-premium
Hope the above answer helps! Please let us know do you have any further queries.
Please do not forget to "Accept the answer” and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.