Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'app è ora funzionalmente completa, ma Preeti e Kiana vogliono accertarsi che la soluzione sia sicura da distribuire e che dispongano di un meccanismo per gestirla a mano a mano che i requisiti cambiano in futuro.
Protezione dell'app e delle risorse
Quando accedi per la prima volta a Power Apps, ti viene richiesto di autenticarti, in genere fornendo il tuo indirizzo email e la password. Office 365 usa il proprio dominio Microsoft Entra; ogni organizzazione ha un proprio dominio. Le tue credenziali vengono verificate rispetto al dominio dell'organizzazione per Office 365. Un'app creata utilizzando Power Apps può accedere solo alle risorse di Office 365 per le quali ti è stata concessa l'autorizzazione appropriata. L'autorizzazione è gestita dall'amministratore Office 365 (Preeti nello scenario VanArsdel).
Anche le risorse di Azure a cui un'app accede sono soggette ad autorizzazione. I servizi come Archiviazione di Azure richiedono un'applicazione per fornire una chiave di accesso. Inoltre, molti servizi possono essere protetti tramite il controllo degli accessi in base al ruolo, che descrive le operazioni che i singoli utenti e gruppi possono eseguire. IT Operations Manager (Preeti, ancora una volta) può impostare i criteri di autorizzazione che definiscono quali account e macchine possono connettersi a servizi quali database SQL di Azure, Archiviazione BLOB di Azure, Gestione API di Azure e app Azure Services. Alcuni servizi consentono inoltre di limitare gli endpoint da cui gli utenti autenticati possono richiedere l'accesso. Ad esempio, è possibile configurare un firewall per database SQL di Azure per negare l'accesso alle richieste provenienti da indirizzi IP imprevisti.
Azure consente di proteggere i dati in transito utilizzando la sicurezza del livello di trasporto per crittografarli. Questa funzionalità è fondamentale per garantire l'integrità e la privacy di qualsiasi sistema distribuito che trasmette dati su una rete, come la rete Internet pubblica. Nel caso di VanArsdel, i tecnici eseguiranno l'app su dispositivi mobili, utilizzando connessioni di rete in roaming non controllate dall'organizzazione. Preeti vuole assicurarsi che gli utenti non autorizzati non siano in grado di visualizzare o compromettere dati sensibili.
Anche i dati inattivi, negli account di archiviazione, database e altri servizi in Azure, possono essere crittografati. Ciò fornisce un ulteriore livello di privacy in caso di violazione del data center che ospita queste informazioni. Per un elenco completo delle funzionalità di sicurezza fornite da Azure, leggi Introduzione alla sicurezza in Azure.
Personalizzazione dell'app
Quando qualcuno esegue un'app, può recuperare informazioni sull'utente dall'ambiente Office 365. Queste informazioni possono essere utilizzate per personalizzare l'app. Ad esempio, attualmente l'app sviluppata da Maria e Kiana non fa distinzione tra i vari utenti; hanno tutti accesso agli stessi dati. Idealmente, l'app dovrebbe essere personalizzata per rendere visibili le informazioni più pertinenti all'ingegnere che la utilizza. Power Apps fornisce una funzione denominata User che consente all'app di recuperare il messaggio di posta elettronica e il nome completo dell'utente corrente. Questa app richiede anche l'ID utente (un identificatore univoco globale, o GUID, assegnato a ciascun utente). La logica alla base di questo requisito è che i nomi utente, contrariamente all'ID, possono essere modificati. L'ID utente è accessibile utilizzando le funzionalità fornite dal connettore Office365. I passaggi seguenti illustrano come aggiungere questo connettore all'app:
Usando Power Apps Studio, nel riquadro Tree view selezionare la schermata Home.
Nel menu Inserisci, dall'elenco a discesa Testo, aggiungi un controllo Etichetta alla schermata.
Rinomina il controllo Etichetta come UserName.
Sposta il controllo di modo che venga visualizzato sotto i dettagli che mostrano l'appuntamento successivo.
Nel riquadro Dati, seleziona Aggiungi dati. Immetti Office 365 Users nella casella di ricerca. Aggiungi la connessione Office 365 Users all'app.
Nel riquadro Visualizzazione struttura, seleziona l'etichetta UserName e imposta la proprietà Text sulla seguente formula.
Office365Users.MyProfileV2().displayNameQuesta formula utilizza la connessione Office365Users per recuperare le informazioni sull'identità dell'utente corrente. La proprietà displayName della funzione MyProfileV2 contiene il nome di accesso dell'utente.
Note
Se lo desideri, modifica lo stile del controllo UserName per farlo risaltare ulteriormente.
Office 365 viene eseguito in un dominio di Microsoft Entra, ma è anche possibile estendere questo dominio di sicurezza con la propria installazione di Microsoft Entra. Se l'organizzazione autentica gli utenti tramite il proprio dominio di Microsoft Entra, è possibile ottenere informazioni sull'utente usando il connettore Microsoft Entra anziché Office365Users.
In questo caso, imposta la proprietà Text dell'etichetta UserName su quanto segue:
AzureAD.GetUser(User().Email).displayName
Per personalizzare l'elenco degli appuntamenti è necessario chiamare una diversa funzione dell'API Web nel connettore FieldEngineerAPI. Attualmente, la proprietà OnVisible della schermata Home contiene la seguente formula.
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime));
L'API Web fornisce una funzione alternativa che recupera gli appuntamenti per un tecnico specificato; tu fornisci l'ID del tecnico come parametro. Puoi usare l'ID utente di Office 365 per questo scopo. Aggiorna la proprietà OnVisible come mostrato di seguito.
Set(id, Office365Users.MyProfileV2().id);
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapischeduleengineeridappointments(id), DateDiff(Today(), startDateTime) >= 0), startDateTime);
Se esegui l'autenticazione con Microsoft Entra ID, utilizza invece la seguente formula.
Set(id, AzureAD.GetUser(User().Email).id);
ClearCollect(appointmentsCollection, Filter(FieldEngineerAPI.getapischeduleengineeridappointments(id), DateDiff(Today(), startDateTime) >= 0), startDateTime);
Note
Per questa modifica, la colonna EngineerId nella tabella Appuntamenti deve essere popolata con l'ID utente. Questo ID è un GUID, ma viene archiviato come stringa nel database. L'immagine seguente mostra alcune righe di dati di esempio.
La tabella Tecnici deve contenere anche il nome di un ingegnere con l'ID corrispondente.
L'app è ora pronta per la distribuzione e il rollout.
Distribuzione dell'app
Il modo più semplice di distribuire un'app è pubblicarla nel dominio di Office 365. Tutti gli utenti che dispongono dell'autorizzazione Can use possono eseguire l'app, da Power Apps Studio o usando l'app per dispositivi mobili Power Apps, disponibile in Microsoft Store all'indirizzo https://aka.ms/AAbvtko. Le app create con Power Apps possono essere eseguite su dispositivi mobili come tablet e telefoni non appena vengono pubblicate; gli utenti devono solo trovare l'app nell'app store nel proprio dispositivo.
Per pubblicare un'app, procedi come segue:
In Power Apps Studio, nel menu File, seleziona Salva. Salva l'app se hai apportato modifiche. Quando salvi l'app, viene visualizzato il pulsante Pubblica.
Selezionare Pubblica Nella finestra di dialogo Pubblica, l'opzione Modifica dettagli consente di selezionare impostazioni come il nome dell'app, un'icona per l'app e una descrizione. Puoi anche modificare le dimensioni dello schermo e l'orientamento utilizzato dall'app. Selezionare Pubblicare questa versione per rendere l'app disponibile ad altri utenti Power Apps dell'organizzazione.
Puoi tenere traccia della cronologia della distribuzione e dell'utilizzo dell'app nella scheda App della pagina Amministratori in Power Apps Studio, all'indirizzo https://make.powerapps.com. Seleziona l'app e quindi, nel menu con i puntini di sospensione, seleziona Dettagli.
Nel riquadro Dettagli, la scheda Versioni mostra la cronologia delle versioni dell'app. Le opzioni nel menu con i puntini di sospensione per un'app consentono di ripristinare una versione precedente se è necessario eseguire il rollback di una pubblicazione recente.
Gestire l'app
L'interfaccia di amministrazione di Power Platform ti consente di gestire gli ambienti in cui risiedono le app. L'approccio consigliato consiste nel creare e pubblicare le app tramite ambienti Microsoft Dataverse. Per lo sviluppo e la produzione si utilizzano ambienti distinti.
Dataverse fornisce quattro tipi di ambienti:
Sandbox: ideale per il tuo sviluppo.
Produzione: dove l'app deve essere distribuita per l'uso.
Sviluppatore: gli asset creati qui non possono essere condivisi. Come ambiente utente singolo, è possibile usarlo per imparare ed esplorare le funzionalità delle app create in Power Apps.
Predefinito: un ambiente creato automaticamente per ogni tenant. Microsoft consiglia di non usarlo per le app, perché tutti gli utenti del tenant possono quindi accedere a quelle app.
Gli ambienti vengono creati utilizzando l'interfaccia di amministrazione di Power Platform. Nella scheda Ambienti, seleziona l'opzione Nuovo nella barra dei menu. Specifica il tipo di ambiente.
Un buon approccio alla gestione del ciclo di vita delle applicazioni (ALM) consiste nell'iniziare in un nuovo ambiente sandbox, per sviluppare e testare in sicurezza l'app in isolamento dall'ambiente di produzione. Condividi e testa l'app mentre viene sviluppata. Quando l'app è pronta per l'uso reale, distribuiscila in un ambiente di produzione e pubblicala da quell'ambiente. È possibile automatizzare gran parte di questo processo usando Microsoft Power Platform Build Tools.
Per informazioni dettagliate su ALM con Power Apps come si applica a VanArsdel, vedere Scenario 1: Citizen Development nella guida Microsoft Power Platform ALM.