Aangepaste Azure AD B2C-beleidsregels beheren met Azure PowerShell

Azure PowerShell biedt verschillende cmdlets voor aangepaste 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 aangepaste beleidsregels 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 u {b2c-tenant-name} de naam van uw Azure AD B2C-tenant vervangt. Meld u aan met een account waaraan de rol B2C IEF-beleidsbeheerder in de directory is toegewezen.

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

Voorbeeld van opdrachtuitvoer met 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 aangepast beleid 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 de aangepaste beleidsregels 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 richten 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, geeft u de opdrachtuitvoer door naar een bestand met het -OutputFilePath argument en opent u het bestand in uw favoriete editor.

Voorbeeldopdracht voor het verzenden van uitvoer naar een bestand:

# 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 uitgeeft 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 meer 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. Of misschien wilt u een kopie van een bestaand beleid maken, het wijzigen met een paar 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 voor bewerkingen wilt onderhouden, raden we u aan om regelmatig ongebruikt aangepast beleid te verwijderen. U kunt bijvoorbeeld oude beleidsversies verwijderen na het uitvoeren van een migratie naar een nieuwe set beleidsregels en het controleren van de functionaliteit van het nieuwe beleid. Als u een set aangepaste beleidsregels probeert 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 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 het beleidsbestand validatiefouten veroorzaken.

Hier volgt bijvoorbeeld een poging om een beleid bij te werken met inhoud die ongeldige XML bevat (uitvoer wordt afgekapt voor de beknoptheid):

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 met aangepaste beleidsregels oplossen Azure AD aangepast B2C-beleid en Identity Experience Framework voor meer informatie over het oplossen van problemen met aangepast beleid.

Volgende stappen

Zie Aangepast beleid implementeren vanuit een Azure DevOps-pijplijn voor meer informatie over het gebruik van PowerShell om aangepast beleid te implementeren als onderdeel van een CI/CD-pijplijn (continuous integration/continuous delivery).