我正在使用 Azure AD 作为身份验证在 ASP.NET Core 中开发多租户应用程序。我只想允许特定租户访问我的应用程序(因此,我将有效的发行者列表添加到我的应用程序授权中)。
问题是我想为每个租户指定自定义角色。为什么?基本场景如下所示。
我有客户组织(租户)A,有 3 个部门,分别为 AB、AC 和 AD。
同时我有客户组织(租户)B,有 5 个部门 BA、BB、BC、BD、BE。
我希望能够准确地向用户授予其部门的权限。例如,仅授予租户 A 的用户对 AB 部门(或全部部门)的访问权限,在完美的情况下,这将由公司 A 的管理员在其 Azure AD 中完成。
我正在考虑 Azure AD 中的应用程序角色,但在我看来,在清单中公开所有客户的所有部门似乎是非常不可取的。
请先参考这个官方文档:
Azure AD 的权限功能尚未具体针对租户的部门权限。
这个官方文档告诉我,当我们在App Registration的时候,我们可以给其他租户(Test)添加一个App Role,然后我们的应用就可以被Test租户访问了。
但是每个租户下的各个部门的具体权限应该在代码层面进行控制。