Come estendere Dataverse e Power Pages con la Portals Web API, integrare contenuti di terze parti e garantire sicurezza e controllo dell’accesso.
Introduzione alla Portals Web API
La Portals Web API è una componente chiave dell’architettura Power Pages. Essa consente di interagire con i dati di Microsoft Dataverse direttamente dalle pagine pubbliche o autenticare transazioni provenienti da applicazioni esterne. Implementata come estensione della Dataverse Web API, questa interfaccia permette di effettuare operazioni CRUD (Create, Read, Update, Delete) attraverso endpoint sicuri, rendendo possibile un ampio spettro di scenari di integrazione.
La tecnologia Power Pages, evoluzione dei precedenti Power Apps Portals, si basa su un’infrastruttura condivisa di Microsoft Azure. Non è necessario disporre di un abbonamento Azure dedicato, poiché l’intero runtime dei portali è ospitato e gestito come servizio. Questo approccio semplifica la distribuzione e garantisce sicurezza multilivello, isolamento dei dati e scalabilità automatica.
Il contenuto di ogni portale viene configurato e personalizzato all’interno del database Dataverse. Le entità, le pagine web, i frammenti di contenuto e i template sono gestiti mediante tabelle dedicate, mentre le estensioni avanzate possono essere implementate attraverso Liquid templates o script JavaScript.
Architettura e componenti principali
La Web API di Power Pages è costruita su cinque pilastri fondamentali:
Azure Runtime Environment: l’ambiente esecutivo basato su Azure che gestisce l’hosting sicuro e la scalabilità automatica dei portali.
Dataverse Configuration: archivia la struttura, le regole di business e i metadati del portale.
Portals Web API: interfaccia REST per eseguire azioni su Dataverse senza dover creare connessioni server-side complesse.
Autenticazione e Sicurezza: gestione dell’accesso tramite Azure AD, Microsoft, Google, LinkedIn e provider esterni.
Ogni portale può essere configurato per consentire accesso pubblico o autenticato. Attraverso la Web API, gli sviluppatori possono implementare logiche di backend che interagiscono con i dati aziendali, mantenendo la sicurezza grazie ai token di autenticazione e ai ruoli configurati in Dataverse.
Embedding e integrazione di contenuti di terze parti
L’embedding consente di incorporare elementi esterni o Dataverse in portali, applicazioni o siti web. I casi d’uso più comuni includono la pubblicazione di form, viste o report direttamente in pagine esterne. Ciò avviene sfruttando URL indirizzabili (addressable resources) che permettono la visualizzazione di moduli o dashboard preconfigurati.
Ad esempio, un modulo Dataverse può essere incorporato in un sito esterno utilizzando un frame HTML con parametri di contesto come:
Questi parametri trasmettono al contenuto incorporato informazioni quali l’ID del record, il tipo di tabella e la lingua utente. È possibile anche limitare lo scripting incrociato abilitando l’opzione Restrict cross-frame scripting, utile per prevenire attacchi XSS o utilizzi non autorizzati di plug-in del browser.
Il processo di embedding è bidirezionale: è possibile inserire contenuti Dataverse in portali esterni oppure includere applicazioni di terze parti (come report Power BI o widget Azure) all’interno di Power Pages. Questa flessibilità consente scenari di integrazione ibrida tra sistemi interni e pubblici.
Frontend extensibility con Liquid e JavaScript
Power Pages supporta un’estendibilità client-side avanzata grazie alla combinazione di Liquid, HTML, CSS e JavaScript. Gli sviluppatori possono accedere ai dati Dataverse, creare layout dinamici e personalizzare l’esperienza utente in base al contesto.
Ad esempio, è possibile utilizzare Liquid per generare contenuti condizionali:
{% if user %}
<p>Benvenuto, {{ user.fullname }}!</p>
{% else %}
<p>Accedi per visualizzare i tuoi dati.</p>
{% endif %}
Combinando questo con la Portals Web API, un portale può recuperare informazioni in tempo reale da Dataverse e aggiornarle senza ricaricare la pagina, tramite chiamate AJAX o fetch API. Questo modello garantisce esperienze fluide e interattive, tipiche delle applicazioni moderne.
Sicurezza e autenticazione
Power Pages supporta diversi metodi di autenticazione integrati. Gli utenti possono accedere utilizzando credenziali locali salvate nella tabella Contact di Dataverse, oppure autenticarsi tramite provider esterni come Azure AD, Azure AD B2C, Google, Facebook o Microsoft Identity.
È possibile configurare più provider contemporaneamente per offrire maggiore flessibilità all’utente. Inoltre, si possono definire regole di accesso basate su IP per limitare la disponibilità del portale a determinate regioni geografiche. I ruoli di sicurezza e le Web Page Access Control Rules definiscono quali utenti o gruppi possono accedere a specifici contenuti del sito.
La Portals Web API eredita queste regole, garantendo che ogni operazione sia eseguita nel contesto di un utente autenticato e secondo i privilegi definiti in Dataverse. L’autenticazione OAuth 2.0 è raccomandata per tutte le integrazioni con sistemi esterni, assicurando la conformità alle policy aziendali e alle normative di privacy.
Best practice per l’estendibilità
Utilizzare le API solo per le operazioni necessarie, minimizzando i permessi di accesso.
Implementare controlli lato server per validare i dati ricevuti tramite la Portals Web API.
Proteggere gli endpoint pubblici con HTTPS e token di sicurezza.
Caricare script e risorse come web resources in Dataverse per garantire controllo e versioning.
Testare le integrazioni con ambienti sandbox prima del rilascio in produzione.
Seguendo queste linee guida si ottiene un portale performante, sicuro e manutenibile, in linea con le best practice Microsoft.
Schema di interazione
Flusso di comunicazione tra Power Pages, Portals Web API e Dataverse.
Domande frequenti
Che cos’è la Portals Web API?
È un’interfaccia REST che consente di interagire con i dati Dataverse all’interno dei portali Power Pages, permettendo operazioni CRUD sicure e controllate.
Posso integrare contenuti esterni in un portale?
Sì, Power Pages consente di incorporare applicazioni o contenuti terzi tramite iFrame o Liquid, mantenendo il controllo del contesto e della sicurezza.
Come garantire la sicurezza delle chiamate API?
Utilizza autenticazione OAuth 2.0, HTTPS e regole di accesso basate su ruoli Dataverse. Evita di esporre endpoint pubblici non protetti.
Scopri come costruire soluzioni integrate e sicure con Power Pages, Dataverse e Azure. Consulta le linee guida ufficiali Microsoft per progettare portali scalabili e performanti.