我想在Azure AD中为SCIM属性Map创建一个表达式,以便根据特定AD组的用户成员身份将值传递给接收应用程序的属性。
例如,如果Azure AD属性user.department
的值等于hr_new
,则下面的表达式将值New
传递给接收应用程序的属性userType
,否则将值Old
传递。IIF([department]="new_hr", "New", "Old")
请参见下面的示例设置:
但是,我无法在Azure AD中的表达式中查询或检查用户的组成员身份。我想创建一个表达式,检查用户是否是组abc
的成员,如果是true
,则应传递值X
,如果是false
,则应传递值Y
有什么办法吗?
2条答案
按热度按时间wgx48brx1#
正如@ZollnerdMSFT所建议的那样,在Azure中目前无法直接使用表达式查询AD组成员身份。解决方案是使用App roles。我向Azure中的企业应用程序添加了新的应用程序角色,然后将所需的应用程序角色分配给每个组。AD组中的用户继承分配给其所属组的应用角色。
这些继承的App角色可以通过Expressions查询。然后,我编写了一个表达式来获取用户继承的应用程序角色,并根据用户拥有的应用程序角色返回所需的值-这隐式地反映了用户的组成员身份。
fumotvh32#
这在目前是不可能的。组成员资格被认为是组对象的属性,不能调用到用户对象的任何逻辑表达式中。