Condividi tramite


Gestire i criteri personalizzati di Azure AD B2C con Microsoft Graph PowerShell

Importante

A partire dal 1° maggio 2025, Azure AD B2C non sarà più disponibile per l'acquisto per i nuovi clienti. Altre informazioni sono disponibili nelle domande frequenti.

Microsoft Graph PowerShell offre diversi cmdlet per la gestione dei criteri personalizzati da riga di comando e script nel tenant di Azure AD B2C. Informazioni su come usare Microsoft Graph PowerShell SDK per:

  • Elencare i criteri personalizzati in un tenant di Azure AD B2C
  • Scarica una politica da un tenant
  • Aggiornare un criterio esistente sovrascrivendone il contenuto
  • Carica una nuova policy nel tenant di Azure AD B2C
  • Eliminare un criterio personalizzato da un tenant

Prerequisiti

Connettere la sessione di PowerShell al tenant B2C

Per usare i criteri personalizzati nel tenant di Azure AD B2C, è prima necessario connettere la sessione di PowerShell al tenant usando il comando Connect-MgGraph .

Eseguire il comando seguente. Accedere con un account a cui è assegnato il ruolo B2C IEF Policy Administrator nella directory.

Connect-MgGraph -TenantId "{b2c-tenant-name}.onmicrosoft.com" -Scopes "Policy.ReadWrite.TrustFramework"

Output del comando di esempio che mostra un accesso riuscito:

Welcome to Microsoft Graph!

Connected via delegated access using 64636d5d-8eb5-42c9-b9eb-f53754c5571f
Readme: https://aka.ms/graph/sdk/powershell
SDK Docs: https://aka.ms/graph/sdk/powershell/docs
API Docs: https://aka.ms/graph/docs

NOTE: You can use the -NoWelcome parameter to suppress this message.

Elencare tutti i criteri personalizzati nel tenant

L'individuazione dei criteri personalizzati consente a un amministratore di Azure AD B2C di esaminare, gestire e aggiungere la logica di business alle operazioni. Usare il comando Get-MgBetaTrustFrameworkPolicy per restituire un elenco degli ID dei criteri personalizzati in un tenant di Azure AD B2C.

Get-MgBetaTrustFrameworkPolicy

Esempio di output del comando:

Id
--
B2C_1A_TrustFrameworkBase
B2C_1A_TrustFrameworkExtensions
B2C_1A_signup_signin
B2C_1A_ProfileEdit
B2C_1A_PasswordReset

Scarica una policy

Dopo aver esaminato l'elenco degli ID dei criteri, è possibile scegliere come destinazione un criterio specifico con Get-MgBetaTrustFrameworkPolicy per scaricarne il contenuto.

Get-MgBetaTrustFrameworkPolicy [-TrustFrameworkPolicyId <policyId>]

Nell'esempio, viene scaricata la politica con 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>

Per modificare il contenuto dei criteri in locale, reindirizzare l'output del comando a un file e quindi aprire il file nell'editor preferito.

Aggiornare un criterio esistente

Dopo aver modificato un file di criteri creato o scaricato, è possibile pubblicare i criteri aggiornati in Azure AD B2C usando il comando Update-MgBetaTrustFrameworkPolicy .

Se si esegue il Update-MgBetaTrustFrameworkPolicy comando con l'ID di un criterio già esistente nel tenant di Azure AD B2C, il contenuto di tale criterio viene sovrascritto.

Update-MgBetaTrustFrameworkPolicy -TrustFrameworkPolicyId <policyId> -BodyParameter @{trustFrameworkPolicy = "<policy file path>"}

Comando di esempio:

# Update an existing policy from file
Update-MgBetaTrustFrameworkPolicy -TrustFrameworkPolicyId B2C_1A_signup_signin -BodyParameter @{trustFrameworkPolicy = C:\B2C_1A_signup_signin.xml}

Caricare un nuovo criterio

Quando si apporta una modifica a un criterio personalizzato in esecuzione nell'ambiente di produzione, è possibile pubblicare più versioni del criterio per scenari di fallback o di test A/B. In alternativa, è possibile creare una copia di un criterio esistente, modificarlo con alcune piccole modifiche, quindi caricarlo come nuovo criterio per l'utilizzo da parte di un'applicazione diversa.

Utilizzare il comando New-MgBetaTrustFrameworkPolicy per caricare un nuovo criterio:

New-MgBetaTrustFrameworkPolicy -BodyParameter @{trustFrameworkPolicy = "<policy file path>"}

Comando di esempio:

# Add new policy from file
New-MgBetaTrustFrameworkPolicy -BodyParameter @{trustFrameworkPolicy = C:\B2C_1A_signup_signin.xml }

Eliminare un criterio personalizzato

Per mantenere un ciclo di vita delle operazioni pulito, è consigliabile rimuovere periodicamente i criteri personalizzati inutilizzati. Ad esempio, è possibile rimuovere le versioni precedenti dei criteri dopo aver eseguito una migrazione a un nuovo set di criteri e aver verificato la funzionalità dei nuovi criteri. Inoltre, se si tenta di pubblicare un set di criteri personalizzati e si riceve un errore, potrebbe essere opportuno rimuovere i criteri creati come parte della versione non riuscita.

Utilizzare il comando Remove-MgBetaTrustFrameworkPolicy per eliminare un criterio dal tenant.

Remove-MgBetaTrustFrameworkPolicy -TrustFrameworkPolicyId <policyId>

Comando di esempio:

# Delete an existing policy
Remove-MgBetaTrustFrameworkPolicy -TrustFrameworkPolicyId B2C_1A_signup_signin

Risolvere i problemi di caricamento delle politiche

Quando si tenta di pubblicare un nuovo criterio personalizzato o di aggiornare un criterio esistente, la formattazione XML non corretta e gli errori nella catena di ereditarietà del file di criteri possono causare errori di convalida.

Per informazioni sulla risoluzione dei problemi relativi ai criteri personalizzati, vedere Risolvere i problemi relativi ai criteri personalizzati di Azure AD B2C e Identity Experience Framework.

Passaggi successivi

Per informazioni sull'uso di PowerShell per distribuire criteri personalizzati come parte di una pipeline di integrazione continua/recapito continuo (CI/CD), vedere Distribuire criteri personalizzati da una pipeline di Azure DevOps.