在 Azure AD 中的企业应用程序上预配期间获取用户组

问题描述

我正在为我们的 SAAS 编写 Azure AD 配置支持。我正在使用 SCIM 标准从 Azure AD 获取用户和组数据。

但是,我只获取主动添加到应用程序的组(因为它设置为仅同步添加到企业应用程序的用户)。

例如,我们有三个用户

  • User One,属于 ITRome
  • 组的一部分
  • 用户 2,属于 ITBerlin
  • 组的一部分
  • 用户 3,属于 HRStockholm
  • 组的一部分

我现在将以下内容添加到我的企业应用程序

Group IT,User Two,User Three

现在我将从 Azure AD(通过 SCIM)发送到我的应用程序的数据是:

这是一张非常不完整的图片,因为我想要缺少的组(HR、罗马、柏林、斯德哥尔摩),以便我可以在我们的 SAAS 中标记用户,以便他们可以使用这些组/标签来创建规则。

有没有办法获取应用程序上的用户拥有的组,即使组本身没有添加到应用程序中?

一个很好的例子是,我想知道用户所在的城市,因为这是创建规则的一个很好的区分因素。但我不想在我们的应用程序中添加城市组,因为我不希望一个城市的所有用户都可以访问。但是,我确实想知道有访问权限的用户所在的城市!

解决方法

不可能。 Azure AD 中的组用其 objectId 值标识,SCIM 中的组用其 id 值标识。这些组需要由 AAD 预配服务管理,以便在服务中建立链接,其中(基于 AAD 预配配置)可以确认 Azure AD 中 AAD objectId 为 XYZ 的组与 ID 为 的 SCIM 组匹配123.

这是 Azure AD 预配服务的要求,而不是 SCIM 规范的具体限制。

我能提供的最佳建议是将用户关联的城市的数据存储在字符串属性中,而不是通过组成员身份来处理。