从 Web 应用程序访问 Azure 管理 API

标签 azure web-applications azure-active-directory

是否可以通过 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/

相关文章:

java - 为什么IE文档模式在一个环境下是Edge,在另一个环境下是IE5

azure - clientCredentialType ="Certificate"之后出现错误

azure - 使用 Azure 和 VSO Git 多项目解决方案进行持续部署

ipad - 在 iOS Web 应用程序中禁用 "save image"

java - Maven是否应该为不同的应用服务器打包不同的WAR?

Azure AD list - 可选声明

c# - Azure AD GraphServiceClient 无法针对用户设置 AdditionalData

azure - 使用查询参数重写 Nginx 入口中的规则或服务器片段

c# - 使用 AzCopy C# 复制文件

azure - Azure B2C 用户流中缺少电子邮件声明