Utilizzare FSLogix Profile Containers per gestire i profili in Azure Virtual Desktop

Il 19 novembre 2018 Microsoft ha acquisito FSLogix. FSLogix migliora le performance dei profili remoti e può essere usato per conservare i profili in posizioni remote e riutilizzarli su più computer, specialmente quando si lavora con i servizi di desktop remoto.

FSLogix consente di:

  • Effettuare il Roaming dei dati utente tra host di sessione di elaborazione remota
  • Ridurre al minimo i tempi di accesso per gli ambienti desktop virtuali
  • Ottimizzare le operazioni di I/O dei file tra host/client e archivio profili remoto
  • Offrire un’esperienza di profilo locale, eliminando la necessità di profili mobili.
  • Semplificare la gestione delle applicazioni e delle “immagini Gold”
  • Specificare la versione di Java che deve essere utilizzata da URL e applicazioni specifiche

È possibile usare FSLogix se si dispone di una delle seguenti licenze:

  • Microsoft 365 E3/E5
  • Microsoft 365 A3/A5/ Vantaggi per l’uso degli studenti
  • Microsoft 365 F1/F3
  • Microsoft 365 Business
  • Windows 10 Enterprise E3/E5
  • Windows 10 Education A3/A5
  • Windows 10 VDA per utente
  • Servizi Desktop remoto licenza CAL (Client Access License) di Servizi Desktop remoto
  • Servizi Desktop remoto (RDS) Subscriber Access License (SAL)
  • Licenza di accesso per utente di Desktop virtuale di Azure

Le soluzioni FSLogix possono essere usate in qualsiasi data center pubblico o privato, purché l’utente abbia la corretta licenza. FSLogix opera in tutti i sistemi operativi supportati da Microsoft più di e include:

  • Desktop – Windows 7 e successivi
  • Server – Windows Server 2008 R2 e successivi
  • Le soluzioni FSLogix supportano sia a 32 bit che a 64 bit

Le soluzioni FSLogix sono molto vantaggiose quando vengono usate in combinazione con Azure Virtual Desktop

In questa guida mi occuperò di integrare FsLogix con Azure Virtual Desktop e reindirizzare i profili verso una Azure File Share.

NOTA: Per chi volesse approfondire come funzionano i profili di Windows ho anche scritto l’articolo NicolaFerrini.it – Come funzionano i profili utente in Windows: Local, Roaming, Mandatory e Super Mandatory

Integrare FSLogix con Azure Virtual Desktop

Per integrare FSLogix con Azure Virtual Desktop è necessario:

Assegnare le autorizzazioni di accesso per una Azure File Share all’identità di Azure AD sincronizzata con l’identità di Active Directory

Dopo aver abilitato l’autenticazione Active Directory Domain Services (AD DS) nell’account di archiviazione, è necessario configurare le autorizzazioni a livello di condivisione per ottenere l’accesso alle condivisioni file. L’identità a cui si vuole far accedere alle risorse di condivisione file di Azure deve essere un’identità ibrida presente in Active Directory e Azure AD.

È consigliabile usare le autorizzazioni a livello di condivisione per la gestione degli accessi di alto livello per un gruppo di Azure AD che rappresenta un gruppo di utenti e successivamente sfruttare le Access Control List (ACL) di Windows per il controllo di accesso granulare a livello di cartelle e/o di file.

Sono disponibili tre ruoli predefiniti di Azure per la concessione di autorizzazioni a livello di condivisione agli utenti:

  • Storage File Data SMB Share Reader consente l’accesso in lettura alle condivisioni file di archiviazione di Azure tramite SMB.
  • Storage File Data SMB Share Contributor consente l’accesso in lettura, scrittura ed eliminazione nelle condivisioni file di archiviazione di Azure tramite SMB.
  • Storage File Data SMB Share Elevated Contributor consente la lettura, la scrittura, l’eliminazione e la modifica degli ACL di Windows nelle condivisioni file di archiviazione di Azure tramite SMB.

Per assegnare un ruolo di Azure a un’identità di Azure AD, usando il portale di Azure, selezionate la Azure File Share, scegliete Controllo di accesso (IAM) e procedete all’assegnazione dei ruoli, come mostrato nelle figura sotto:

Figura 1: Configurazione dei permessi di accesso alla Azure File Share

Figura 2: Scelta dei permessi di accesso alla Azure File Share

Figura 3: Assegnazione dei permessi di accesso alla Azure File Share al gruppo di Azure AD

Figura 4: Verifica della corretta assegnazione dei permessi di accesso alla Azure File Share

Configurare le autorizzazioni a livello di directory e di file

Dopo aver assegnato le autorizzazioni a livello di Azure File Share con il controllo degli accessi in base al ruolo, è necessario configurare le Access Control List (ACL) di Windows appropriati a livello di cartella o di file. Le ACL di Windows operano a un livello più granulare per permettere le operazioni che l’utente può eseguire a livello di directory o di file. Quando un utente tenta di accedere a un file o a una directory, vengono applicate sia le autorizzazioni a livello di condivisione che di file/directory. Se si verifica una differenza tra di esse, verrà applicata solo quella più restrittiva.

Le ACL possono essere modificate graficamente tramite Esplora risorse oppure utilizzando la cmdlet Set-Acl o il tool icacls

Montare una Azure File Share in una macchina joinata ad Active Directory

Recuperate le credenziali per accedere allo storage account dal portale di Azure

Figura 5: Recupero delle credenziali per accedere allo storage account dal portale di Azure

Per montare la Azure File Share in una macchina joinato al dominio è sufficiente utilizzare il comando

oppure in alternativa usare Esplora risorse e mappare l’unità di rete.

Figura 6: Montaggio della Azure File Share come unità di rete

Figura 7: Azure File Share montata come unità di rete

Modificate quindi i permessi per poter far accedere i gruppi che utilizzeranno Azure Virtual Desktop. Nel mio caso ho dato il controllo completo al gruppo Amministratori Azure Virtual Desktop e il permesso di modifica al gruppo Utenti Azure Virtual Desktop, che ho creato nel mio dominio e che ho sincronizzato con Azure AD Connect. Potete utilizzare PowerShell oppure Esplora Risorse. Nel mio caso ho utilizzato il comando icacls. Per conoscere le opzioni del comando icacls.exe e la sintassi per configurare i permessi su file e cartelle potete visitare la pagina icacls | Microsoft Docs

Figura 8: Modifica dei permessi NTFS di accesso alla Azure File Share

Figura 9: Permessi NTFS assegnati alla Azure File Share

Configurare FSLogix sulle macchine dell’Host Pool di Azure Virtual Desktop

Per installare il client di FSLogix sulle macchine dell’Host Pool di Azure Virtual Desktop potete seguire tutti i passaggi descritti nella guida Install FSLogix Agent – FSLogix | Microsoft Docs.

Nel mio caso ho un Host Pool di 3 macchine che si chiama Produzione. È possibile installare il client in maniera manuale oppure utilizzare Microsoft Endpoint Manager. Trovate una guida dettagliata alla pagina Azure Virtual Desktop, Azure AD e Endpoint Manager: l’evoluzione del Modern Desktop – ICT Power

NOTA: Per approfondire come distribuire le applicazioni utilizzando Microsoft Endpoint Manager è disponibile anche la guida Microsoft Endpoint Manager – Microsoft Intune – Distribuire e gestire le applicazioni in Windows 10 e Windows 11 – ICT Power

Figura 10: Host Pool di Azure Virtual Desktop

Figura 11: Computer account dell’Host Pool di Azure Virtual Desktop

Scaricare l’FSLogix client dal link https://aka.ms/fslogix/download e procedete all’installazione come indicato alla pagina Install FSLogix Agent – FSLogix | Microsoft Docs. Di seguito sono mostrati i passaggi nel caso decidiate di installare manualmente il client.

Figura 12: Installazione del client a 64 bit di FSLogix

Figura 13: Installazione del client di FSLogix completata e riavvio dell’host

Terminato il riavvio dell’host potete procedere all verifica dell’avvenuta installazione controllando il percorso C:\Program Files\FSLogix\Apps. All’interno del percorso troverete anche l’app frxxtray.exe che vi darà indicazioni sull’utilizzo del profilo.

Figura 14: Verifica dell’installazione di FSLogix

Nel computer verranno anche creati 4 gruppi locali che potranno essere utilizzati per includere o escludere dei gruppi dall’utilizzo dei container FSLogix.

Figura 15: Gruppi locali creati dal client FSLogix

Configurazione dei profili FSLogix utilizzando le Group Policy

È possibile configurare i profili FSLogix utilizzando le Group Policy, come ben spiegato nell’articolo Use FSLogix Group Policy Template Files – FSLogix | Microsoft Docs. Nel file .ZIP che avete scaricato e che contiene gli agent per sistemi operativi a 32 o a 64 bit ci sono anche i file ADMX e ADML che potete copiare nella cartella \\dominio\SYSVOL\dominio\Policies\PolicyDefinitions (Central Store). Il file .ADML va copiato nella sottocartella della lingua.

NOTA: Trovate maggiori informazioni sul Central Store nella guida Funzionamento delle Group Policy in Windows Server: facciamo un po’ di chiarezza – ICT Power

Figura 16: Aggiunta degli administrative templates di FSLogix al GPO Central Store

Ho creato quindi una nuova Group Policy che ho collegato alla stessa OU dove si trovano gli host dell’Azure Virtual Desktop Host Pool.

Figura 17: Gli administrative templates adesso permesso di poter configurare FSLogix via GPO

Nelle figure sotto sono mostrate le configurazioni che ho effettuato. Come VHD location ho dato il percorso della Azure File Share creata e configurata precedentemente.

Figura 18: Configurazione della VHD location di FSLogix

Figura 19: Abilitazione della funzionalità del profilo di FSLogix

Figura 20: Configurazione del limite del profilo di FSLogix

Figura 21: Scelta di utilizzare un VDH dinamico

Dopo aver modificato tutti i settaggi sarà necessario effettuare un GPUpdate su tutte le macchine dell’Host Pool o attendere che la GPO venga applicata grazie al background refresh.

Verifica dell’applicazione dell’FSLogix container

Quando l’utente si collegherà al proprio Azure Virtual Desktop verrà creato un nuovo VHD nell’Azure File Share e ogni volta che l’utente si collegherà ad un host dell’Host Pool potrà riutilizzare lo stesso profilo.

Figura 22: Creazione del profilo di FSLogix

Riaprendo il tool frxtray.exe è possibile verificare che l’utente sta effettivamente utilizzando un profilo FSlogix.

Figura 23: L’utente sta utilizzando un profilo FSlogix

Da gestione disco è anche possibile verificare l’avvenuta connessione del file VHD contenente il profilo dell’utente alla macchina virtuale dove è connesso l’utente

Figura 24: connessione del file VHD contenente il profilo dell’utente alla macchina virtuale dove è connesso l’utente

Nella Azure File Share verrà creata una cartella con il SID dell’utente seguito dalla sua USERNAME. All’interno ci sarà il file VHD con il profilo

Figura 25: Cartella con il profilo dell’utente

Figura 26: Cartella con il profilo dell’utente creata in Azure File Share

Figura 27: File VHD con il profilo dell’utente

Profile Container vs Office Container

Gli Office Container permettono di ottimizzare i Profile Container di FSLogix. Come riportato alla pagina Profile Container vs. Office Container – FSLogix | Microsoft Docs
gli Office Container servono ad aumentare le prestazioni e reindirizzano solo i file locali di Office. Nella figura sotto sono mostrate tutte le Policy disponibili per la configurazione degli FSLogix
Office Container

Figura 28: Policy disponibili per la configurazione degli FSLogix Office Container

Utilizzo di Cloud Cache per aumentare la resilienza e la disponibilità

Cloud Cache è una tecnologia che fornisce funzionalità incrementali ai Profile Container e agli Office Container. Usa un profilo locale per eseguire tutte le operazioni di lettura da un profilo reindirizzato o da un Office Container dopo la prima lettura del profilo e permette di gestire una breve perdita della connettività verso i profili remoti. Trovate maggiori informazioni alla pagina Esercitazione sulla configurazione di FSLogix Cloud Cache – FSLogix | Microsoft Docs

Figura 29: Funzionamento di Cloud Cache

Figura 30: Configurazione di Cloud Cache attraverso le GPO

Conclusioni

Azure Virtual Desktop consiglia di utilizzare i Profili FSlogix per conservare i profili utente ed effettuare il roaming su postazioni diverse. Archiviando il profilo in un unico contenitore permette all’accesso dell’utente che questo contenitore venga collegato alla macchina virtuale sotto forma di file VHDx.
 Il profilo utente è immediatamente disponibile e viene visualizzato nel sistema esattamente come un profilo utente nativo.