在 Azure AD 多租户应用中添加特定于租户的角色

Add tenant specific roles in Azure AD multitenant app

我正在使用 Azure AD 作为身份验证在 ASP.NET Core 中开发多租户应用程序。我只想允许特定租户访问我的应用程序(因此我在我的应用程序授权中添加了有效的发行者列表)。

问题是我想为每个租户指定自定义角色。为什么?基本场景如下所示。

我有客户组织(租户)A,有 3 个部门,名称为 AB、AC 和 AD。

同时我有客户组织(租户)B,有 5 个部门 BA、BB、BC、BD、BE。

我希望能够明确地向用户授予其部门的权限。例如,授予租户 A 的用户仅访问部门 AB(或所有部门)的权限,在完美的情况下,它将由公司 A 的管理员在他们的 Azure AD 中完成。

我正在考虑 Azure AD 中的应用程序角色,但在我看来,在清单中公开我所有客户的所有部门似乎非常不受欢迎。

请先参考这个官方文档:

Add app roles to your application and receive them in the token

A​​zure AD的权限功能还没有针对租户的部门权限

这个官方文档告诉我,当我们在App Registration的时候,我们可以给其他租户(Test)添加一个App Role,然后我们的应用就可以被Test租户访问了。

但是,每个租户下每个部门的具体权限应该在代码层面进行控制。