Správa vlastních zásad Azure AD B2C pomocí Azure PowerShell
Azure PowerShell poskytuje několik rutin pro správu vlastních zásad založených na příkazovém řádku a skriptech ve vašem tenantovi Azure AD B2C. Zjistěte, jak pomocí modulu Azure AD PowerShellu:
- Výpis vlastních zásad v tenantovi Azure AD B2C
- Stažení zásady z tenanta
- Aktualizace existující zásady přepsáním jejího obsahu
- Nahrání nové zásady do tenanta Azure AD B2C
- Odstranění vlastní zásady z tenanta
Požadavky
- Azure AD tenanta B2C a přihlašovací údaje pro uživatele v adresáři s rolí správce zásad IEF pro B2C
- Vlastní zásady nahrané do vašeho tenanta
- Azure AD modulu PowerShell pro Graph Preview
Připojení relace PowerShellu k tenantovi B2C
Pokud chcete pracovat s vlastními zásadami v tenantovi Azure AD B2C, musíte nejprve připojit relaci PowerShellu k tenantovi pomocí příkazu Connect-AzureAD.
Spusťte následující příkaz a nahraďte {b2c-tenant-name}
názvem vašeho tenanta Azure AD B2C. Přihlaste se pomocí účtu, který má v adresáři přiřazenou roli správce zásad IEF B2C .
Connect-AzureAD -Tenant "{b2c-tenant-name}.onmicrosoft.com"
Příklad výstupu příkazu znázorňující úspěšné přihlášení:
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
Výpis všech vlastních zásad v tenantovi
Zjišťování vlastních zásad umožňuje správci Azure AD B2C kontrolovat, spravovat a přidávat obchodní logiku do svých operací. Pomocí příkazu Get-AzureADMSTrustFrameworkPolicy vrátíte seznam ID vlastních zásad v tenantovi Azure AD B2C.
Get-AzureADMSTrustFrameworkPolicy
Příklad výstupu příkazu:
PS C:\> Get-AzureADMSTrustFrameworkPolicy
Id
--
B2C_1A_TrustFrameworkBase
B2C_1A_TrustFrameworkExtensions
B2C_1A_signup_signin
B2C_1A_ProfileEdit
B2C_1A_PasswordReset
Stažení zásady
Po kontrole seznamu ID zásad můžete pomocí get-AzureADMSTrustFrameworkPolicy cílit na konkrétní zásadu a stáhnout si její obsah.
Get-AzureADMSTrustFrameworkPolicy [-Id <policyId>]
V tomto příkladu se stáhne zásada s ID B2C_1A_signup_signin :
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>
Pokud chcete obsah zásad upravit místně, předejte výstup příkazu do souboru s argumentem -OutputFilePath
a pak soubor otevřete v oblíbeném editoru.
Příklad příkazu odeslání výstupu do souboru:
# Download and send policy output to a file
Get-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin -OutputFilePath C:\RPPolicy.xml
Aktualizovat stávající zásady
Po úpravě souboru zásad, který jste vytvořili nebo stáhli, můžete aktualizované zásady publikovat do Azure AD B2C pomocí příkazu Set-AzureADMSTrustFrameworkPolicy.
Pokud příkaz vydáte Set-AzureADMSTrustFrameworkPolicy
s ID zásady, která už ve vašem tenantovi Azure AD B2C existuje, obsah této zásady se přepíše.
Set-AzureADMSTrustFrameworkPolicy [-Id <policyId>] -InputFilePath <inputpolicyfilePath> [-OutputFilePath <outputFilePath>]
Příklad příkazu:
# Update an existing policy from file
Set-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin -InputFilePath C:\B2C_1A_signup_signin.xml
Další příklady najdete v referenčních informacích k příkazu Set-AzureADMSTrustFrameworkPolicy .
Nahrání nové zásady
Když změníte vlastní zásadu, která běží v produkčním prostředí, budete pravděpodobně chtít publikovat několik verzí zásad pro scénáře záložního testování nebo testování A/B. Nebo můžete chtít vytvořit kopii existující zásady, upravit ji několika malými změnami a pak ji nahrát jako novou zásadu pro použití v jiné aplikaci.
K nahrání nové zásady použijte příkaz New-AzureADMSTrustFrameworkPolicy :
New-AzureADMSTrustFrameworkPolicy -InputFilePath <inputpolicyfilePath> [-OutputFilePath <outputFilePath>]
Příklad příkazu:
# Add new policy from file
New-AzureADMSTrustFrameworkPolicy -InputFilePath C:\SignUpOrSignInv2.xml
Odstranění vlastní zásady
Pokud chcete zachovat životní cyklus čistých operací, doporučujeme pravidelně odebírat nepoužívané vlastní zásady. Můžete například chtít odebrat staré verze zásad po provedení migrace na novou sadu zásad a ověření funkčnosti nových zásad. Pokud se navíc pokusíte publikovat sadu vlastních zásad a zobrazí se chyba, může být vhodné odebrat zásady vytvořené v rámci neúspěšné verze.
Pomocí příkazu Remove-AzureADMSTrustFrameworkPolicy odstraňte zásadu z vašeho tenanta.
Remove-AzureADMSTrustFrameworkPolicy -Id <policyId>
Příklad příkazu:
# Delete an existing policy
Remove-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin
Řešení potíží s nahráváním zásad
Při pokusu o publikování nové vlastní zásady nebo aktualizaci existujících zásad může nesprávné formátování XML a chyby v řetězu dědičnosti souborů zásad způsobit selhání ověření.
Tady je například pokus o aktualizaci zásad obsahem, který obsahuje poškozený kód XML (výstup se kvůli stručnosti zkrátí):
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'.
...
Informace o řešení potíží s vlastními zásadami najdete v tématu Řešení potíží s vlastními zásadami Azure AD B2C a rozhraní Identity Experience Framework.
Další kroky
Informace o použití PowerShellu k nasazení vlastních zásad v rámci kanálu kontinuální integrace nebo průběžného doručování (CI/CD) najdete v tématu Nasazení vlastních zásad z kanálu Azure DevOps.