Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
Welcome to Microsoft Q&A
Hello @admin email
Based on the current Microsoft documentation, Kudu does support Microsoft Entra authentication for accessing the SCM/Kudu site, provided the caller has a role that includes the Microsoft.Web/sites/publish/Action permission. Microsoft documents browser access to Kudu using Entra authentication and lists the required RBAC permission.
A few points relevant to your scenario:
- Disabling SCM Basic Auth Publishing Credentials disables the use of publishing credentials for SCM/Kudu access, but App Service supports Entra-based authentication workflows as an alternative.
- For Kudu/SCM endpoint access, recent Microsoft guidance indicates that callers should obtain a token for the App Service audience, rather than using an Azure Resource Manager token. Specifically, direct Kudu/SCM calls should use the App Service audience, while ARM tokens remain for ARM management operations.
- The Kudu documentation confirms that the VFS API endpoint:
returns the file content for the specified path.GET /api/vfs/site/wwwroot/<filename>
What I could not find in current Microsoft Learn documentation is a page that explicitly documents:
- Entra bearer-token authentication for the VFS API specifically,
- The exact OAuth flow for
GET /api/vfs/..., - The expected behavior regarding redirects versus direct file-byte responses.
The official Kudu REST API documentation is still largely written around basic-auth examples and predates the newer Entra-auth support model.
Given that your requirement is SCM Basic Auth disabled and no SSH, the supported direction appears to be:
- Acquire an Entra access token for the App Service audience.
- Ensure the caller has an RBAC role containing
Microsoft.Web/sites/publish/Action. - Call the SCM/Kudu endpoint directly using the bearer token.
If you're looking for a definitive statement on Entra support for Kudu VFS GET specifically, I'd recommend a Microsoft moderator or product team confirmation, as the current documentation describes Entra authentication for Kudu generally but does not explicitly call out the VFS endpoint authentication flow.
References
If my answer helped you resolve your issue, please consider marking it as the correct answer. This helps others in the community find similar solutions.