能否通过Microsoft Graph API创建带条件的Azure AD声明映射策略?
能否通过Microsoft Graph API创建带条件的自定义声明映射策略?
可以实现。虽然直接查看Graph API声明映射策略的官方文档时,可能找不到条件配置的直接说明,但实际上可以通过在策略的XML定义中嵌入条件逻辑来实现基于规则输出声明的需求,和Azure AD门户里的功能逻辑完全一致。
具体实现方式:
- 创建声明映射策略时,在请求体的
definition属性对应的XML内容中,使用<Condition>元素定义触发声明输出的规则,支持基于用户属性、组成员身份等多种条件维度。 - 示例XML片段(基于用户部门属性输出特定自定义声明):
<ClaimsMappingPolicy> <Version>1</Version> <IncludeBasicClaimSet>true</IncludeBasicClaimSet> <ClaimsSchema> <ClaimType Id="customDepartmentClaim"> <DisplayName>Custom Department</DisplayName> <DataType>string</DataType> </ClaimType> </ClaimsSchema> <ClaimsTransformations> <ClaimsTransformation Id="SetCustomDepartment" TransformationMethod="AddClaim"> <InputClaims> <InputClaim ClaimTypeReferenceId="department" /> </InputClaims> <OutputClaims> <OutputClaim ClaimTypeReferenceId="customDepartmentClaim" /> </OutputClaims> </ClaimsTransformation> </ClaimsTransformations> <IssuanceTransformations> <IssuanceTransformation> <InputClaims> <InputClaim ClaimTypeReferenceId="department" /> </InputClaims> <OutputClaims> <OutputClaim ClaimTypeReferenceId="customDepartmentClaim" /> </OutputClaims> <Conditions> <Condition> <ClaimType>department</ClaimType> <Operator>Equals</Operator> <Value>Engineering</Value> </Condition> </Conditions> </IssuanceTransformation> </IssuanceTransformations> </ClaimsMappingPolicy>
- 通过Graph API的
POST /policies/claimsMappingPolicies接口提交包含上述XML的请求体,即可完成带条件的声明映射策略创建。
额外注意事项:
- 条件支持
Equals、NotEquals、Contains等多种运算符,可根据实际需求选择适配。 - 条件规则不仅可以基于用户的内置属性(如部门、职位),还可以结合自定义属性、组成员身份等扩展维度实现更复杂的声明输出逻辑。
内容的提问来源于stack exchange,提问作者James Wilson
相关产品推荐
相关产品推荐

