如何在Entra ID中将多组声明值转换为单个逗号分隔字符串
可以在Entra ID中实现该需求
你当前的SAML令牌中teams声明以多值<AttributeValue>返回:
<AttributeStatement> ... <Attribute Name="teams"> <AttributeValue>Group1</AttributeValue> <AttributeValue>Group2</AttributeValue> <AttributeValue>Group3</AttributeValue> </Attribute> ... </AttributeStatement>
要将其合并为单个逗号分隔的<AttributeValue>:
<AttributeStatement> ... <Attribute Name="teams"> <AttributeValue>Group1,Group2,Group3</AttributeValue> </Attribute> ... </AttributeStatement>
可通过Entra ID的**声明转换(Claims Transformation)**功能实现,具体操作步骤:
- 登录Azure门户,定位到目标企业应用,进入单点登录页签,打开用户属性和声明模块。
- 删除已创建的多值
teams组声明(避免重复声明冲突)。 - 点击添加新声明:
- 声明名称输入
teams; - 选择转换声明类型,配置参数:
- 转换类型:
Join - 输入声明:选择你的安全组显示名称属性(确保是需要对外暴露的组名称字段)
- 分隔符:填入英文逗号
,
- 转换类型:
- 保存该声明。
- 声明名称输入
- (可选)如果仅需包含特定安全组,可在输入声明的筛选规则中设置条件,过滤出目标组后再执行合并操作。
配置完成后,通过Entra ID的测试单点登录功能或SAML调试工具验证令牌格式,确认teams声明已按要求合并为单个值。
内容的提问来源于stack exchange,提问作者Neves Soares
相关产品推荐
相关产品推荐

