Aangepaste Azure AD B2C-beleidsregels beheren met Azure PowerShell

Azure PowerShell biedt verschillende cmdlets voor aangepast beleidsbeheer op basis van opdrachtregels en scripts in uw Azure AD B2C-tenant. Meer informatie over het gebruik van de Azure AD PowerShell-module voor het volgende:

  • De aangepaste beleidsregels weergeven in een Azure AD B2C-tenant
  • Een beleid downloaden van een tenant
  • Een bestaand beleid bijwerken door de inhoud ervan te overschrijven
  • Een nieuw beleid uploaden naar uw Azure AD B2C-tenant
  • Een aangepast beleid verwijderen uit een tenant

Vereisten

PowerShell-sessie verbinden met B2C-tenant

Als u wilt werken met aangepast beleid in uw Azure AD B2C-tenant, moet u eerst uw PowerShell-sessie verbinden met de tenant met behulp van de opdracht Connect-AzureAD.

Voer de volgende opdracht uit, waarbij {b2c-tenant-name} u vervangt door de naam van uw Azure AD B2C-tenant. Meld u aan met een account waaraan de rol B2C IEF-beleidsbeheerder in de map is toegewezen.

Connect-AzureAD -Tenant "{b2c-tenant-name}.onmicrosoft.com"

Voorbeeld van opdrachtuitvoer met een geslaagde aanmelding:

PS C:\> Connect-AzureAD -Tenant "contosob2c.onmicrosoft.com"

Account               Environment TenantId                             TenantDomain                 AccountType
-------               ----------- --------                             ------------                 -----------
azureuser@contoso.com AzureCloud  00000000-0000-0000-0000-000000000000 contosob2c.onmicrosoft.com   User

Alle aangepaste beleidsregels in de tenant weergeven

Door aangepaste beleidsregels te detecteren, kan een Azure AD B2C-beheerder bedrijfslogica controleren, beheren en toevoegen aan hun activiteiten. Gebruik de opdracht Get-AzureADMSTrustFrameworkPolicy om een lijst met de id's van het aangepaste beleid in een Azure AD B2C-tenant te retourneren.

Get-AzureADMSTrustFrameworkPolicy

Voorbeeld van opdrachtuitvoer:

PS C:\> Get-AzureADMSTrustFrameworkPolicy

Id
--
B2C_1A_TrustFrameworkBase
B2C_1A_TrustFrameworkExtensions
B2C_1A_signup_signin
B2C_1A_ProfileEdit
B2C_1A_PasswordReset

Een beleid downloaden

Nadat u de lijst met beleids-id's hebt bekeken, kunt u een specifiek beleid instellen met Get-AzureADMSTrustFrameworkPolicy om de inhoud ervan te downloaden.

Get-AzureADMSTrustFrameworkPolicy [-Id <policyId>]

In dit voorbeeld wordt het beleid met id B2C_1A_signup_signin gedownload:

PS C:\> Get-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin
<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="contosob2c.onmicrosoft.com" PolicyId="B2C_1A_signup_signin" PublicPolicyUri="http://contosob2c.onmicrosoft.com/B2C_1A_signup_signin" TenantObjectId="00000000-0000-0000-0000-000000000000">
  <BasePolicy>
    <TenantId>contosob2c.onmicrosoft.com</TenantId>
    <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
  </BasePolicy>
  <RelyingParty>
    <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" />
        <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
      </OutputClaims>
      <SubjectNamingInfo ClaimType="sub" />
    </TechnicalProfile>
  </RelyingParty>
</TrustFrameworkPolicy>

Als u de beleidsinhoud lokaal wilt bewerken, sluist u de uitvoer van de opdracht door naar een bestand met het -OutputFilePath argument en opent u het bestand vervolgens in uw favoriete editor.

Voorbeeldopdracht die uitvoer naar een bestand verzendt:

# Download and send policy output to a file
Get-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin -OutputFilePath C:\RPPolicy.xml

Een bestaand beleid bijwerken

Nadat u een beleidsbestand hebt bewerkt dat u hebt gemaakt of gedownload, kunt u het bijgewerkte beleid publiceren naar Azure AD B2C met behulp van de opdracht Set-AzureADMSTrustFrameworkPolicy.

Als u de Set-AzureADMSTrustFrameworkPolicy opdracht uitvoert met de id van een beleid dat al bestaat in uw Azure AD B2C-tenant, wordt de inhoud van dat beleid overschreven.

Set-AzureADMSTrustFrameworkPolicy [-Id <policyId>] -InputFilePath <inputpolicyfilePath> [-OutputFilePath <outputFilePath>]

Voorbeeldopdracht:

# Update an existing policy from file
Set-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin -InputFilePath C:\B2C_1A_signup_signin.xml

Zie de opdrachtVerwijzing Set-AzureADMSTrustFrameworkPolicy voor aanvullende voorbeelden.

Een nieuw beleid uploaden

Wanneer u een wijziging aanbrengt in een aangepast beleid dat in productie wordt uitgevoerd, wilt u mogelijk meerdere versies van het beleid publiceren voor terugval- of A/B-testscenario's. U kunt ook een kopie maken van een bestaand beleid, dit wijzigen met enkele kleine wijzigingen en het vervolgens uploaden als een nieuw beleid voor gebruik door een andere toepassing.

Gebruik de opdracht New-AzureADMSTrustFrameworkPolicy om een nieuw beleid te uploaden:

New-AzureADMSTrustFrameworkPolicy -InputFilePath <inputpolicyfilePath> [-OutputFilePath <outputFilePath>]

Voorbeeldopdracht:

# Add new policy from file
New-AzureADMSTrustFrameworkPolicy -InputFilePath C:\SignUpOrSignInv2.xml

Een aangepast beleid verwijderen

Als u een schone levenscyclus van bewerkingen wilt behouden, raden we u aan om regelmatig ongebruikte aangepaste beleidsregels te verwijderen. U kunt bijvoorbeeld oude beleidsversies verwijderen nadat u een migratie naar een nieuwe set beleidsregels hebt uitgevoerd en de functionaliteit van het nieuwe beleid hebt gecontroleerd. Als u bovendien probeert een set aangepaste beleidsregels te publiceren en een foutmelding ontvangt, kan het zinvol zijn om de beleidsregels te verwijderen die zijn gemaakt als onderdeel van de mislukte release.

Gebruik de opdracht Remove-AzureADMSTrustFrameworkPolicy om een beleid uit uw tenant te verwijderen.

Remove-AzureADMSTrustFrameworkPolicy -Id <policyId>

Voorbeeldopdracht:

# Delete an existing policy
Remove-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin

Problemen met het uploaden van beleid oplossen

Wanneer u probeert een nieuw aangepast beleid te publiceren of een bestaand beleid bij te werken, kunnen onjuiste XML-opmaak en fouten in de overnameketen van beleidsbestanden leiden tot validatiefouten.

Hier volgt bijvoorbeeld een poging om een beleid bij te werken met inhoud die onjuist ingedeelde XML bevat (uitvoer wordt kortheidshalve afgekapt):

PS C:\> Set-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin -InputFilePath C:\B2C_1A_signup_signin.xml
Set-AzureADMSTrustFrameworkPolicy : Error occurred while executing PutTrustFrameworkPolicy
Code: AADB2C
Message: Validation failed: 1 validation error(s) found in policy "B2C_1A_SIGNUP_SIGNIN" of tenant "contosob2c.onmicrosoft.com".Schema validation error found at line
14 col 55 in policy "B2C_1A_SIGNUP_SIGNIN" of tenant "contosob2c.onmicrosoft.com": The element 'OutputClaims' in namespace
'http://schemas.microsoft.com/online/cpim/schemas/2013/06' cannot contain text. List of possible elements expected: 'OutputClaim' in namespace
'http://schemas.microsoft.com/online/cpim/schemas/2013/06'.
...

Zie Problemen oplossen met aangepastE beleidsregels Azure AD aangepast B2C-beleid en Identity Experience Framework voor informatie over het oplossen van problemen met aangepaste beleidsregels.

Volgende stappen

Zie Aangepast beleid implementeren vanuit een Azure DevOps-pijplijn voor informatie over het gebruik van PowerShell om aangepaste beleidsregels te implementeren als onderdeel van een CI/CD-pijplijn (continue integratie/continue levering).