Condividi tramite


Abilitare l'autenticazione e l'autorizzazione in App Azure Container con Microsoft Entra ID

Questo articolo illustra come configurare l'autenticazione per app contenitore di Azure in modo che l'app acceggi gli utenti con Microsoft Identity Platform come provider di autenticazione.

La funzionalità Di autenticazione delle app contenitore può creare automaticamente una registrazione dell'app con Microsoft Identity Platform. È anche possibile usare una registrazione creata separatamente dall'utente o da un amministratore della directory.

Opzione 1: Creare automaticamente una nuova registrazione dell'app

Questa opzione è progettata per semplificare l'abilitazione dell'autenticazione e richiede solo alcuni passaggi.

  1. Accedere al portale di Azure e passare all’app.

  2. Selezionare Autenticazione dal menu a sinistra. Fare clic su Aggiungi provider di identità.

  3. Selezionare Microsoft nell'elenco a discesa Provider di identità. L'opzione per creare una nuova registrazione è selezionata per impostazione predefinita. È possibile modificare il nome della registrazione o i tipi di account supportati.

    Un segreto client viene creato e archiviato come segreto nell'app contenitore.

  4. Se si configura il primo provider di identità per questa applicazione, viene visualizzata una sezione Impostazioni di autenticazione di App contenitore. In caso contrario, passare al passaggio successivo.

    Queste opzioni determinano il modo in cui l'applicazione risponde alle richieste non autenticate e le selezioni predefinite reindirizzano tutte le richieste di accesso con questo nuovo provider. È possibile personalizzare questo comportamento ora oppure modificare queste impostazioni in un secondo momento dalla schermata Autenticazione principale scegliendo Modifica accanto a Impostazioni autenticazione. Per altre informazioni su queste opzioni, vedere Flusso di autenticazione.

  5. (Facoltativo) Selezionare Avanti: Autorizzazioni e aggiungere eventuali ambiti necessari per l'applicazione. Gli ambiti vengono aggiunti alla registrazione dell'app, ma è anche possibile modificarli in un secondo momento.

  6. Selezionare Aggiungi.

A questo punto, è possibile usare Microsoft Identity Platform per l'autenticazione nell'app. Il provider è elencato nella schermata Autenticazione . Da qui è possibile modificare o eliminare questa configurazione del provider.

Opzione 2: Usare una registrazione esistente creata separatamente

È anche possibile registrare manualmente l'applicazione per Microsoft Identity Platform, personalizzare la registrazione e configurare l'autenticazione di App contenitore con i dettagli di registrazione. Questo approccio è utile quando si vuole usare una registrazione dell'app da un tenant Di Microsoft Entra diverso da quello in cui è definita l'applicazione.

Creare una registrazione dell'app in Microsoft Entra ID per l'app contenitore

Prima di tutto, crei la registrazione dell'app. A tale scopo, raccogliere le informazioni seguenti necessarie in un secondo momento quando si configura l'autenticazione nell'app contenitore:

  • ID client
  • ID tenant
  • Segreto client (facoltativo)
  • URI ID applicazione

Per registrare l'app, seguire questa procedura:

  1. Accedere al portale di Azure.
  2. Cercare e selezionare App contenitore e quindi selezionare l'app. Nella pagina Panoramica prendere nota dell'URL dell'applicazione dell'app. È possibile usarlo per configurare la registrazione dell'app Microsoft Entra.
  3. Selezionare Home per tornare al menu principale del portale. Cercare e selezionare Microsoft Entra ID.
  4. Nella pagina Panoramica selezionare Aggiungi, quindi selezionare Registrazione app.
    1. Nella pagina Registra un'applicazione immettere un valore per Nome per la registrazione dell'app.

    2. In URI di reindirizzamento selezionare Web e immettere quanto segue. Sostituire \<APP_URL\> con l'URL dell'applicazione annotato in precedenza.

      <APP_URL>/.auth/login/aad/callback.

      Ad esempio: https://<CONTAINER_APP_NAME>.<ENVIRONMENT_UNIQUE_ID>.<REGION_NAME>.azurecontainerapps.io/.auth/login/aad/callback.

    3. In Concessione implicita e flussi ibridi abilitare i token ID per consentire l'accesso utente openID Connect da App contenitore.

    4. Selezionare Registra.

  5. Passare alla registrazione della nuova app.
    1. Nella pagina Panoramica copiare l'ID applicazione (client) e l'ID directory (tenant) per un secondo momento.
    2. (Facoltativo) Se in precedenza non è stato aggiunto l'URI di reindirizzamento alla registrazione dell'app, è possibile farlo ora.
      1. In Gestito selezionare Autenticazione.

      2. Nella pagina Autenticazione, in Configurazioni della piattaforma selezionare Aggiungi una piattaforma.

      3. In Configura piattaforme selezionare Web.

      4. In Configura Web, in URI di reindirizzamento immettere quanto segue. Sostituire \<APP_URL\> con l'URL dell'applicazione annotato in precedenza.

        <APP_URL>/.auth/login/aad/callback.

        Ad esempio: https://<CONTAINER_APP_NAME>.<HOSTNAME>.<LOCATION>.azurecontainerapps.io/.auth/login/aad/callback.

      5. Seleziona Configura.

    3. (Facoltativo) In Gestisci selezionare Personalizzazione e proprietà. In URL della home page immettere l'URL dell'app contenitore e selezionare Salva.
    4. In Gestisci selezionare Esporre un'API.
      1. Selezionare Aggiungi accanto a URI ID applicazione.

        L'URI ID applicazione identifica in modo univoco l'applicazione quando viene usata come risorsa, che consente ai token richiesti di concedere l'accesso. Il valore viene usato anche come prefisso per gli ambiti creati.

        Per un'app a singolo tenant è possibile usare il valore predefinito, nel formato api://<APPLICATION_CLIENT_ID>. È anche possibile specificare un URI più leggibile, ad esempio https://contoso.com/api, in base a uno dei domini verificati per il tenant. Per un'app multitenant è necessario fornire un URI personalizzato. Per altre informazioni sui formati accettati per gli URI ID app, vedere il riferimento alle procedure consigliate per le registrazioni delle app.

        Il valore viene salvato automaticamente.

      2. Seleziona Aggiungi un ambito.

      3. In Aggiungere un ambito, l'URI ID applicazione è il valore impostato in un passaggio precedente.

      4. Selezionare Salva e continua.

      5. In Nome ambito immettere user_impersonation.

      6. Immettere il nome visualizzato del consenso amministratore e la descrizione del consenso amministratore che gli amministratori devono visualizzare nella pagina di consenso. Un esempio di nome visualizzato del consenso è Access application-name>.<

      7. Seleziona Aggiungi ambito.

    5. In Gestisci selezionare Certificati e segreti.
      1. Nella pagina Certificati e segreti selezionare Segreti client.
      2. Selezionare Nuovo segreto client.
      3. Immettere una descrizione e selezionare quando scade il segreto.
      4. Selezionare Aggiungi.
      5. Copiare il valore del segreto client visualizzato nella pagina perché il sito non lo mostrerà di nuovo.

Abilitare l'ID Microsoft Entra nell'app contenitore

  1. Accedere al portale di Azure e passare all’app.

  2. Selezionare Autenticazione dal menu a sinistra. Fare clic su Aggiungi provider di identità.

  3. Selezionare Microsoft nell'elenco a discesa Provider di identità.

  4. Per Tipo di registrazione dell'app, è possibile scegliere Selezionare una registrazione dell'app esistente in questa directory che raccoglie automaticamente le informazioni necessarie sull'app. Se la registrazione proviene da un altro tenant o non si dispone dell'autorizzazione per visualizzare l'oggetto di registrazione, scegliere Specificare i dettagli di una registrazione dell'app esistente. Per questa opzione, è necessario immettere i dettagli di configurazione seguenti:

    Avviso

    Quando possibile, evitare di usare il flusso di concessione implicito. Per la maggior parte degli scenari sono disponibili e consigliate alternative più sicure. Alcune configurazioni di questo flusso richiedono un livello di attendibilità molto elevato nell'applicazione e comportano rischi che non sono presenti in altri flussi. Si consiglia di usare questo flusso solo quando non è possibile usare altri flussi più sicuri. Per altre informazioni, vedere i problemi di sicurezza relativi al flusso di concessione implicita.

    Campo Descrizione
    ID applicazione (client) Usare il valore di ID applicazione (client) della registrazione dell'app.
    Segreto client Usare il segreto client generato nella registrazione dell'app. I segreti client usano il flusso ibrido e l'app restituisce i token di accesso e aggiornamento. Quando il segreto client non è impostato, il flusso implicito viene usato per e viene restituito solo un token ID. Il provider invia i token e vengono archiviati nell'archivio dei token EasyAuth.
    URL autorità di certificazione Usare <authentication-endpoint>/<TENANT-ID>/v2.0e sostituire <authentication-endpoint> con l'endpoint di autenticazione per l'ambiente cloud, ad esempio ";https://login.microsoftonline.com" per Azure globale), sostituendo <anche TENANT-ID> con l'ID directory (tenant) in cui è stata creata la registrazione dell'app. Questo valore viene usato per reindirizzare gli utenti al tenant Microsoft Entra corretto e per scaricare i metadati appropriati per determinare ad esempio le chiavi di firma del token appropriate e il valore dell'attestazione dell'autorità emittente del token. Per le applicazioni che usano Azure AD v1, omettere /v2.0 nell'URL.
    Destinatari token consentiti L'ID applicazione (client) configurato viene sempre considerato implicitamente come gruppo di destinatari consentito. Se questo valore fa riferimento a un'app cloud o server e si desidera accettare token di autenticazione da un'app contenitore client (il token di autenticazione può essere recuperato nell'intestazioneX-MS-TOKEN-AAD-ID-TOKEN), aggiungere l'ID applicazione (client) dell'app client qui.

    Il segreto client viene archiviato come segreti nell'app contenitore.

  5. Se si tratta del primo provider di identità configurato per l'applicazione, viene visualizzata anche una sezione Impostazioni di autenticazione di App contenitore. In caso contrario, passare al passaggio successivo.

    Queste opzioni determinano il modo in cui l'applicazione risponde alle richieste non autenticate e le selezioni predefinite reindirizzeranno tutte le richieste di accesso con questo nuovo provider. È possibile modificare questo comportamento ora oppure modificare queste impostazioni in un secondo momento dalla schermata Autenticazione principale scegliendo Modifica accanto a Impostazioni autenticazione. Per altre informazioni su queste opzioni, vedere Flusso di autenticazione.

  6. Selezionare Aggiungi.

A questo punto, è possibile usare Microsoft Identity Platform per l'autenticazione nell'app. Il provider è elencato nella schermata Autenticazione . Da qui è possibile modificare o eliminare questa configurazione del provider.

Configurare le app client per accedere all'app contenitore

Nella sezione precedente è stata registrata l'app contenitore per autenticare gli utenti. In questa sezione si registrano app native client o daemon. Possono quindi richiedere l'accesso alle API esposte dall'app contenitore per conto di utenti o utenti stessi. Il completamento dei passaggi in questa sezione non è necessario se si desidera solo autenticare gli utenti.

Applicazione client nativa

È possibile registrare client nativi per richiedere l'accesso alle API dell'app contenitore per conto di un utente connesso.

  1. Nella portale di Azure selezionare Microsoft Entra ID>Add> Registrazioni app.

  2. Nella pagina Registra un'applicazione immettere un valore per Nome per la registrazione dell'app.

  3. In URI di reindirizzamento selezionare Client pubblico (per dispositivi mobili e desktop) e digitare l'URL <app-url>/.auth/login/aad/callback. Ad esempio: https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback.

    Nota

    Per un'applicazione di Microsoft Store, usare invece il SID pacchetto come URI.

  4. Selezionare Crea.

  5. Dopo la creazione della registrazione dell'app, copiare il valore di ID applicazione (client).

  6. Selezionare Autorizzazioni API>Aggiungi un'autorizzazione>Le mie API.

  7. Selezionare la registrazione dell'app creata in precedenza per l'app contenitore. Se non viene visualizzata la registrazione dell'app, assicurarsi di aver aggiunto l'ambito user_impersonation in Creare una registrazione dell'app in Microsoft Entra ID per l'app contenitore.

  8. Selezionare user_impersonation in Autorizzazioni delegate, quindi selezionare Aggiungi autorizzazioni.

In questa sezione è stata configurata un'applicazione client nativa in grado di richiedere l'accesso all'app contenitore per conto di un utente.

Applicazione client daemon (chiamate da servizio a servizio)

L'applicazione può acquisire un token per chiamare un'API Web ospitata nell'app contenitore per conto di se stessa (non per conto di un utente). Questo scenario è utile per le applicazioni daemon non interattive che eseguono attività senza un utente connesso. Usa la concessione di credenziali client OAuth 2.0 standard.

  1. Nella portale di Azure selezionare Microsoft Entra ID>Add> Registrazioni app.
  2. Nella pagina Registra un'applicazione immettere un valore in Nome per la registrazione dell'app daemon.
  3. Per un'applicazione daemon, non è necessario un URI di reindirizzamento, quindi è possibile lasciare questo campo vuoto.
  4. Selezionare Crea.
  5. Dopo la creazione della registrazione dell'app, copiare il valore di ID applicazione (client).
  6. Selezionare Certificati e segreti>Nuovo segreto client>Aggiungi. Copiare il valore del segreto client visualizzato nella pagina. Non verrà visualizzata di nuovo.

È ora possibile richiedere un token di accesso usando l'ID client e il segreto client impostando il parametro resource sull'URI ID applicazione dell'app di destinazione. Il token di accesso risultante può quindi essere presentato all'app di destinazione usando l'intestazione di autorizzazione OAuth 2.0 standard e l'autenticazione/autorizzazione di App contenitore convalida e usa il token come di consueto per indicare che il chiamante (un'applicazione in questo caso, non un utente) è autenticato.

Questo processo consente a qualsiasi applicazione client nel tenant di Microsoft Entra di richiedere un token di accesso ed eseguire l'autenticazione all'app di destinazione. Se si vuole applicare anche l'autorizzazione per consentire solo determinate applicazioni client, è necessario modificare la configurazione.

  1. Definire un ruolo app nel manifesto della registrazione dell'app che rappresenta l'app contenitore da proteggere.
  2. Nella registrazione app che rappresenta il client che deve essere autorizzato selezionare Autorizzazioni API>Aggiungi un'autorizzazione>API personali.
  3. Selezionare la registrazione app creata in precedenza. Se non viene visualizzata la registrazione dell'app, assicurarsi di aggiungere un ruolo app.
  4. In Autorizzazioni applicazione selezionare il ruolo dell'app creato in precedenza e quindi selezionare Aggiungi autorizzazioni.
  5. Selezionare Concedi consenso amministratore per autorizzare l'applicazione client a chiedere l'autorizzazione.
  6. Analogamente allo scenario precedente (prima dell'aggiunta di ruoli), è ora possibile richiedere un token di accesso per la stessa destinazione resourcee il token di accesso include un'attestazione roles contenente i ruoli dell'app autorizzati per l'applicazione client.
  7. All'interno del codice app contenitore di destinazione, verificare che i ruoli previsti siano ora presenti nel token. Il livello di autenticazione app contenitore non esegue i passaggi di convalida. Per altre informazioni, vedere Accedere alle attestazioni utente.

In questa sezione è stata configurata un'applicazione client daemon che può accedere all'app contenitore usando la propria identità.

Uso degli utenti autenticati

Usare le guide seguenti per informazioni dettagliate sull'uso degli utenti autenticati.

Passaggi successivi