TrustFrameworkPolicy

注意

在 Azure Active Directory B2C 中,自定义策略主要用于解决复杂的情况。 在大多数情况下,建议你使用内置用户流。 如果尚未这样做,请从 Active Directory B2C 中的自定义策略入门了解自定义策略新手包。

自定义策略以一个或多个采用 XML 格式的文件表示,这些文件在分层链中相互引用。 XML 元素定义策略的元素,例如声明架构、声明转换、内容定义、声明提供程序、技术配置文件、用户旅程和业务流程步骤。 每个策略文件在策略文件的顶级 TrustFrameworkPolicy 元素中定义。

<TrustFrameworkPolicy
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="https://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
  PolicySchemaVersion="0.3.0.0"
  TenantId="yourtenant.partner.onmschina.cn"
  PolicyId="B2C_1A_TrustFrameworkBase"
  PublicPolicyUri="http://yourtenant.partner.onmschina.cn/B2C_1A_TrustFrameworkBase">
  ...

TrustFrameworkPolicy 元素包含以下属性:

Attribute 必须 说明
PolicySchemaVersion 用于执行策略的架构版本。 值必须是 0.3.0.0
TenantObjectId Azure Active Directory B2C (Azure AD B2C) 租户的唯一对象标识符。
TenantId 此策略所属的租户的唯一标识符。
PolicyId 策略的唯一标识符。 此标识符必须带有 B2C_1A_ 前缀
PublicPolicyUri 策略的 URI,它是租户 ID 和策略 ID 的组合。
DeploymentMode 可能的值:ProductionDevelopmentProduction 为默认值。 使用此属性来调试策略。 有关详细信息,请参阅收集日志
UserJourneyRecorderEndpoint 用于日志记录的终结点。 如果此属性存在,则值必须设置为 urn:journeyrecorder:applicationinsights。 有关详细信息,请参阅收集日志

以下示例演示如何指定 TrustFrameworkPolicy 元素:

<TrustFrameworkPolicy
   xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="https://www.w3.org/2001/XMLSchema"
   xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
   PolicySchemaVersion="0.3.0.0"
   TenantId="yourtenant.partner.onmschina.cn"
   PolicyId="B2C_1A_TrustFrameworkBase"
   PublicPolicyUri="http://yourtenant.partner.onmschina.cn/B2C_1A_TrustFrameworkBase">

TrustFrameworkPolicy 元素包含以下元素:

元素 出现次数 说明
BasePolicy 0:1 基本策略的标识符。
BuildingBlocks 0:1 策略的构建基块。
ClaimsProviders 0:1 声明提供程序的集合。
UserJourneys 0:1 用户旅程的集合。
SubJourneys 0:1 子旅程的集合。
RelyingParty 0:1 信赖方策略的定义。

若要从另一个策略继承某个策略,必须在策略文件的 TrustFrameworkPolicy 元素下声明 BasePolicy 元素。 BasePolicy 元素是对从中派生此策略的基本策略的引用。

出现次数是指父元素可以或必须具有的子元素数:

  • 0:1 表示父元素具有零个或一个子元素。
  • 1:1 表示父元素必须具有一个子元素。
  • 1:n 表示父元素必须具有一个或多个子元素。
  • 0:n 表示父元素可以具有零个或任意数量的元素。

BasePolicy 元素包含以下元素:

元素 出现次数 说明
TenantId 1:1 Azure AD B2C 租户的标识符。
`PolicyId` 1:1 父策略的标识符。

以下示例演示如何指定基本策略。 此 B2C_1A_TrustFrameworkExtensions 策略派生自 B2C_1A_TrustFrameworkBase 策略。

<TrustFrameworkPolicy
   xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="https://www.w3.org/2001/XMLSchema"
   xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
   PolicySchemaVersion="0.3.0.0"
   TenantId="yourtenant.partner.onmschina.cn"
   PolicyId="B2C_1A_TrustFrameworkExtensions"
   PublicPolicyUri="http://yourtenant.partner.onmschina.cn/B2C_1A_TrustFrameworkExtensions">

  <BasePolicy>
    <TenantId>yourtenant.partner.onmschina.cn</TenantId>
    <PolicyId>B2C_1A_TrustFrameworkBase</PolicyId>
  </BasePolicy>
  ...
</TrustFrameworkPolicy>