PowerApps: eliminare il popup con la richiesta di consenso da parte dell’utente

Di default, quando un’azienda distribuisce qualsiasi applicazione che utilizza le connessioni a diverse sorgenti dati quali SharePoint, Azure AD ecc, appare agli utenti che tentano di accedere alla app un popup in cui viene loro richiesto il consenso per potersi connettere alle sorgenti dati.

In generale, dal punto di vista della sicurezza, potrebbe essere un’operazione che non crea troppo disturbo alle aziende. Questo perchè, a prima vista, sembra essere un consenso che viene richiesto un’unica volta all’utente finale. Ma è davvero così?

Non proprio: ogniqualvolta effettuate un aggiornamento all’applicazione legato alle sorgenti dati, il popup del consenso apparirà nuovamente all’utente che dovrà riconfermarlo.

Cosa possiamo fare per evitarlo?

Eliminare il Consent Popup
Vediamo come fare: il processo è molto semplice.
Se effettuate una ricerca google su questo argomento, scoprirete che vi è un semplice comando: Set-AdminPowerAppApisToBypassConsent.

Questo blog nasce dalla volontà di illustrare con precisione i passaggi da seguire per ottenere il risultato. Infatti, nonostante la semplicità delle operazioni, è capitato spesso che gli amministratori IT incontrassero delle difficoltà nell’esecuzione del comando nel momento in cui gli sviluppatori lo richiedevano nel corso del rollout delle applicazioni di PowerApps.

Permessi necessari
– Essere un global admin di Office 365 o Azure Active Directory.
– Questi amministratori devono effettuare il sign in al PowerApps Admin Center almeno una volta prima di utilizzare il cmdlet PowerShell.
– All’account dell’admin dev’essere assegnata una licenza PowerApps.

I Global admin di Office 365 Global o Azure Active Directory non hanno più bisogno di acquistare una licenza P2 per l’accesso amministrativo al comando PowerShell per PowerApps.

Quindi, nella maggior parte degli ambienti di produzione, dovrete chiedere ad uno degli amministratori di Office 365 di eseguire il comando per le vostre applicazioni.

Prerequisiti
Dovete installare i moduli PowerShell richiesti prima di poter eseguire il comando.
Per iniziare, installiamo il modulo PowerApps Administration.

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell

Il comando qui sopra, potrebbe avere come conseguenza l’apparizione di un messaggio di allerta relativo ad un’ “untrusted repository”.
Proseguite, inserite “Y” e poi invio.

Eliminare il popup con la richiesta di consenso dell'utente su PowerApps

Ora dobbiamo installare il modulo PowerApps PowerShell.

Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber

Assicuratevi di aggiungere lo switch -AllowClobber, altrimenti vi apparirà un messaggio di errore simile all’immagine qui sotto.

Eliminare il popup con la richiesta di consenso dell'utente su PowerApps

Ora che entrambi i moduli sono installati, passiamo al prossimo step.

Trovate l’ID dell’applicazione
Se siete uno sviluppatore PowerApps probabilmente lo sapete già, ma vi indichiamo la procedura nel caso in cui siate neofiti su PowerApps.

– Recatevi su web.powerapps.com e cliccate sull’icona Apps nel pannello di navigazione sulla sinistra;
– Cliccate su “…” vicino all’App per cui volete trovare l’ID;
– Cliccate su Details dal menù.

Eliminare il popup con la richiesta di consenso dell'utente su PowerApps

Vedrete l’ID della App nella parte inferiore del nuovo schermo.
Potete copiarla o annotarvela per condividerla con l’Office 365 Administrator.

Eliminare il popup con la richiesta di consenso dell'utente su PowerApps

A questo punto, abbiamo praticamente tutto quello che ci serve per proseguire con l’eliminazione del popup per tutti gli utenti.

Creare una connessione a PowerApps
Arrivati a questo punto, ci serve solo un altro script di una riga.
Add-PowerAppsAccount

Una volta eseguito, si apre una schermata di login che accetta gli utenti per cui è stata abilitata la Multi-factor Authentication (MFA).
Nella maggioranza delle aziende, per gli account di Amministratore di Office 365, è abilitata la MFA.

Eliminare il popup con la richiesta di consenso dell'utente su PowerApps

Se non è il caso della vostra organizzazione, potete inserire le credenziali di amministratore direttamente nello script.

$pass = ConvertTo-SecureString “password” -AsPlainText -Force
Add-PowerAppsAccount -Username o365adminuser@company.com -Password $pass

Una volta stabilita con successo la connessione, siete pronti per eseguire il comando per l’eliminazione.

Impostate il comando AdminPowerAppApisToBypassConsent
Il comando attuale è one liner.

Set-AdminPowerAppApisToBypassConsent -AppName

Ma quando l’amministratore di Office 365 lo esegue, gli si potrebbe presentare questo messaggio d’errore.

Eliminare il popup con la richiesta di consenso dell'utente su PowerApps

In sostanza, l’amministratore di Office 365 non ha i permessi sulla vostra applicazione.

Recatevi nuovamente nella vostra app da web.powerapps.com e condividetela.

Eliminare il popup con la richiesta di consenso dell'utente su PowerApps

Aggiungete l’amministratore di Office 365 come Co-Owner dell’applicazione.

Questo accesso è richiesto solo per poter eseguire il comando: una volta eseguito con successo, può essere rimosso.

Eliminare il popup con la richiesta di consenso dell'utente su PowerApps

Eseguite nuovamente lo script e, questa volta, l’operazione andrà a buon fine.

Eliminare il popup con la richiesta di consenso dell'utente su PowerApps

Per altre informazioni sui cmdlet legati a PowerApps Administration, vi rimandiamo all’articolo Microsoft.


Le informazioni presenti in questo post, sono prese dall’articolo: SUPPRESS USER CONSENT POPUP IN POWERAPPS.