是否可以通过 Web 应用程序的客户端 ID 和 key 来访问 Azure 管理 API?
我有一个 Web 应用程序,我希望能够通过它来管理 Azure。我想使用应用程序本身的凭据来执行此操作,以便当前用户不必是 azure 管理员。
我已为网络应用程序授予了订阅中必要的角色,并通过 AD 中的客户端凭据授予流程获取了访问 token ,但我仍然获得了未经授权的权限。
这可能是因为 azure 管理 API 除了委派之外没有任何权限集 - 如果我对登录用户使用授权代码授予流程,访问工作正常,但这不是我想要的。
因此,重申一下,如果给定一个具有 RBAC 订阅并且能够从 AD 获取访问 token 的 Web 应用程序,那么在没有交互式用户的情况下,该 Web 应用程序是否能够使用管理权限API??
最佳答案
是的,您可以从 AAD 获取服务主体的 token ,并使用它来管理资源,只要该服务主体拥有您需要的所有访问权限。
确保您获取的 token 具有“https://management.azure.com ”的资源/受众,并且适用于与订阅关联的tenantId。
关于从 Web 应用程序访问 Azure 管理 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34280644/