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
- Azure AD B2C-tenant en referenties voor een gebruiker in de directory met de rol B2C IEF-beleidsbeheerder
- Aangepast beleid geüpload naar uw tenant
- Azure AD PowerShell voor Graph Preview-module
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).