有什么方法可以将策略从租户克隆到Azure ADB2C中的另一个租户?

gpilotino

我试图将自定义策略从ADB2C租户克隆到另一个通过“身份体验框架”界面上载XML文件的策略,但出现以下错误:

Unable to upload policy. Reason : Validation failed: 1 validation error(s) found in policy "B2C_1A_B2C_1_SIGNUPIN" of tenant "tenant.onmicrosoft.com".Policy 'B2C_1A_B2C_1_SignUpIn' of tenant 'tenat.onmicrosoft.com' is not allowed to inherit from the specified base policy. Inheritance chain: {
 "TenantId": "tenant.onmicrosoft.com",
 "PolicyId": "base-v1",
 "TenantObjectId": "xxxx...",
 "Root": true,
 "Derived": {
 "TenantId": "tenant.onmicrosoft.com",
 "PolicyId": "B2C_1A_B2C_1_SignUpIn",
 "TenantObjectId": "yyyy...",
 "Rule": "All",
 "InheritanceAllowed": false,
 "Reason": "Policy 'B2C_1A_B2C_1_SignUpIn' in tenant 'yyyyy...' is blocked from inheriting policies from 'xxxx...' as the basic policy constraint handler 'B2CBasicPoliciesOnly' cannot match the policy id to a prefix or registered policy id."
 }
 }

这是政策内容:

<TrustFrameworkPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06" PolicySchemaVersion="0.3.0.0" 
  TenantId="tenant.onmicrosoft.com" TenantObjectId="xxx...." 
  PolicyId="B2C_1_SignUpIn" PublicPolicyUri="http://tenant.onmicrosoft.com/">
  <BasePolicy>
    <TenantId>tenant.onmicrosoft.com</TenantId>
    <PolicyId>base-v1</PolicyId>
  </BasePolicy>
  <BuildingBlocks>
    <ClaimsSchema>
      <ClaimType Id="displayName">
        <DisplayName>Username</DisplayName>
        <DataType>string</DataType>
        <Restriction MergeBehavior="Append" />
      </ClaimType>
      <ClaimType Id="givenName">
        <DisplayName>First Name</DisplayName>
        <DataType>string</DataType>
        <Restriction MergeBehavior="Append" />
      </ClaimType>
      <ClaimType Id="surname">
        <DisplayName>Last name</DisplayName>
        <DataType>string</DataType>
        <Restriction MergeBehavior="Append" />
      </ClaimType>
      <ClaimType Id="extension_Service">
        <DisplayName>Service Name</DisplayName>
        <DataType>string</DataType>
        <Restriction MergeBehavior="Append" />
      </ClaimType>
    </ClaimsSchema>
  </BuildingBlocks>
  <ClaimsProviders>
    <ClaimsProvider>
      <DisplayName>PhoneFactor</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="PhoneFactor-Common">
          <EnabledForUserJourneys>OnClaimsExistence</EnabledForUserJourneys>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    <ClaimsProvider>
      <DisplayName>Token Issuer</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="JwtIssuer">
          <Metadata>
            <Item Key="token_lifetime_secs">3600</Item>
            <Item Key="id_token_lifetime_secs">3600</Item>
            <Item Key="refresh_token_lifetime_secs">1209600</Item>
            <Item Key="rolling_refresh_token_lifetime_secs">7776000</Item>
            <Item Key="IssuanceClaimPattern">AuthorityAndTenantGuid</Item>
            <Item Key="AuthenticationContextReferenceClaimPattern">None</Item>
          </Metadata>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    <ClaimsProvider>
      <DisplayName>Self Asserted</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SelfAsserted-Input">
          <InputClaims>
            <InputClaim ClaimTypeReferenceId="displayName" />
            <InputClaim ClaimTypeReferenceId="givenName" />
            <InputClaim ClaimTypeReferenceId="surname" />
            <InputClaim ClaimTypeReferenceId="extension_Organization" />
            <InputClaim ClaimTypeReferenceId="extension_Department" />
            <InputClaim ClaimTypeReferenceId="extension_Service" />
          </InputClaims>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="displayName" Required="true" />
            <OutputClaim ClaimTypeReferenceId="givenName" Required="true" />
            <OutputClaim ClaimTypeReferenceId="surname" Required="true" />
            <OutputClaim ClaimTypeReferenceId="extension_Organization" Required="true" />
            <OutputClaim ClaimTypeReferenceId="extension_Department" Required="true" />
            <OutputClaim ClaimTypeReferenceId="extension_Service" Required="true" />
          </OutputClaims>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    <ClaimsProvider>
      <DisplayName>Azure Active Directory</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AAD-ReadCommon">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="givenName" />
            <OutputClaim ClaimTypeReferenceId="surname" />
            <OutputClaim ClaimTypeReferenceId="extension_Organization" />
            <OutputClaim ClaimTypeReferenceId="extension_Department" />
            <OutputClaim ClaimTypeReferenceId="extension_Service" />
          </OutputClaims>
        </TechnicalProfile>
        <TechnicalProfile Id="AAD-WriteCommon">
          <PersistedClaims>
            <PersistedClaim ClaimTypeReferenceId="displayName" />
            <PersistedClaim ClaimTypeReferenceId="givenName" />
            <PersistedClaim ClaimTypeReferenceId="surname" />
            <PersistedClaim ClaimTypeReferenceId="extension_Organization" />
            <PersistedClaim ClaimTypeReferenceId="extension_Department" />
            <PersistedClaim ClaimTypeReferenceId="extension_Service" />
          </PersistedClaims>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
  </ClaimsProviders>
  <UserJourneys>
    <UserJourney Id="B2CSignUpOrSignInWithPassword">
      <OrchestrationSteps>
        <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signinandsignupwithpassword">
          <ClaimsProviderSelections>
            <ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" />
          </ClaimsProviderSelections>
        </OrchestrationStep>
      </OrchestrationSteps>
    </UserJourney>
  </UserJourneys>
  <RelyingParty>
    <DefaultUserJourney ReferenceId="B2CSignUpOrSignInWithPassword" />
    <UserJourneyBehaviors>
      <SingleSignOn Scope="Tenant" />
      <SessionExpiryType>Rolling</SessionExpiryType>
      <SessionExpiryInSeconds>86400</SessionExpiryInSeconds>
    </UserJourneyBehaviors>
    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="emails" />
        <OutputClaim ClaimTypeReferenceId="objectId" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
        <OutputClaim ClaimTypeReferenceId="newUser" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" />
        <OutputClaim ClaimTypeReferenceId="extension_Organization" />
        <OutputClaim ClaimTypeReferenceId="extension_Service" />
        <OutputClaim ClaimTypeReferenceId="extension_Department" />
        <OutputClaim ClaimTypeReferenceId="trustFrameworkPolicy" Required="true" DefaultValue="{policy}" />
      </OutputClaims>
      <SubjectNamingInfo ClaimType="sub" />
    </TechnicalProfile>
  </RelyingParty>
</TrustFrameworkPolicy>
厄玛·伊克巴尔

不支持下载标准策略,然后上传它们(无论是否修改)。

看起来这就是您尝试过的使标准策略成为自定义策略的方法。自定义策略在继承层次结构中不能具有base-v1。base-v1策略严格由标准策略使用。

该错误表明您(现在)的自定义策略是从base-v1继承的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

使用Powershell将Azure订阅移至另一个租户

来自分类Java

有什么方法可以将另一个表中的某些字段作为对象存储到实体中?

来自分类Dev

授予一个订阅中的资源对另一个订阅中的应用程序的权限?(Azure AD多租户应用程序)

来自分类Dev

有什么方法可以使用2个不同的json服务密钥将文件从一个项目复制到另一个项目?

来自分类Dev

有没有一种方法可以将S3存储桶中的目录克隆到同一存储桶中的另一个路径?

来自分类Java

有什么函数可以将一个方法中的字符串调用到Java中另一个重写的方法中?

来自分类Dev

有什么方法可以在重定向时将LinkButton内容从一个传递到另一个?

来自分类Dev

将具有数据的Docker容器克隆到另一个主机

来自分类Dev

如何从另一个类中迅速调用另一个方法?

来自分类Dev

将github存储库克隆到另一个github存储库的最佳方法

来自分类Dev

如何在Angular 2中从一个组件调用方法到另一个组件?

来自分类Dev

Angular 2将服务注入到另一个服务中未定义

来自分类Dev

将一个函数传递给C ++中的另一个函数,其中参数的数量可以不同

来自分类Dev

仍然可以从C#中的另一个类访问私有变量

来自分类Dev

将2个Mat的内容添加到另一个Mat opencv c ++

来自分类Dev

C:将数组的所有元素添加到另一个元素中

来自分类Dev

将参数从一个函数传递到另一个函数,其中另一个参数在Python中具有相同的名称

来自分类Dev

我们可以将html模板从angular2中的一个组件传递到另一个组件吗?

来自分类Dev

如何使用参数将一个函数从一个结构传递到另一个结构中的另一个函数

来自分类Dev

将一个arraylist复制到kotlin中的另一个arraylist

来自分类Dev

结构中的一个元素可以在C语言中访问其自身的另一个元素吗?

来自分类Dev

是否可以从另一个静态方法中调用一个静态方法

来自分类Dev

将ArrayList从一个方法传递到同一类中的另一个方法?

来自分类Dev

将一个孩子的stdout传递给c中另一个孩子的stdin

来自分类Dev

根据C#.Net核心方法中另一个属性的值填充一个属性

来自分类Dev

Xamarin.Forms:我可以将一个ContentPage或ContentView嵌入到另一个ContentPage中

来自分类Dev

具有自定义策略的Azure AD B2C中的多租户Azure AD身份验证

来自分类Dev

Angular 2将@Component插入另一个组件的DOM中

来自分类Dev

如何在Angular 2中将组件导入另一个根组件

TOP 榜单

热门标签

归档