Configurare l'accesso per un'organizzazione Specifica di Microsoft Entra in Azure Active Directory B2C

Questo articolo illustra come abilitare l'accesso per gli utenti di un'organizzazione Microsoft Entra specifica usando un flusso utente in Azure AD B2C.

Prima di iniziare, usare il selettore Scegli un tipo di criterio per scegliere il tipo di criterio che si sta configurando. Azure Active Directory B2C offre due metodi per definire il modo in cui gli utenti interagiscono con le applicazioni: tramite flussi utente predefiniti o tramite criteri personalizzati completamente configurabili. I passaggi necessari in questo articolo sono diversi per ogni metodo.

Nota

In Azure Active Directory B2C i criteri personalizzati sono stati progettati principalmente per far fronte a scenari complessi. Per la maggior parte degli scenari, è consigliabile usare i flussi utente predefiniti. In caso contrario, vedere Introduzione ai criteri personalizzati in Active Directory B2C.

Prerequisiti

Verificare il dominio dell'editore dell'applicazione

A partire da novembre 2020, le nuove registrazioni dell'applicazione vengono visualizzate come non verificate nella richiesta di consenso dell'utente, a meno che il dominio dell'editore dell'applicazione non venga verificatoe che l'identità della società sia stata verificata con Microsoft Partner Network e associata all'applicazione. Altre informazioni su questa modifica. Si noti che per i flussi utente di Azure AD B2C, il dominio dell'editore viene visualizzato solo quando si usa un account Microsoft o un altro tenant di Microsoft Entra come provider di identità. Per soddisfare questi nuovi requisiti, eseguire le operazioni seguenti:

  1. Verificare l'identità aziendale usando l'account Microsoft Partner Network (MPN). Questo processo verifica le informazioni relative all'azienda e al contatto principale dell'azienda.
  2. Completare il processo di verifica dell'editore per associare l'account MPN alla registrazione dell'app usando una delle opzioni seguenti:
    • Se la registrazione dell'app per il provider di identità dell'account Microsoft si trova in un tenant di Microsoft Entra, verificare l'app nel portale di registrazione app.
    • Se la registrazione dell'app per il provider di identità dell'account Microsoft si trova in un tenant di Azure AD B2C, contrassegnare l'app come editore verificata usando le API Microsoft Graph, ad esempio usando Graph Explorer. L'interfaccia utente per l'impostazione dell'autore verificato di un'app è attualmente disabilitata per i tenant di Azure AD B2C.

Registrare un'app Microsoft Entra

Per abilitare l'accesso per gli utenti con un account Microsoft Entra di un'organizzazione Microsoft Entra specifica, in Azure Active Directory B2C (Azure AD B2C), è necessario creare un'applicazione nel portale di Azure. Per altre informazioni, vedere Registrare un'applicazione con Microsoft Identity Platform.

  1. Accedi al portale di Azure.

  2. Se si ha accesso a più tenant, selezionare l'icona Impostazioni nel menu in alto per passare al tenant microsoft Entra ID dal menu Directory e sottoscrizioni.

  3. Nella portale di Azure cercare e selezionare Microsoft Entra ID.

  4. Nel menu a sinistra, in Gestisci, selezionare Registrazioni app.

  5. Seleziona + Nuova registrazione.

  6. Immettere un nome per l'applicazione. Ad esempio, Azure AD B2C App.

  7. Accettare la selezione predefinita di Account solo in questa directory organizzativa (Solo directory predefinita - Tenant singolo) per questa applicazione.

  8. Per l'URI di reindirizzamento accettare il valore di Web e immettere l'URL seguente in tutte le lettere minuscole, dove your-B2C-tenant-name viene sostituito con il nome del tenant di Azure AD B2C.

    https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
    

    Ad esempio, https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp.

    Se si usa un dominio personalizzato, immettere https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Sostituire your-domain-name con il dominio personalizzato e your-tenant-name con il nome del tenant.

  9. Selezionare Registra. Prendere nota del valore di ID applicazione (client), che sarà necessario in un passaggio successivo.

  10. Selezionare Certificati & segreti e quindi nuovo segreto client.

  11. Immettere una descrizione per il segreto, selezionare una scadenza e quindi selezionare Aggiungi. Registrare il valore del segreto da usare in un passaggio successivo.

Configurare l'ID Microsoft Entra come provider di identità

  1. Se si ha accesso a più tenant, selezionare l'icona Impostazioni nel menu in alto per passare al tenant di Azure AD B2C dal menu Directory e sottoscrizioni.

  2. Scegliere Tutti i servizi nell'angolo in alto a sinistra nel portale di Azure e quindi cercare e selezionare Azure AD B2C.

  3. Selezionare Provider di identità e quindi selezionare Nuovo provider di OpenID Connect.

  4. Immetti un valore per Nome. Ad esempio, immettere Contoso Microsoft Entra ID.

  5. Per Url metadati immettere l'URL seguente sostituendo {tenant} con il nome di dominio del tenant di Microsoft Entra:

    https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration
    

Ad esempio, https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration. Se si usa un dominio personalizzato, sostituire contoso.com con il dominio personalizzato in https://login.microsoftonline.com/contoso.com/v2.0/.well-known/openid-configuration.

  1. Per ID client, immettere l'ID applicazione registrato in precedenza.

  2. In Segreto client immettere il valore del segreto client registrato in precedenza.

  3. In Ambito immettere openid profile.

  4. Lasciare i valori predefiniti per Tipo di risposta e Modalità di risposta.

  5. (Opzionale) Per l'hint di dominio, immettere contoso.com. Per altre informazioni, vedere Configurare l'accesso diretto tramite Active Directory B2C.

  6. In Mapping delle attestazioni del provider di identità selezionare le attestazioni seguenti:

    • ID utente: oid
    • Nome visualizzato: name
    • Nome: given_name
    • Cognome: family_name
    • Posta elettronica: posta elettronica
  7. Seleziona Salva.

Aggiungere il provider di identità Microsoft Entra a un flusso utente

A questo punto, il provider di identità Microsoft Entra è stato configurato, ma non è ancora disponibile in nessuna delle pagine di accesso. Per aggiungere il provider di identità Microsoft Entra a un flusso utente:

  1. Nel tenant di Azure AD B2C selezionare Flussi utente.
  2. Fare clic sul flusso utente che si desidera aggiungere il provider di identità Microsoft Entra.
  3. In Impostazioni selezionare Provider di identità
  4. In Provider di identità personalizzati selezionare Contoso Microsoft Entra ID.
  5. Seleziona Salva.
  6. Per testare i criteri, selezionare Esegui flusso utente.
  7. In Applicazione selezionare un'applicazione Web registrata in precedenza. L'URL di risposta dovrebbe mostrare https://jwt.ms.
  8. Selezionare il pulsante Esegui flusso utente.
  9. Nella pagina di iscrizione o accesso selezionare Contoso Microsoft Entra ID per accedere con l'account Microsoft Entra Contoso.

Se il processo di accesso ha esito positivo, il browser viene reindirizzato a https://jwt.ms, che visualizza il contenuto del token restituito da Azure AD B2C.

Creare una chiave dei criteri

È necessario archiviare la chiave dell'applicazione creata nel tenant di Azure AD B2C.

  1. Se si ha accesso a più tenant, selezionare l'icona Impostazioni nel menu in alto per passare al tenant di Azure AD B2C dal menu Directory e sottoscrizioni.
  2. Scegliere Tutti i servizi nell'angolo in alto a sinistra nel portale di Azure e quindi cercare e selezionare Azure AD B2C.
  3. In Criteri selezionare Identity Experience Framework.
  4. Selezionare Chiavi dei criteri e quindi Aggiungi.
  5. Per Opzioni scegliere Manual.
  6. Immettere un nome per la chiave dei criteri. Ad esempio, ContosoAppSecret. Il prefisso B2C_1A_ viene aggiunto automaticamente al nome della chiave al momento della creazione, quindi il relativo riferimento nel codice XML nella sezione seguente consiste nel B2C_1A_ContosoAppSecret.
  7. In Segreto immettere il valore del segreto client registrato in precedenza.
  8. In Uso chiave selezionare Signature.
  9. Seleziona Crea.

Configurare l'ID Microsoft Entra come provider di identità

Per consentire agli utenti di accedere usando un account Microsoft Entra, è necessario definire Microsoft Entra ID come provider di attestazioni con cui Azure AD B2C può comunicare tramite un endpoint. L'endpoint offre un set di attestazioni che vengono usate da Azure AD B2C per verificare se un utente specifico è stato autenticato.

È possibile definire Microsoft Entra ID come provider di attestazioni aggiungendo Microsoft Entra ID all'elemento ClaimsProvider nel file di estensione del criterio.

  1. Aprire il file TrustFrameworkExtensions.xml.

  2. Trovare l'elemento ClaimsProviders. Se non esiste, aggiungerlo nell'elemento radice.

  3. Aggiungere un nuovo ClaimsProvider come illustrato di seguito:

    <ClaimsProvider>
      <Domain>Contoso</Domain>
      <DisplayName>Login using Contoso</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AADContoso-OpenIdConnect">
          <DisplayName>Contoso Employee</DisplayName>
          <Description>Login with your Contoso account</Description>
          <Protocol Name="OpenIdConnect"/>
          <Metadata>
            <Item Key="METADATA">https://login.microsoftonline.com/tenant-name.onmicrosoft.com/v2.0/.well-known/openid-configuration</Item>
            <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_ContosoAppSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid"/>
            <OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid"/>
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Nell'elemento ClaimsProvider aggiornare il valore di Domain con un valore univoco che ne consenta la distinzione rispetto ad altri provider di identità. Ad esempio Contoso. Non aggiungere .com alla fine dell'impostazione del dominio.

  5. Nell'elemento ClaimsProvider aggiornare il valore di DisplayName con un nome descrittivo per il provider di attestazioni. Questo valore non è attualmente usato.

Aggiornare il profilo tecnico

Per ottenere un token dall'endpoint Microsoft Entra, è necessario definire i protocolli che Azure AD B2C deve usare per comunicare con Microsoft Entra ID. Questa operazione viene eseguita all'interno dell'elemento TechnicalProfile di ClaimsProvider.

  1. Aggiornare l'ID dell'elemento TechnicalProfile. Questo ID viene usato per fare riferimento a questo profilo tecnico da altre parti dei criteri, ad esempio AADContoso-OpenIdConnect.
  2. Aggiornare il valore di DisplayName. Questo valore verrà visualizzato sul pulsante di accesso nella schermata di accesso.
  3. Aggiornare il valore di Description.
  4. Microsoft Entra ID usa il protocollo OpenID Connessione, quindi assicurarsi che il valore per Protocol sia OpenIdConnect.
  5. Impostare il valore di METADATA su https://login.microsoftonline.com/tenant-name.onmicrosoft.com/v2.0/.well-known/openid-configuration, dove tenant-name è il nome del tenant di Microsoft Entra. Ad esempio, usare https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration
  6. Impostare client_id sull'ID applicazione ottenuto con la registrazione dell'applicazione.
  7. In CryptographicKeys aggiornare il valore di Archiviazione ReferenceId al nome della chiave dei criteri creata in precedenza. Ad esempio, B2C_1A_ContosoAppSecret.

Aggiungere un percorso utente

A questo punto, il provider di identità è stato configurato, ma non è ancora disponibile in nessuna delle pagine di accesso. Se non si ha un percorso utente personalizzato, creare un duplicato di un percorso utente modello esistente, altrimenti continuare con il passaggio successivo.

  1. Aprire il file TrustFrameworkBase.xml dallo starter pack.
  2. Trovare e copiare l'intero contenuto dell'elemento UserJourney che include Id="SignUpOrSignIn".
  3. Aprire TrustFrameworkExtensions.xml e trovare l'elemento UserJourneys. Se l'elemento non esiste, aggiungerne uno.
  4. Incollare l'intero contenuto dell'elemento UserJourney copiato come figlio dell'elemento UserJourneys.
  5. Rinominare l'ID del percorso utente. Ad esempio, Id="CustomSignUpSignIn".

Aggiungere il provider di identità a un percorso utente

Dopo aver creato un percorso utente, aggiungere il nuovo provider di identità al percorso utente. Aggiungere prima un pulsante di accesso, quindi collegare il pulsante a un'azione. L'azione è il profilo tecnico creato in precedenza.

  1. Trovare l'elemento del passaggio di orchestrazione che include Type="CombinedSignInAndSignUp"o Type="ClaimsProviderSelection" nel percorso utente. In genere è il primo passaggio di orchestrazione. L'elemento ClaimsProviderSelections contiene un elenco di provider di identità con cui un utente può accedere. L'ordine degli elementi controlla l'ordine dei pulsanti di accesso presentati all'utente. Aggiungere un elemento XML ClaimsProviderSelection . Impostare il valore di TargetClaimsExchangeId su un nome descrittivo.

  2. Nel passaggio di orchestrazione successivo aggiungere un elemento ClaimsExchange . Impostare ID sul valore dell'ID di scambio di attestazioni di destinazione. Aggiornare il valore di TechnicalProfileReferenceId sull'ID del profilo tecnico creato in precedenza.

Il codice XML seguente illustra i primi due passaggi di orchestrazione di un percorso utente con il provider di identità:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="AzureADContosoExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AzureADContosoExchange" TechnicalProfileReferenceId="AADContoso-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

Configurare i criteri della relying party

I criteri della relying party, ad esempio SignUpSignIn.xml, specificano il percorso utente che verrà eseguito da Azure AD B2C. Trovare l'elemento DefaultUserJourney all'interno della relying party. Aggiornare ReferenceId in modo che corrisponda all'ID percorso utente in cui è stato aggiunto il provider di identità.

Nell'esempio seguente, per il CustomSignUpSignIn percorso utente, ReferenceId è impostato su CustomSignUpSignIn:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Caricare il criterio personalizzati

  1. Accedi al portale di Azure.
  2. Selezionare l'icona Directory e sottoscrizione nella barra degli strumenti del portale e quindi la directory contenente il tenant di Azure AD B2C.
  3. Nel portale di Azure cercare e selezionare Azure AD B2C.
  4. In Criteri selezionare Identity Experience Framework.
  5. Selezionare Carica criteri personalizzati e quindi caricare i due file di criteri modificati, nell'ordine seguente: i criteri di estensione, ad esempio , quindi i criteri della relying party, ad esempio TrustFrameworkExtensions.xmlSignUpSignIn.xml.

Testare i criteri personalizzati

  1. Selezionare i criteri della relying party, ad esempio B2C_1A_signup_signin.
  2. In Applicazione selezionare un'applicazione Web registrata in precedenza. L'URL di risposta dovrebbe mostrare https://jwt.ms.
  3. Selezionare il pulsante Esegui adesso .
  4. Nella pagina di iscrizione o accesso selezionare Contoso Employee per accedere con l'account Microsoft Entra Contoso.

Se il processo di accesso ha esito positivo, il browser viene reindirizzato a https://jwt.ms, che visualizza il contenuto del token restituito da Azure AD B2C.

[Facoltativo] Configurazione di attestazioni facoltative

Se si desidera ottenere le attestazioni e given_name dall'ID family_name Microsoft Entra, è possibile configurare attestazioni facoltative per l'applicazione nel manifesto dell'interfaccia utente o dell'applicazione portale di Azure. Per altre informazioni, vedere Come fornire attestazioni facoltative all'app Microsoft Entra.

  1. Accedere al portale di Azure usando il tenant Microsoft Entra dell'organizzazione. In alternativa, se è già stato eseguito l'accesso, assicurarsi di usare la directory che contiene il tenant Microsoft Entra dell'organizzazione (ad esempio, Contoso):
    1. Selezionare l'icona Directory e sottoscrizioni nella barra degli strumenti del portale.
    2. Nelle impostazioni del portale | Pagina Directory e sottoscrizioni , trovare la directory Microsoft Entra nell'elenco Nome directory e quindi selezionare Cambia.
  2. Nella portale di Azure cercare e selezionare Microsoft Entra ID.
  3. Nel menu a sinistra, in Gestisci, selezionare Registrazioni app.
  4. Selezionare l'applicazione per cui si vogliono configurare attestazioni facoltative nell'elenco, ad esempio Azure AD B2C App.
  5. Nella sezione Gestisci selezionare Configurazione del token.
  6. Seleziona Aggiungi un'attestazione facoltativa.
  7. Per Tipo di token selezionare ID.
  8. Selezionare le attestazioni facoltative da aggiungere family_name e given_name.
  9. Seleziona Aggiungi. Se viene visualizzata l'autorizzazione Attiva profilo Microsoft Graph (richiesta per la visualizzazione delle attestazioni nel token), abilitarla e quindi selezionare di nuovo Aggiungi .

[Facoltativo] Verificare l'autenticità dell'app

La verifica dell'autore consente agli utenti di comprendere l'autenticità dell'app registrata. Un'app verificata significa che l'editore dell'app ha verificato la propria identità usando Microsoft Partner Network (MPN). Informazioni su come indicare che per un'app è stata eseguita la verifica dell'autore.

Passaggi successivi

Informazioni su come passare il token Microsoft Entra all'applicazione.