Azure Active Directory B2C: introduzione ai criteri personalizzatiAzure Active Directory B2C: Get started with custom policies

Nota

I criteri personalizzati sono disponibili in anteprima pubblica.Custom policies are in public preview.

I criteri personalizzati sono stati progettati principalmente per professionisti della gestione delle identità che devono affrontare scenari complessi.Custom policies are designed primarily for identity pros who need to address complex scenarios. Per la maggior parte degli scenari è consigliabile usare i criteri predefiniti di Azure Active Directory B2C.For most scenarios, we recommend that you use Azure Active Directory B2C built-in policies. I criteri predefiniti sono più facili da impostare per la configurazione.Built-in policies are easier to set up for your configuration. È possibile usare i criteri predefiniti e i criteri personalizzati nello stesso tenant di Azure Active Directory B2C.You can use built-in and custom policies in the same Azure Active Directory B2C tenant. Per altre informazioni, vedere la panoramica dei criteri personalizzati.To learn more, see the overview of custom policies.

Dopo avere completato i passaggi descritti in questo articolo, il criterio personalizzato supporterà l'iscrizione o l'accesso all'"account locale" tramite un indirizzo di posta elettronica e una password.After you complete the steps in this article, your custom policy will support "local account" sign-up or sign-in via an email address and password. Si preparerà anche l'ambiente per l'aggiunta di provider di identità (ad esempio Facebook o Azure Active Directory).You will also prepare your environment for adding identity providers (like Facebook or Azure Active Directory). È consigliabile completare questi passaggi prima di leggere informazioni su altri usi del Framework dell'esperienza di gestione delle identità di Azure Active Directory B2C (Azure AD B2C).We encourage you to complete these steps before reading about other uses of the Azure Active Directory (Azure AD) B2C Identity Experience Framework.

PrerequisitiPrerequisites

Prima di procedere, assicurarsi di disporre di un tenant di Azure AD B2C, che è un contenitore per tutti gli utenti, le app, i criteri e altro ancora.Before proceeding, ensure that you have an Azure AD B2C tenant, which is a container for all your users, apps, policies, and more. In assenza di un tenant, è necessario creare un tenant di Azure AD B2C.If you don't have one already, you need to create an Azure AD B2C tenant. Prima di procedere, è consigliabile che tutti gli sviluppatori completino le procedure dettagliate relative ai criteri predefiniti di Azure AD B2C e configurino la propria applicazione con i criteri predefiniti.We strongly encourage all developers to complete the Azure AD B2C built-in policy walkthroughs and configure their applications with built-in policies before proceeding. Le applicazioni useranno entrambi i tipi di criteri con una semplice modifica del nome dei criteri per richiamare i criteri personalizzati.Your applications will work with both types of policies once you make a minor change to the policy name to invoke the custom policy.

Nota

Per accedere alla funzionalità di modifica dei criteri personalizzati è necessaria una sottoscrizione di Azure valida collegata al tenant.To access custom policy editing, you need a valid Azure subscription linked to your tenant. Se il tenant di Azure AD B2C non è collegato a una sottoscrizione di Azure oppure la sottoscrizione di Azure è disabilitata, il pulsante Framework dell'esperienza di gestione delle identità non è disponibile.If you haven't linked your Azure AD B2C tenant to an Azure subscription or your Azure subscription is disabled, the Identity Experience Framework button won't be available.

Aggiungere chiavi di crittografia e di firma al tenant di B2C per l'uso da parte dei criteri personalizzatiAdd signing and encryption keys to your B2C tenant for use by custom policies

  1. Aprire il pannello Framework dell'esperienza di gestione delle identità nelle impostazioni del tenant di Azure AD B2C.Open the Identity Experience Framework blade in your Azure AD B2C tenant settings.
  2. Selezionare Chiavi dei criteri per visualizzare le chiavi disponibili nel tenant.Select Policy Keys to view the keys available in your tenant.
  3. Se non esiste, creare B2C_1A_TokenSigningKeyContainer:Create B2C_1A_TokenSigningKeyContainer if it does not exist:
    a.a. Selezionare Aggiungi.Select Add.
    b.b. Selezionare Genera.Select Generate.
    c.c. Per Nome usare TokenSigningKeyContainer.For Name, use TokenSigningKeyContainer.
    È possibile che il prefisso B2C_1A_ venga aggiunto automaticamente.The prefix B2C_1A_ might be added automatically.
    d.d. For Tipo di chiave usare RSA.For Key type, use RSA.
    e.e. Per Date usare le impostazioni predefinite.For Dates, use the defaults.
    f.f. Per Uso chiave usare Firma.For Key usage, use Signature.
    g.g. Selezionare Crea.Select Create.
  4. Se non esiste, creare B2C_1A_TokenEncryptionKeyContainer:Create B2C_1A_TokenEncryptionKeyContainer if it does not exist:
    a.a. Selezionare Aggiungi.Select Add.
    b.b. Selezionare Genera.Select Generate.
    c.c. Per Nome usare TokenEncryptionKeyContainer.For Name, use TokenEncryptionKeyContainer.
    È possibile che il prefisso B2C_1A venga aggiunto automaticamente.The prefix B2C_1A might be added automatically.
    d.d. For Tipo di chiave usare RSA.For Key type, use RSA.
    e.e. Per Date usare le impostazioni predefinite.For Dates, use the defaults.
    f.f. Per Uso chiave usare Crittografia.For Key usage, use Encryption.
    g.g. Selezionare Crea.Select Create.
  5. Creare B2C_1A_FacebookSecret.Create B2C_1A_FacebookSecret.
    Se si ha già un segreto dell'applicazione Facebook, aggiungerlo come chiave dei criteri nel tenant.If you already have a Facebook application secret, add it as a policy key to your tenant. In caso contrario, è necessario creare la chiave con un valore segnaposto affinché i criteri superino la convalida.Otherwise, you must create the key with a placeholder value so that your policies pass validation.
    a.a. Selezionare Aggiungi.Select Add.
    b.b. Per Opzioni usare Manuale.For Options, use Manual.
    c.c. Per Nome usare FacebookSecret.For Name, use FacebookSecret.
    È possibile che il prefisso B2C_1A_ venga aggiunto automaticamente.The prefix B2C_1A_ might be added automatically.
    d.d. Nella casella Segreto immettere il FacebookSecret disponibile in developers.facebook.com oppure 0 come segnaposto.In the Secret box, enter your FacebookSecret from developers.facebook.com or 0 as a placeholder. Non si tratta dell'ID dell'app Facebook.This is not your Facebook app ID.
    e.e. Per Uso chiave usare Firma.For Key usage, use Signature.
    f.f. Selezionare Crea e confermare la creazione.Select Create and confirm creation.

Registrare le applicazioni del framework dell'esperienza di gestione delle identitàRegister Identity Experience Framework applications

Azure AD B2C richiede di registrare due applicazioni aggiuntive che vengono usate dal motore per registrare e far accedere gli utenti.Azure AD B2C requires you to register two extra applications that are used by the engine to sign up and sign in users.

Nota

È necessario creare due applicazioni per abilitare l'accesso con account locali: l'app Web IdentityExperienceFramework e l'app nativa ProxyIdentityExperienceFramework, con autorizzazione delegata dall'app IdentityExperienceFramework.You must create two applications that enable sign-in using local accounts: IdentityExperienceFramework (a web app) and ProxyIdentityExperienceFramework (a native app) with delegated permission from the IdentityExperienceFramework app. Gli account locali esistono solo nel tenant.Local accounts exist only in your tenant. Per accedere alle applicazioni registrate nel tenant, gli utenti si iscrivono con una combinazione univoca di indirizzo di posta elettronica e password.Your users sign up with a unique email address/password combination to access your tenant-registered applications.

Creare l'applicazione IdentityExperienceFrameworkCreate the IdentityExperienceFramework application

  1. Nel portale di Azure passare al contesto del tenant di Azure AD B2C.In the Azure portal, switch into the context of your Azure AD B2C tenant.
  2. Aprire il pannello Azure Active Directory (non il pannello Azure AD B2C).Open the Azure Active Directory blade (not the Azure AD B2C blade). Potrebbe essere necessario selezionare Altri servizi per individuarlo.You might need to select More Services to find it.
  3. Selezionare Registrazioni per l'app.Select App registrations.
  4. Selezionare Registrazione nuova applicazione.Select New application registration.
    • Per Nome usare IdentityExperienceFramework.For Name, use IdentityExperienceFramework.
    • Per Tipo di applicazione usare App Web/API.For Application type, use Web app/API.
    • Per URL di accesso usare https://login.microsoftonline.com/yourtenant.onmicrosoft.com, dove yourtenant è il nome del dominio del tenant di Azure AD B2C.For Sign-on URL, use https://login.microsoftonline.com/yourtenant.onmicrosoft.com, where yourtenant is your Azure AD B2C tenant domain name.
  5. Selezionare Crea.Select Create.
  6. Dopo avere completato la creazione, selezionare l'applicazione appena creata IdentityExperienceFramework.Once it is created, select the newly created application IdentityExperienceFramework.
    • Selezionare Proprietà.Select Properties.
    • Copiare l'ID dell'applicazione e salvarlo per un uso successivo.Copy the application ID and save it for later.

Creare l'applicazione ProxyIdentityExperienceFrameworkCreate the ProxyIdentityExperienceFramework application

  1. Selezionare Registrazioni per l'app.Select App registrations.
  2. Selezionare Registrazione nuova applicazione.Select New application registration.
    • Per Nome usare ProxyIdentityExperienceFramework.For Name, use ProxyIdentityExperienceFramework.
    • Per Tipo di applicazione usare Nativo.For Application type, use Native.
    • Per URI di reindirizzamento usare https://login.microsoftonline.com/yourtenant.onmicrosoft.com, dove yourtenant è il tenant di Azure AD B2C.For Redirect URI, use https://login.microsoftonline.com/yourtenant.onmicrosoft.com, where yourtenant is your Azure AD B2C tenant.
  3. Selezionare Crea.Select Create.
  4. Dopo avere completato la creazione, selezionare l'applicazione ProxyIdentityExperienceFramework.Once it has been created, select the application ProxyIdentityExperienceFramework.
    • Selezionare Proprietà.Select Properties.
    • Copiare l'ID dell'applicazione e salvarlo per un uso successivo.Copy the application ID and save it for later.
  5. Selezionare Autorizzazioni necessarie.Select Required permissions.
  6. Selezionare Aggiungi.Select Add.
  7. Fare clic su Selezionare un'API.Select Select an API.
  8. Cercare il nome IdentityExperienceFramework.Search for the name IdentityExperienceFramework. Selezionare IdentityExperienceFramework nei risultati e quindi fare clic su Seleziona.Select IdentityExperienceFramework in the results, and then click Select.
  9. Selezionare la casella di controllo accanto a Accesso a IdentityExperienceFramework e quindi fare clic su Seleziona.Select the check box next to Access IdentityExperienceFramework, and then click Select.
  10. Selezionare Operazione completata.Select Done.
  11. Selezionare Concedi autorizzazioni e quindi confermare selezionando .Select Grant Permissions, and then confirm by selecting Yes.

Scaricare lo starter pack e modificare i criteriDownload starter pack and modify policies

I criteri personalizzati sono un set di file XML che devono essere caricati nel tenant di Azure AD B2C.Custom policies are a set of XML files that need to be uploaded to your Azure AD B2C tenant. Gli starter pack vengono forniti per consentire agli utenti di diventare rapidamente operativi.We provide starter packs to get you going quickly. Ogni pacchetto Starter nell'elenco seguente contiene il più piccolo numero di profili di tecnici e i percorsi utente necessari per raggiungere gli scenari descritti:Each starter pack in the following list contains the smallest number of technical profiles and user journeys needed to achieve the scenarios described:

  • LocalAccounts.LocalAccounts. Consente l'uso solo di account locali.Enables the use of local accounts only.
  • SocialAccounts.SocialAccounts. Consente l'uso solo di account di social networking (o federati).Enables the use of social (or federated) accounts only.
  • SocialAndLocalAccounts.SocialAndLocalAccounts. Si userà questo file per la procedura dettagliata.We use this file for the walkthrough.
  • SocialAndLocalAccountsWithMFA.SocialAndLocalAccountsWithMFA. Qui sono incluse le opzioni social, locale e Multi-Factor Authentication.Social, local, and Multi-Factor Authentication options are included here.

Ogni pacchetto Starter contiene:Each starter pack contains:

  • Il file base dei criteri.The base file of the policy. Alcune modifiche sono necessarie per la base.Few modifications are required to the base.
  • Il file di estensione dei criteri.The extension file of the policy. Questo file è quello in cui viene eseguita la maggior parte delle modifiche di configurazione.This file is where most configuration changes are made.
  • I file relying party sono file specifici delle attività chiamati dall'applicazione.Relying party files are task-specific files called by your application.

Nota

Se l'editor XML supporta la convalida, convalidare i file rispetto allo schema XML TrustFrameworkPolicy_0.3.0.0.xsd che si trova nella directory radice del pacchetto Starter.If your XML editor supports validation, validate the files against the TrustFrameworkPolicy_0.3.0.0.xsd XML schema that is located in the root directory of the starter pack. La convalida dello schema XML identifica gli errori prima del caricamento.XML schema validation identifies errors before uploading.

Di seguito sono riportati i requisiti iniziali:Let's get started:

  1. Scaricare active-directory-b2c-custom-policy-starterpack da GitHub.Download active-directory-b2c-custom-policy-starterpack from GitHub. Scaricare il file con estensione zip o eseguireDownload the .zip file or run

    git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
    
  2. Aprire la cartella SocialAndLocalAccounts.Open the SocialAndLocalAccounts folder. Il file di base (TrustFrameworkBase.xml) in questa cartella include il contenuto necessario agli account locali, aziendali e di social networking.The base file (TrustFrameworkBase.xml) in this folder contains content needed for both local and social/corporate accounts. Il contenuto sociale non interferisce con la procedura per creare ed eseguire gli account locali.The social content does not interfere with the steps for getting local accounts up and running.
  3. Aprire TrustFrameworkBase.xml.Open TrustFrameworkBase.xml. Se occorre un editor XML, provare Visual Studio Code, un editor multipiattaforma leggero.If you need an XML editor, try Visual Studio Code, a lightweight cross-platform editor.
  4. Nell'elemento TrustFrameworkPolicy radice aggiornare gli attributi TenantId e PublicPolicyUri sostituendo yourtenant.onmicrosoft.com con il nome di dominio del tenant di Azure AD B2C:In the root TrustFrameworkPolicy element, update the TenantId and PublicPolicyUri attributes, replacing yourtenant.onmicrosoft.com with the domain name of your Azure AD B2C tenant:

     <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="yourtenant.onmicrosoft.com"
     PolicyId="B2C_1A_TrustFrameworkBase"
     PublicPolicyUri="http://yourtenant.onmicrosoft.com">
    

    Nota

    PolicyId è il nome dei criteri visualizzato nel portale e il nome con cui gli altri file dei criteri fanno riferimento ad esso.PolicyId is the policy name that you see in the portal and the name by which this policy file is referenced by other policy files.

  5. Salvare il file.Save the file.

  6. Aprire TrustFrameworkExtensions.xml.Open TrustFrameworkExtensions.xml. Apportare le stesse due modifiche sostituendo yourtenant.onmicrosoft.com con il tenant di Azure AD B2C.Make the same two changes by replacing yourtenant.onmicrosoft.com with your Azure AD B2C tenant. Eseguire la stessa sostituzione nell'elemento <TenantId>, effettuando così in totale di tre modifiche.Make the same replacement in the <TenantId> element for a total of three changes. Salvare il file.Save the file.
  7. Aprire SignUpOrSignIn.xml.Open SignUpOrSignIn.xml. Apportare le stesse modifiche sostituendo yourtenant.onmicrosoft.com con il tenant di Azure AD B2C in tre posizioni.Make the same changes by replacing yourtenant.onmicrosoft.com with your Azure AD B2C tenant in three places. Salvare il file.Save the file.
  8. Aprire i file di modifica del profilo e di reimpostazione delle password.Open the password reset and profile edit files. Apportare le stesse modifiche sostituendo yourtenant.onmicrosoft.com con il tenant di Azure AD B2C in tre posizioni in ogni file.Make the same changes by replacing yourtenant.onmicrosoft.com with your Azure AD B2C tenant in three places in each file. Salvare i file.Save the files.

Aggiungere le ID dell'applicazione al criterio personalizzatoAdd the application IDs to your custom policy

Aggiungere gli ID applicazione al file di estensione (TrustFrameworkExtensions.xml):Add the application IDs to the extensions file (TrustFrameworkExtensions.xml):

  1. Nel file di estensione (TrustFrameworkExtensions.xml) trovare l'elemento <TechnicalProfile Id="login-NonInteractive">.In the extensions file (TrustFrameworkExtensions.xml), find the element <TechnicalProfile Id="login-NonInteractive">.
  2. Sostituire entrambe le istanze di IdentityExperienceFrameworkAppId con l'ID dell'applicazione del framework dell'esperienza di gestione delle identità creata in precedenza.Replace both instances of IdentityExperienceFrameworkAppId with the application ID of the Identity Experience Framework application that you created earlier. Di seguito è fornito un esempio:Here is an example:

    <Item Key="client_id">8322dedc-cbf4-43bc-8bb6-141d16f0f489</Item>
    
  3. Sostituire entrambe le istanze di ProxyIdentityExperienceFrameworkAppId con l'ID dell'applicazione proxy del framework dell'esperienza di gestione delle identità creata in precedenza.Replace both instances of ProxyIdentityExperienceFrameworkAppId with the application ID of the Proxy Identity Experience Framework application that you created earlier.
  4. Salvare il file delle estensioni.Save your extensions file.

Caricare i criteri nel tenantUpload the policies to your tenant

  1. Nel portale di Azure passare al contesto del tenant di Azure AD B2C e aprire il pannello Azure AD B2C.In the Azure portal, switch into the context of your Azure AD B2C tenant, and open the Azure AD B2C blade.
  2. Fare clic su Framework dell'esperienza di gestione delle identità.Select Identity Experience Framework.
  3. Selezionare Carica criteri.Select Upload Policy.

    Avviso

    I file dei criteri personalizzati devono essere caricati nell'ordine seguente:The custom policy files must be uploaded in the following order:

  4. Caricare TrustFrameworkBase.xml.Upload TrustFrameworkBase.xml.

  5. Caricare TrustFrameworkExtensions.xml.Upload TrustFrameworkExtensions.xml.
  6. Caricare SignUpOrSignin.xml.Upload SignUpOrSignin.xml.
  7. Caricare gli altri file dei criteri.Upload your other policy files.

Quando viene caricato un file dei criteri, all'inizio del nome viene aggiunto B2C_1A_.When a file is uploaded, the name of the policy file is prepended with B2C_1A_.

Testare i criteri personalizzati tramite Esegui adessoTest the custom policy by using Run Now

  1. Aprire Impostazioni di Azure AD B2C e passare a Framework dell'esperienza di gestione delle identità.Open Azure AD B2C Settings and go to Identity Experience Framework.

    Nota

    Il comando Esegui adesso richiede che nel tenant sia preregistrata almeno un'applicazione.Run now requires at least one application to be preregistered on the tenant. Le applicazioni devono essere registrate nel tenant di B2C usando l'opzione di menu Applicazioni in Azure AD B2C o usando il Framework dell'esperienza di gestione delle identità per richiamare i criteri sia predefiniti che personalizzati.Applications must be registered in the B2C tenant, either by using the Applications menu selection in Azure AD B2C or by using the Identity Experience Framework to invoke both built-in and custom policies. È necessaria una sola registrazione per applicazione.Only one registration per application is needed.

    Per informazioni su come registrare le applicazioni, vedere l'articolo di introduzione ad Azure AD B2C o l'articolo relativo alla registrazione delle applicazioni.To learn how to register applications, see the Azure AD B2C Get started article or the Application registration article.

  2. Aprire B2C_1A_signup_signin, i criteri personalizzati dalla relying party (RP) caricati in precedenza.Open B2C_1A_signup_signin, the relying party (RP) custom policy that you uploaded. Selezionare Esegui adesso.Select Run now.

  3. Dovrebbe essere possibile iscriversi usando un indirizzo di posta elettronica.You should be able to sign up using an email address.

  4. Accedere con lo stesso account per verificare che la configurazione sia corretta.Sign in with the same account to confirm that you have the correct configuration.

Nota

Una causa comune degli errori di accesso è la configurazione non corretta dell'app IdentityExperienceFramework.A common cause of sign-in failure is an improperly configured IdentityExperienceFramework app.

Passaggi successiviNext steps

Aggiungere Facebook come provider di identitàAdd Facebook as an identity provider

Per configurare Facebook:To set up Facebook:

  1. Configurare un'applicazione Facebook in developers.facebook.com.Configure a Facebook application in developers.facebook.com.
  2. Aggiungere il segreto dell'applicazione Facebook al tenant di Azure AD B2C.Add the Facebook application secret to your Azure AD B2C tenant.
  3. Nel file dei criteri TrustFrameworkExtensions sostituire il valore di client_id con l'ID dell'applicazione Facebook:In the TrustFrameworkExtensions policy file, replace the value of client_id with the Facebook application ID:

    <TechnicalProfile Id="Facebook-OAUTH">
      <Metadata>
      <!--Replace the value of client_id in this technical profile with the Facebook app ID"-->
        <Item Key="client_id">00000000000000</Item>
    
  4. Caricare il file dei criteri TrustFrameworkExtensions.xml nel tenant.Upload the TrustFrameworkExtensions.xml policy file to your tenant.
  5. Eseguire i test usando Esegui adesso oppure richiamando i criteri direttamente dall'applicazione registrata.Test by using Run now or by invoking the policy directly from your registered application.

Aggiungere Azure Active Directory come provider di identitàAdd Azure Active Directory as an identity provider

Il file di base che è stato usato in questa Guida introduttiva contiene già parte del contenuto che è necessario per l'aggiunta di altri provider di identità.The base file used in this getting started guide already contains some of the content that you need for adding other identity providers. Per informazioni sull'impostazione degli accessi, vedere l'articolo Azure Active Directory B2C: accesso con account di Azure AD.For information on setting up sign-ins, see the Azure Active Directory B2C: Sign in by using Azure AD accounts article.

Per una panoramica dei criteri personalizzati di Azure AD B2C che usano il Framework dell'esperienza di gestione delle identità, vedere l'articolo Azure Active Directory B2C: criteri personalizzati.For an overview of custom policies in Azure AD B2C that use the Identity Experience Framework, see the Azure Active Directory B2C: Custom policies article.