使用Azure AD组或角色控制用户对资源组的访问?

时间:2020-10-26 11:35:08

标签: azure azure-active-directory

我们目前有一个简单的AspNet Core网站,由“经理”登录。它使他们能够访问有关其管理的公司分支机构以及使用这些分支机构的客户的数据。

经理在我们的Azure AD组织中拥有一个帐户。目前,我们在网站的App Registration中定义了一些appRoles。每个分支都有一个名为“ BRANCHNAME_Managers”的appRole,它看起来更像一个组。从内存来看,我认为我们无法从网站访问用户所在的组,因此使用了出现在ClaimsPrincipal.Claims中的appRoles。

我们想创建一个从该网站调用的api。该api需要知道经理管理的分支。该api在Azure AD中将有单独的应用程序注册,并且似乎在网站App注册中配置的appRoles不会传递到Web api。因此,我认为我们需要摆脱在WebSite App Registration中定义的appRoles。这是正确的吗?

考虑到我们要控制的访问权限,管理者管理的分支以及与这些分支相关的客户,我们应该使用用户组成员身份,还是通过简单的数据库关系自行滚动?

1 个答案:

答案 0 :(得分:0)

API无法识别网站应用程序注册(客户端应用程序)中定义的应用程序角色。在这种情况下,应用程序角色仅存在于id令牌中。但是我们需要验证访问令牌才能访问API。

正如我在上一篇文章中回答的那样,您可以在API应用注册(服务应用)中定义相同的应用角色,并将这些角色分配给相同的管理员。

然后,您可以验证API的访问令牌中包含的应用角色。

相关问题