首页 > 解决方案 > 如何允许用户授予 Azure 中的 SaaS 应用程序访问权限以显示其网络信息

问题描述

我正在开发一个在 Azure 上运行的 SaaS 应用程序,它允许用户查看有关其网络配置的信息,例如 VNET 信息。我已经向 API 添加了 user_impersonation 权限。但是,当用户最初使用应用程序进行身份验证,并且他们接受显示“以您的身份访问 Azure 服务管理(预览版)”的权限请求模式时,除非我手动授予该用户“贡献者”角色访问权限,否则他们无法访问 API。有没有办法简化这一点,以便任何授予应用程序权限的用户都可以查看此信息?

标签: azureazure-active-directory

解决方案


如果您将下面的委派权限添加到应用程序,则登录应用程序的用户必须具有对 azure 资源的权限(即在订阅/特定资源范围内具有 RBAC 角色)。

当用户同意委派权限时,应用程序在调用 API 时被委派权限以充当登录用户。权限来自用户,而不是应用程序本身。因此,在您的情况下,您需要为用户提供 RBAC 角色(例如Contributor您提到的角色)。

有关委派权限的更多详细信息,请参阅此链接

如果您可以接受登录应用的用户可以访问Azure资源,将应用的服务主体作为RBAC角色,应用本身将能够访问Azure资源,那么您可以使用客户端凭据流来获取令牌并使用它来访问资源。

在此处输入图像描述


推荐阅读