Condividi tramite


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

Questo articolo descrive come configurare l'autenticazione per app di Azure Container in modo che l'app acceggi gli utenti usando Microsoft Identity Platform come provider di autenticazione.

L'autenticazione di App per contenitori può creare automaticamente una registrazione dell'app con la piattaforma di identità di Microsoft. È 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 di sicurezza> nel riquadro sinistro. Fare clic su Aggiungi provider di identità.

  3. Selezionare Microsoft nell'elenco dei 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. Nell'elenco Scadenza del segreto del client, selezionare una data di scadenza.

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

    Queste opzioni determinano il modo in cui l'applicazione risponde alle richieste non autenticate. Le selezioni predefinite reindirizzano tutte le richieste di accesso con questo nuovo provider. È ora possibile personalizzare questo comportamento o modificare queste impostazioni più avanti nel riquadro Autenticazione principale selezionando Modifica accanto a Impostazioni di autenticazione. Per altre informazioni su queste opzioni, vedere Flusso di autenticazione.

  6. (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.

  7. Selezionare Aggiungi.

A questo punto, è possibile usare Microsoft Identity Platform per l'autenticazione nell'app. Il provider è elencato nel riquadro 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 che non è quello in cui è definita l'applicazione.

Creare una registrazione app in Microsoft Entra ID per l'applicazione 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 cliente
  • ID dell'inquilino
  • Segreto client (facoltativo)
  • ID applicazione URI

Per registrare l'app, seguire questa procedura:

  1. Accedere al portale di Azure.

  2. Cerca e seleziona Container Apps, e quindi seleziona la tua app. Nel riquadro Panoramica, prendi nota dell'URL dell'app. È possibile usarlo per configurare la registrazione dell'app Microsoft Entra.

  3. Selezionare Home per tornare alla home page del portale. Cerca e seleziona Microsoft Entra ID.

  4. Nel riquadro Panoramica selezionare Aggiungi e quindi Registrazione app.

    1. Nel riquadro Registra un'applicazione immettere un nome per la registrazione dell'app.

    2. Nella sezione URI di reindirizzamento selezionare Web e quindi 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. Selezionare Registra.

    4. In Gestisci nel riquadro sinistro selezionare Autenticazione (anteprima).

    5. Nella scheda Impostazioni selezionare Token ID (usati per flussi impliciti e ibridi) per consentire l'accesso utente openID Connect da App contenitore. Seleziona Salva.

  5. Passare alla registrazione della nuova app.

    1. Nel riquadro Panoramica copiare l'ID applicazione (client) e l'ID directory (tenant) per un secondo momento.
    2. (Facoltativo) Se non è già stato aggiunto l'URI di reindirizzamento alla registrazione dell'app, è possibile farlo ora.
      1. In Gestisci nel riquadro sinistro selezionare Autenticazione (anteprima).

      2. Nel riquadro Autenticazione (anteprima) selezionare Aggiungi URI di reindirizzamento.

      3. Nel riquadro Selezionare una piattaforma per aggiungere l'URI di reindirizzamento selezionare Web.

      4. Nel riquadro Aggiungi URI di reindirizzamento immettere quanto segue nella casella URI di reindirizzamento . 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 nel riquadro sinistro selezionare Personalizzazione e proprietà. Nella casella URL della home page immettere l'URL dell'app contenitore e quindi selezionare Salva.
    4. In Gestisci nel riquadro sinistro selezionare Esporre un'API.
      1. Selezionare Aggiungi accanto a URI ID dell'applicazione.

        L'URI ID applicazione identifica in modo univoco l'applicazione quando viene usata come risorsa. 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 Procedure consigliate per la sicurezza per le proprietà dell'applicazione in Microsoft Entra ID.

        Il valore viene salvato automaticamente.

      2. Seleziona Aggiungi un ambito.

      3. Nel riquadro Aggiungi un ambitol'URI ID applicazione è il valore impostato in un passaggio precedente.

      4. Selezionare Salva e continua.

      5. Nella casella Nome ambito immettere user_impersonation.

      6. Immettere il nome visualizzato del consenso amministratore e la descrizione del consenso amministratore che si vuole che gli amministratori visualizzino nella pagina di consenso. Un esempio di nome visualizzato del consenso è Accesso <nome dell'applicazione>.

      7. Seleziona Aggiungi ambito.

    5. In Gestisci nel riquadro sinistro selezionare Certificati e segreti.
      1. Nel riquadro Certificati e segreti selezionare Segreti client.
      2. Selezionare Nuovo segreto client.
      3. Immettere una descrizione e quindi, in Scadenza, selezionare una data di scadenza.
      4. Selezionare Aggiungi.
      5. Copiare il valore del segreto del client visualizzato nella pagina. Il sito non te lo mostrerà più.

Abilitare l'ID Microsoft Entra nell'app contenitore

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

  2. Nel riquadro sinistro, in Sicurezza, selezionare Autenticazione. Selezionare Aggiungi provider.

  3. Selezionare Microsoft nell'elenco dei provider di identità.

  4. Per Tipo di registrazione dell'app, è possibile selezionare Seleziona 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, selezionare Specificare i dettagli di una registrazione dell'app esistente. Per questa opzione, è necessario specificare 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 elevato livello di attendibilità 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.

    Impostazione Descrizione
    ID client dell'applicazione Usare il valore di ID applicazione (client) della registrazione dell'app.
    Segreto del cliente Usare il client secret generato nella registrazione dell'app. I segreti dei client utilizzano il flusso ibrido, e l'applicazione restituisce i token di accesso e di aggiornamento. Quando il segreto client non è impostato, viene usato il flusso implicito e viene restituito solo un token ID. Il provider invia i token e vengono archiviati nell'archivio token EasyAuth.
    URL dell'emittente Utilizzare il <AUTHENTICATION-ENDPOINT>/<TENANT-ID>/v2.0. Sostituire <AUTHENTICATION-ENDPOINT> con l'endpoint di autenticazione per l'ambiente cloud , ad esempio "https://login.microsoftonline.com" per Azure globale). Sostituire <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 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 Active Directory 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 segreto nell'app contenitore.

  5. Se si tratta del primo provider di identità configurato per l'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. Le selezioni predefinite reindirizzeranno tutte le richieste di accesso con questo nuovo provider. È ora possibile modificare questo comportamento o modificare queste impostazioni più avanti nel riquadro Autenticazione principale selezionando Modifica accanto a Impostazioni di 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 nel riquadro 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'applicazione container per autenticare gli utenti. In questa sezione si registrano applicazioni client native o daemon. Possono quindi richiedere l'accesso alle API esposte dall'app di contenitore per conto degli utenti o di se stessi. Non è necessario completare i passaggi descritti in questa sezione se si vuole 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. Nel portale di Azure, cercare e selezionare Microsoft Entra ID.

  2. Nel riquadro Panoramica selezionare Aggiungi>registrazione app.

  3. Nel riquadro Registra un'applicazione immettere un nome per la registrazione dell'app.

  4. In URI di reindirizzamento selezionare Client pubblico (mobile 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.

  5. Selezionare Registra.

  6. Dopo aver creato la registrazione dell'app, copiare il valore ID applicazione (client).

  7. In Gestisci nel riquadro sinistro selezionare Autorizzazioni API. Selezionare Aggiungi un'autorizzazione>Le mie API.

  8. Selezionare la registrazione app creata in precedenza per l'app contenitore. Se non vedi la registrazione dell'app, assicurati di aver aggiunto lo scope user_impersonation in Creare una registrazione dell'app in Microsoft Entra ID per la tua app container.

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

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 lo standard OAuth 2.0 client credentials grant.

  1. Nel portale di Azure, cercare e selezionare Microsoft Entra ID.
  2. Nel riquadro Panoramica selezionare Aggiungi>registrazione app.
  3. Nel riquadro Registra un'applicazione immettere un nome per la registrazione dell'app daemon.
  4. Per un'applicazione daemon non è necessario un URI di reindirizzamento, quindi è possibile lasciare vuoto tale campo.
  5. Selezionare Registra.
  6. Dopo aver creato la registrazione dell'app, copiare il valore ID applicazione (client).
  7. Nel riquadro sinistro, in Gestisci, selezionare Certificati e segreti.
  8. Nel riquadro Certificati e segreti selezionare Nuovo segreto client.
  9. Selezionare Aggiungi nel riquadro Aggiungi un segreto client . Copiare il valore del segreto del 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 resource parametro sull'URI ID applicazione dell'app di destinazione. È quindi possibile presentare il token di accesso risultante all'app di destinazione usando l'intestazione di autorizzazione OAuth 2.0 standard. 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 dell'app nel manifesto della registrazione dell'app che rappresenta l'app contenitore da proteggere.
  2. Nella registrazione dell'app che rappresenta il client che deve essere autorizzato selezionare Autorizzazioni> APIAggiungi un'autorizzazione.
  3. Nel riquadro Richiedi autorizzazioni API selezionare API personali.
  4. Selezionare la registrazione dell'app creata in precedenza. Se non vedi la registrazione dell'app, assicurati di aggiungere un ruolo all'app.
  5. In Autorizzazioni applicazione selezionare il ruolo app creato in precedenza e quindi selezionare Aggiungi autorizzazioni.
  6. Assicurarsi di selezionare Concedi il consenso amministratore per autorizzare l'applicazione client a richiedere l'autorizzazione.
  7. Come nello scenario precedente (prima dell'aggiunta di ruoli), è ora possibile richiedere un token di accesso per la stessa destinazione resource. Il token di accesso include un'attestazione roles contenente i ruoli dell'app autorizzati per l'applicazione client.
  8. Nel codice delle Container Apps di destinazione, verificare che i ruoli previsti siano ora presenti nel token. Lo strato di autenticazione delle App di contenitore non esegue i passaggi di convalida. Per altre informazioni, vedere Accedere alle attestazioni utente.

Lavorare con utenti autenticati

Per informazioni dettagliate sull'uso degli utenti autenticati, vedere le risorse seguenti.

Passo successivo