Condividi tramite


Proteggere i flussi di lavoro dell'agente di conversazione con Easy Auth (App Service Authentication) in Azure Logic Apps (Preview)

Si applica a: Azure Logic Apps (Standard)

Importante

Questa funzionalità è in anteprima ed è soggetta alle Condizioni supplementari per l'utilizzo per le anteprime di Microsoft Azure.

I flussi di lavoro dell'agente espandono le opzioni di integrazione perché possono scambiare messaggi con chiamanti più diversi, ad esempio persone, agenti, server e client MCP (Model Context Protocol), broker di strumenti e servizi esterni. Mentre i flussi di lavoro nonagenti interagiscono con un piccolo, noto e set fisso di chiamanti, i chiamanti agente possono provenire da reti dinamiche, sconosciute e non attendibili. Di conseguenza, è necessario autenticare e applicare le autorizzazioni per ogni chiamante.

Per proteggere i flussi di lavoro dell'agente di conversazione nell'ambiente di produzione, configurare Easy Auth per autenticare e autorizzare i chiamanti o le persone che vogliono interagire con l'agente di conversazione. Easy Auth, noto anche come autenticazione del servizio app, offre le funzionalità seguenti che è possibile usare:

  • Specificare un'identità convalidata per ogni richiesta del chiamante.
  • Assegnare connessioni a ogni utente.
  • Applicare i criteri di accesso condizionale.
  • Rilasciare credenziali revocabili.
  • Concedere autorizzazioni in base a principi, ruoli e ambiti con privilegi minimi.
  • Fornire un client di chat esterno al portale di Azure in modo che gli utenti possano interagire con l'agente di conversazione.

Queste misure consentono di autenticare e autorizzare ogni chiamante a un livello granulare e revocare rapidamente l'accesso quando necessario. Senza questi controlli, si rischia l'accesso non controllato, segreti persi, ad esempio URL di firma di accesso condiviso (SAS) e chiavi di accesso, audit trail deboli e altri pericoli per la sicurezza.

Easy Auth funziona con Microsoft Entra ID come livello di sicurezza separato per offrire funzionalità di autenticazione e autorizzazione predefinite che soddisfano le proprie esigenze. Con l'applicazione della sicurezza che opera al di fuori del flusso di lavoro, è possibile concentrarsi maggiormente sullo sviluppo della logica di business. Questa separazione dei compiti rende più semplice e agevole la creazione, il debug, il funzionamento, il monitoraggio, la manutenzione, la governance e il controllo dei flussi di lavoro degli agenti.

La sicurezza del flusso di lavoro non-agente in genere comporta la firma di accesso condiviso statica, la rotazione dei segreti e le restrizioni ai controlli delle delimitazioni di rete, elenchi di indirizzi IP consentiti, tag di servizio, integrazione della rete virtuale ed endpoint privati. Con i flussi di lavoro dell'agente, è possibile progettare l'autorizzazione per utenti finali, identità gestite, entità servizio e relativi ambiti e ruoli. Questo approccio consente una copertura globale più sicura, ma consente comunque alle azioni del flusso di lavoro downstream di rispettare le autorizzazioni con granularità fine.

Questa guida illustra come creare una registrazione dell'applicazione e quindi configurare Easy Auth per la risorsa dell'app logica Standard, che può contenere flussi di lavoro agenti e non agenti.

Importante

Easy Auth memorizza le informazioni di configurazione nelle impostazioni sottostanti della risorsa di app per la logica, ad esempio WEBSITE_AUTH_ENABLED, WEBSITE_AUTH_DEFAULT_PROVIDER e MICROSOFT_PROVIDER_AUTHENTICATION_SECRET. Non modificare manualmente queste impostazioni a meno che non si voglia configurare l'automazione usando modelli arm, modelli Bicep o modelli Terraform.

Per altre informazioni, vedere gli articoli seguenti:

Prerequisiti

Creare la registrazione di un'app

Per iniziare nel modo migliore la configurazione di Easy Auth, creare una nuova registrazione dell'app in Microsoft Entra ID direttamente dalla risorsa di app per la logica. Se invece è necessario riutilizzare una registrazione dell'app esistente, è necessario aggiornare la registrazione dell'app per lavorare in modo pulito con i client Easy Auth e Azure.

  1. Nel portale di Azure, aprire la risorsa dell’app per la logica Standard.

  2. Nel menu della barra laterale della risorsa, in Impostazioni, selezionare Autenticazione.

  3. Nella pagina Autenticazione selezionare Aggiungi provider di identità.

    Screenshot che illustra l'app per la logica Standard con la pagina Autenticazione aperta.

    Nella pagina Autenticazione viene ora visualizzata la scheda Informazioni di base per la configurazione del provider di identità.

  4. Nella scheda Informazioni di base, per Provider di identità, selezionare Microsoft per Microsoft Entra ID.

  5. Nella sezione Registrazione dell'app, per il tipo di registrazione dell'app, seleziona (Scelta consigliata per agenti di conversazione) Crea una nuova registrazione dell'app, che mostra le opzioni corrispondenti per questa selezione.

  6. Specificare un nome visualizzato univoco per la registrazione dell'app, ad esempio: agent-logic-app-reg-prod

  7. Per Identità gestita assegnata dall'utente selezionare Crea nuova identità gestita assegnata dall'utente.

    È possibile creare una nuova identità specificando un nome o selezionando un'identità esistente.

  8. Per Tipi di account supportati selezionare Tenant corrente - Tenant singolo a meno che non si voglia accettare intenzionalmente altri tenant.

    L'impostazione a tenant singolo fa riferimento agli account solo nella directory organizzativa corrente. Perciò, tutti gli account utente e guest di questa directory possono usare l'applicazione o l'API. Ad esempio, se il gruppo di destinatari è interno all'organizzazione, usare questa impostazione.

    L'esempio seguente mostra l'aspetto di una registrazione dell'app:

    Screenshot che mostra le informazioni di base sulla registrazione dell'app.

    Importante

    A meno che non si disponga di criteri espliciti di governance e accesso condizionale configurati, non scegliere qualsiasi directory di Microsoft Entra - Multitenant.

    Per altre informazioni, vedere gli articoli seguenti:

  9. In Controlli aggiuntivi selezionare i valori seguenti se non è già selezionato:

    Impostazione Value
    Requisito dell'applicazione client Consenti richieste solo da questa applicazione
    Requisito di identità Consenti richieste da identità specifiche
    Identità consentite Viene visualizzato solo con Consenti richieste da identità specifiche selezionate.

    Il valore predefinito è l'ID oggetto che rappresenta l'utente corrente, cioè te stesso. È possibile aggiornare questo valore nei modi seguenti:

    - Includere gli ID oggetto per altri sviluppatori o utenti.
    - Usare le attestazioni di gruppo per includere un gruppo specifico, anziché i singoli ID oggetto.
    - Selezionare una registrazione dell'app esistente per la risorsa do app per la logica. In questo caso, assicurarsi di aggiornare la registrazione dell'app in modo che funzioni correttamente con Easy Auth.

    Per altre informazioni, vedere Usare un criterio di autorizzazione predefinito.
    Requisito del tenant Consentire richieste solo dal tenant emittente
  10. Ignorare la sezione Percorsi esclusi .

  11. Facoltativamente, in Impostazioni di autenticazione del servizio App, esaminare le seguenti impostazioni ed eseguire le azioni appropriate.

    Impostazione Action
    Limitare l'accesso A meno che non si prevede di consentire alcuni endpoint autenticati, selezionare Richiedi autenticazione per bloccare tutte le richieste anonime.
    Richieste non autenticate A seconda che i chiamanti siano agenti o basati su agenti, selezionare HTTP 302 Reindirizzamento trovato: consigliato per gli agenti.
  12. Al termine, selezionare Aggiungi per completare l'aggiunta del provider di identità.

    Azure crea la registrazione dell'app, aggiorna le impostazioni dell'app e abilita il runtime easy Auth. Quando Azure termina il processo, la pagina Autenticazione dell'app logica elenca Microsoft come provider di identità. I client e i chiamanti devono ora autenticare le identità. L'applicazione logica rifiuta i client e i chiamanti non autenticati come previsto e fornisce una risposta di 302 Trovato reindirizzamento oppure una risposta 401 Non autorizzato quando le richieste non includono token validi.

    Al termine della registrazione dell'applicazione, mantenere la configurazione dell'app per la logica la più minima possibile fino a quando non si può confermare che l'autenticazione funzioni come previsto. In seguito è possibile aggiungere eventuali ambiti di autorizzazione o ruoli dell'app da applicare passando alle pagine seguenti nella risorsa di registrazione dell'app:

    • Nella barra laterale di registrazione dell'app, in Gestisci selezionare Esporre un'API per aggiungere un ambito di autorizzazione. Per altre informazioni, vedere Aggiungere un ambito.

    • Nella barra laterale di registrazione dell'app, in Gestisci, selezionare Ruoli dell'app per assegnare un ruolo dell'app. Per altre informazioni, vedere Assegnare il ruolo app.

    In alternativa, è possibile esaminare i passaggi corrispondenti nella sezione successiva Aggiornare una registrazione dell'app esistente.

  13. Per verificare che la registrazione dell'app sia configurata correttamente, vedere Testare e convalidare la configurazione di Easy Auth.

Aggiornare una registrazione dell'app esistente

Se devi riutilizzare una registrazione dell'app esistente condivisa con un'altra API o un prototipo precedente, segui questi passaggi per esaminare e modificare le impostazioni specificate in modo che la registrazione dell'app possa funzionare correttamente con i client easy Auth e agent.

  1. Nella casella di ricerca del portale di Azure trovare e selezionare Microsoft Entra ID.

  2. Nel menu della barra laterale, in Gestisci selezionare Registrazioni app e quindi trovare e selezionare la registrazione dell'app.

  3. Nel menu della barra laterale di registrazione dell'app espandi Gestisci.

  4. In Gestisci, selezionare Personalizzazione e proprietà e verificare che l'impostazione URL della home page specifichi l'URL del sito web dell'app logica.

    Annotazioni

    L'URL della home page è facoltativo per le API solo back-end o agente. Impostare questo valore solo se gli utenti finali necessitano di una pagina di destinazione o di documentazione. I reindirizzamenti di token non usano questo valore.

  5. In Gestisci selezionare Autenticazione.

    1. In Configurazioni della piattaforma verificare che la voce Web esista.

    2. Nella voce Web, in URI di reindirizzamento, trovare l'URI di callback Easy Auth (Autenticazione servizio app) prepopolato, che segue questa sintassi:

      https://<logic-app-name>.azurewebsites.net/.auth/login/aad/callback

      Mantenere questo valore predefinito a meno che lo scenario non richieda di esporre ID applicazione API personalizzati. Questo URI di callback è il gruppo di destinatari del token di accesso predefinito e specifica quali risorse possono accettare token di accesso dai client che vogliono accedere a queste risorse.

      Lo scopo di un pubblico di token autorizzato è soddisfare solo le richieste che presentano token validi per queste risorse. Una richiesta di token di accesso coinvolge due parti: il client che richiede il token e la risorsa che accetta il token. Il destinatario è noto come "gruppo di destinatari", ovvero l'app per la logica in questo caso.

      Per altre informazioni, vedere Che cos'è un URI di reindirizzamento?

    3. Se Azure non prepopola l'impostazione URI di reindirizzamento, immettere manualmente l'URI con il nome dell'app per la logica, ad esempio:

      https://my-chatbox-logic-app.azurewebsites.net/.auth/login/aad/callback

      Importante

      Non usare URI di reindirizzamento personalizzati a meno che non si stia ospitando un front-end interattivo.

    4. Ignorare l'impostazione URL di disconnessione del canale frontale.

    5. Per Concessione implicita e flussi ibridi, selezionare entrambe le opzioni seguenti:

      • Token di accesso (usati per i flussi impliciti)
      • Token ID (usati per flussi impliciti e ibridi)

      Per altre informazioni, consultare la documentazione seguente:

    6. In Tipi di account supportati selezionare l'opzione corrispondente alle esigenze aziendali.

      Nella maggior parte dei casi, scegliereAccount solo in questa directory dell'organizzazione (Solo Microsoft - Tenant singolo). Per l'opzione multi-tenant, assicurarsi di disporre di criteri espliciti di governance di Azure e di accesso condizionale. Per altre informazioni su queste opzioni, vedere Differenze di convalida in base ai tipi di account supportati.

    7. In Impostazioni avanzate, per Consenti flussi client pubblici, mantenere l'impostazione No per abilitare i flussi per dispositivi mobili e desktop specificati.

      L'eccezione esiste quando i client pubblici nativi devono evitare il flusso ROPC (Resource Owner Password Credentials) utilizzando un dispositivo o un codice di autenticazione.

    8. Al termine, selezionare Salva.

  6. In Gestisci, selezionare Certificati e segreti. Nella scheda Credenziali federate configurare una nuova identità gestita assegnata dall'utente con accesso all'app per la logica in modo da poter usare l'identità gestita come credenziale di identità federata nella registrazione dell'app.

    Se non si dispone di un'identità gestita assegnata dall'utente con accesso a Logic Apps, seguire questa procedura:

    1. Creare un'identità gestita assegnata dall'utente.
    2. Aggiungere l'identità assegnata dall'utente all'app per la logica.
    3. Configurare l'identità assegnata dall'utente come credenziale di identità federata nella registrazione dell'app.
  7. Facoltativamente, se è necessario configurare attestazioni come ruoli, ambiti, gruppi di utenti o XMS_CC, seguire i seguenti passaggi:

    1. In Gestisci selezionare Configurazione token.

    2. Nella sezione Attestazioni facoltative aggiungere le attestazioni.

      Annotazioni

      Per evitare il sovraccarico del token, configurare controlli per i ruoli o gli ambiti, anziché grandi attestazioni di gruppo.

  8. In Gestisci selezionare Autorizzazioni API e seguire questa procedura:

    1. In Autorizzazioni configurate selezionare Aggiungi un'autorizzazione.
    2. Nel riquadro Richiedi autorizzazioni API individuare e selezionare Microsoft Graph nella scheda API Microsoft.
    3. Per il tipo di autorizzazioni selezionare Autorizzazioni delegate.
    4. Nella casella Seleziona autorizzazioni immettere User.Read.
    5. Nella colonna Autorizzazione espandere Utente e selezionare l'autorizzazione User.Read .

    Per altre informazioni, vedere Aggiungere autorizzazioni per accedere a Microsoft Graph.

  9. Facoltativamente, in Gestisci selezionare Esporre un'API, in modo da poter definire ed esporre gli ambiti di autorizzazione.

    Per l'impostazione URI ID dell'applicazione, l'URI prepopolato è un identificatore univoco che identifica la risorsa di app per la logica come gruppo di destinatari nei token di accesso e utilizza il formato seguente:

    api://<application-client-ID>

    Nella sezione Ambiti definiti da questa API , se si vuole fare affidamento solo sulla convalida di ruoli e gruppi di destinatari, non è necessario definire o esporre ambiti di autorizzazione. Tuttavia, se si vuole che i client di Azure richiedano autorizzazioni delegate, definire questi ambiti seguendo questa procedura:

    1. Selezionare Aggiungi un ambito e specificare le informazioni seguenti:

      Impostazione Obbligatorio Value
      Nome ambito Yes user_impersonation
      Utenti che possono fornire il consenso Yes Amministratori e utenti
      Nome visualizzato per il consenso amministratore Yes Etichetta o nome per l'ambito di autorizzazione visualizzato dal messaggio di consenso quando gli amministratori tenant forniscono il consenso per l'ambito.

      Per esempio:
      Accedere a <logic-app-name>
      Definizione del consenso amministratore Yes Descrizione dettagliata dell'ambito di autorizzazione visualizzato nella schermata di consenso quando gli amministratori tenant espandono l'ambito nella schermata di consenso.

      Per esempio:
      Consentire all'applicazione di accedere a <logic-app-name> per conto dell'utente connesso.
      Nome visualizzato per il consenso utente NO Nome facoltativo per l'ambito di autorizzazione visualizzato nella schermata di consenso quando gli utenti finali forniscono il consenso per questo ambito.

      Per esempio:
      Accedere a <logic-app-name>
      Definizione del consenso utente NO Descrizione dettagliata facoltativa per l'ambito di autorizzazione visualizzato nella schermata di consenso quando gli utenti finali espandono l'ambito nella schermata di consenso.

      Per esempio:
      Consentire all'applicazione di accedere a <logic-app-name> per conto dell'utente.
      State Yes abilitato
    2. Al termine, selezionare Aggiungi ambito.

    3. Nell'elenco Ambiti, rivedi le impostazioni dell'ambito aggiornate per confermare che appaiano come previsto.

  10. Al termine dell'aggiornamento della registrazione dell'app, passare alla risorsa app per la logica Standard.

  11. Nella barra laterale dell'app per la logica, in Impostazioni selezionare Autenticazione.

  12. Nella pagina Autenticazione , accanto a Impostazioni di autenticazione, selezionare Modifica per esaminare le impostazioni. Nel riquadro Modifica impostazioni di autenticazione verificare i valori seguenti:

Impostazione Value Description
Autenticazione del servizio app abilitato L'app Logic è configurata e abilitata con Easy Auth.
Limitare l'accesso Richiedere l'autenticazione I client e i chiamanti devono autenticare le proprie identità.
Richieste non autenticate Yes L'applicazione logica rifiuta i client e i chiamanti non autenticati come previsto e fornisce una risposta di 302 Trovato reindirizzamento oppure una risposta 401 Non autorizzato quando le richieste non includono token validi.

Testare e convalidare l'installazione di Easy Auth

Dopo aver configurato Easy Auth, l'interfaccia chat interna nella pagina Chat del flusso di lavoro nel portale di Azure non sarà più disponibile. È invece necessario interagire con l'agente di conversazione usando il client di chat esterno disponibile all'esterno del portale di Azure. Per verificare che Easy Auth funzioni come previsto, eseguire i test nel client di chat esterno seguendo questa procedura:

  1. Sulla barra degli strumenti della finestra di progettazione o sulla barra laterale del flusso di lavoro selezionare Chat.

    L'interfaccia della chat interna non viene più visualizzata nella pagina Chat .

  2. Nella sezione Essenziali, selezionare il collegamento URL del client chat, che apre una nuova scheda del browser.

  3. Al prompt delle richieste di autorizzazioni, fornire il consenso e accettare la richiesta.

    Screenshot che illustra la richiesta di consenso delle autorizzazioni.

    La pagina del browser viene aggiornata e mostra l'interfaccia per il client di chat esterno.

    Suggerimento

    È anche possibile incorporare l'URL del client di chat in un elemento HTML iFrame che è possibile usare con il sito Web in cui si vuole fornire il client di chat, ad esempio:

    <iframe src="https:/<logic-app-name>.azurewebsites.net/api/agentsChat/<workflow-name>/IFrame" title="<chat-client-name>"></iframe>

  4. Nell'interfaccia di chat esterna avviare o continuare a interagire con l'agente di conversazione.

  5. Per esaminare la cronologia di esecuzione del flusso di lavoro, seguire questa procedura:

    1. Tornare al flusso di lavoro nel portale di Azure.

    2. Nella barra laterale del flusso di lavoro, in Strumenti selezionare Cronologia di esecuzione e quindi selezionare l'esecuzione più recente del flusso di lavoro.

    3. Nella visualizzazione di monitoraggio verificare che la cronologia di esecuzione e gli stati dell'operazione siano visualizzati come previsto.

Risolvere gli errori durante il test dell'autenticazione semplice

La tabella seguente descrive i problemi comuni che possono verificarsi durante la configurazione di Easy Auth, possibili cause e azioni che è possibile eseguire:

Problema o errore Causa possibile Action
401 con invalid_token + error_description che fa riferimento al pubblico Esiste una mancata corrispondenza tra il gruppo di destinatari del token di accesso e i destinatari dei token consentiti specificati. Assicurarsi che il gruppo di destinatari del token di accesso e il gruppo di destinatari del token consentito corrispondano.
403 - Accesso negato Potrebbe indicare che il flusso di lavoro o l'agente per la richiesta non è stato trovato. Verificare le operazioni nel flusso di lavoro per un problema di autorizzazione.

Usare un'identità nel flusso di lavoro

Quando Easy Auth convalida una richiesta, Easy Auth inserisce i dati di identità nelle intestazioni delle richieste in base al provider di identità. L'app per la logica usa queste intestazioni per autenticare il chiamante.

Per altre informazioni, vedere gli articoli seguenti: