Nel nostro script #314 abbiamo visto come creare un agente A2A; in questo script ci concentriamo sull'aspetto dell'autenticazione. Quando lavoriamo con Azure Logic Apps Standard e i nuovi Agent workflows, la protezione dell'endpoint pubblico è cruciale. L'autenticazione di App Service, nota anche come Easy Auth, ci permette di delegare a Azure la gestione del login e dei token, evitando di scrivere codice personalizzato. Il vantaggio principale è la semplicità di integrazione con Microsoft Entra ID e la presenza di controlli aggiuntivi lato piattaforma.
Per farlo apriamo la risorsa dell'app che ospita la Logic App Standard e andiamo in Authentication. Per prima cosa aggiungiamo un Identity provider di tipo Microsoft. Creiamo una nuova app registration single tenant, assegniamo un nome riconoscibile e lasciamo la scadenza del client secret suggerita dal portale; al primo accesso vedremo la schermata di consenso con profilo e mantenimento dell'accesso.

.
Subito dopo scorriamo nella stessa pagina fino agli Additional checks: selezioniamo Allow requests only from this application itself per vincolare le chiamate al client registrato e Allow requests from specific identities, inserendo l'object id di chi potrà invocare l'agente. Impostiamo inoltre il requisito di tenant corrente per impedire logon da directory esterne.

Infine abilitiamo Require authentication e per le richieste non autenticate scegliamo il reindirizzamento HTTP 302 verso Microsoft, così da ottenere il flusso di login standard. Attiviamo anche Token store per semplificare la gestione della sessione e, per non interrompere l'authoring, aggiungiamo tra i path esclusi il percorso /runtime/* (già suggerito).

Una volta configurato, andiamo nella scheda Chat: qui viene fornito l'indirizzo del client che possiamo incorporare in un iframe nella nostra applicazione.

Cliccando tale indirizzo viene richiesto il login, che rispetta i vincoli appena impostati; dopo l'accesso vedremo la chat dell'agente pronta all'uso.

Come alternativa al client, possiamo adottare un approccio più generico: per scenari server-to-server utilizziamo l'autenticazione client credentials di OAuth 2.0. Il nostro servizio ottiene un access token dall'app registrata e lo presenta nelle chiamate all'endpoint pubblico dell'agente, senza interazione utente. Questa modalità è ideale per backend, job pianificati o integrazioni applicative e onora gli Additional checks configurati (applicazione, identità e tenant).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Testare il failover sulle region in Azure Storage
Semplificare i deployment con le label in Azure Container App
Configuratione e utilizzo .NET Aspire CLI
Filtrare i dati in ASP.NET Core usando OpenTelemetry su Azure Monitor
Creare comandi nella dashboard .NET Aspire
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Impostare automaticamente l'altezza del font tramite CSS
DevSecOps per .NET: dalla teoria alla pratica
Rendere affidabile lo scale out su Azure App Service
Creare un agente A2Acon Azure Logic Apps
Gestire il ciclo di vita di AbortController in Javascript
Realizzare un accordion con gli elementi HTML details e summary




