Windows Virtual Desktop – Il Desktop As A Service di Microsoft

Windows Virtual Desktop è un servizio completo (attualmente ancora in Preview) di virtualizzazione di desktop e applicazioni che viene eseguito nel cloud. È possibile connettersi da qualsiasi dispositivo tramite un’applicazione nativa oppure tramite il client Web HTML5 di Windows Virtual Desktop.

Le caratteristiche principali di questo servizio sono:

  • I servizi di infrastruttura come gateway, broker e licensing vengono forniti come servizio in Azure. Non è necessario distribuire e gestire alcuna infrastruttura locale.
  • Windows Virtual Desktop può utilizzare Azure Active Directory (Azure AD) come provider di identità, consentendo di utilizzare anche l’autenticazione multifattore (MFA) o l’accesso condizionale.
  • Una volta che un utente è connesso al servizio Windows Virtual Desktop, l’accesso alle macchine virtuali joinate ad Active Directory verrà fornito utilizzando le identità di Azure AD. Negli ambienti in cui è implementato Active Directory Federation Services (ADFS) per Single Sign-On (SSO), all’utente non verranno richieste le credenziali per la connessione alla VM.
  • Nella VM di destinazione non è necessario aprire alcuna porta in ingresso. Anche la porta RDP predefinita, TCP 3389, non deve essere aperta. Un agent installato nella VM crea una connessione in uscita utilizzando la porta TCP 443. Tutto il traffico RDP verrà gestito da un Reverse Proxy in Azure in quanto le macchine virtuali non sono direttamente esposte a Internet. Le VM possono anche essere raggiunte utilizzando un indirizzo IP privato.
  • Windows Virtual Desktop usa Windows 10 multi-session di Windows 10 Enterprise, in cui più utenti possono accedere contemporaneamente alla stessa VM client Windows tramite RDP (la multisessione era storicamente possibile solo sui sistemi operativi Windows Server).

Durante l’anteprima pubblica, i desktop e le app possono essere distribuiti in macchine virtuali in qualsiasi area di Azure, mentre la soluzione di gestione e i dati per queste macchine virtuali risiederanno negli Stati Uniti (area West US 2). Per questo motivo potreste avre qualche problema di latenza.

Prerequisiti di Windows Virtual Desktop

Per configurare Windows Virtual Desktop, è necessario avere:

  • Una sottoscrizione di Azure con un credito sufficiente (necessario per ospitare le risorse).
  • Scaricare e installare le cmdlet di Windows Virtual Desktop per Windows PowerShell su una macchina da cui effettuerete la gestione.
  • Assicurarsi che la rete virtuale in Azure (VNET) sia configurata in modo tale che le nuove macchine virtuali possano contattare il controller di dominio o i servizi di dominio di Azure AD (Azure AD Domain Services).
  • Assicurarsi che tutte le risorse di Azure si trovino nella stessa regione di Azure.
  • Se si richiede SSO (client HTML5 escluso), sarà necessario AD FS o gli utenti dovranno autenticarsi quando si accede alla VM.

Nella figura sotto sono mostrati gli accountnecessari per opoter configurare l’infrastruttura di Windows Virtual Desktop

Figura 1: Account necessari alla configurazione di Windows Virtual Desktop

Assicuratevi anche di avere le licenze appropriate per gli utenti in base al desktop e alle applicazioni che prevedete di distribuire:

OS Licenza richiesta
Windows 10 Enterprise multisessione o Windows 10 a singola sessione Microsoft E3, E5, A3, A5, Business
Windows E3, E5, A3, A5
Windows 7 Microsoft E3, E5, A3, A5, Business
Windows E3, E5, A3, A5
Windows Server 2012 R2, 2016, 2019 Licenza CAL Servizi Desktop remoto con Software Assurance

I passaggi da effettuare sono i seguenti:

  1. Consentire al servizio Windows Virtual Desktop di accedere ad Azure AD.
  2. Assegnare il ruolo “TenantCreator” a un account utente.
  3. Creare un tenant per Windows Virtual Desktop.
  4. Distribuire il primo pool di host per Windows Virtual Desktop.
  5. Verificare se un utente può accedere a una sessione desktop.

Consentire al servizio Windows Virtual Desktop di accedere ad Azure AD

Per consentire a Windows Virtual Desktop di accedere ad Azure AD è necessario procurarsi l’ID del tenant da utilizzare. Per farlo collegatevi al portale di Azure e andate in Azure Active Directory > Properties > Directory ID, come mostrato in figura:

Figura 2: Directory ID del nostro tenant di Azure AD

Collegatevi alla pagina https://rdweb.wvd.microsoft.com ed inserite il tenant ID di Azure AD per consentire alla Server App di potervi accedere. In questo modo permetterete al servizio di Windows Virtual Desktop di poter interrogare il vostro tenant di Azure Ad per poter effettuare compiti amministrativi. Effettuate il login e consentite l’accesso.

Figura 3: Consenso alla Server App per l’accesso a Windows Virtual Desktop

Figura 4: Conferma dei permessi per l’accesso alla Server App

Figura 5: Registrazione dell’applicazione Server App completata

Attendete un minuto ed effettuate la stessa operazione per concedere l’accesso alla Client App. Inserite lo stesso Directory ID che avete utilizzato per registrare la Server App

Figura 6: Consenso alla Client App per l’accesso a Windows Virtual Desktop

Figura 7: Conferma dei permessi per l’accesso alla Client App

Figura 8: Registrazione dell’applicazione Client App completata

Assegnare il ruolo TenantCreator a un account utente in Azure AD

Per poter creare un tenant di Windows Virtual Desktop è necessario assegnare i privilegi di TenantCreator ad un utente di Azure AD. Loggatevi al portale di Azure e da Azure Active Directory > Enterprise applications cercate l’applicazione Windows Virtual Desktop. Nella voce Users and groups aggiungete l’utente di Azure AD a cui volete dare i permessi di TenantCreator, come mostrato in figura:

Figura 9: Applicazioni Windows Virtual Desktop in Azure AD

Figura 10: Assegnazione del ruolo di TenantCreator ad un utente di Azure AD

Creare un tenant per Windows Virtual Desktop

Per creare un tenant di Windows Virtual Desktop è necessario dapprima procurarsi il proprio SubScriptionID della sottoscrizione Azure nella quale volete create le VM da utilizzare. Dal portale di Azure vi basterà cliccare sul nodo Subscriptions per verificare al volo l’ID.

Figura 11: Subscription ID della sottoscrizione Azure da utilizzare per la creazione delle VM di Windows Virtual Desktop

Fate riferimento alla pagina https://docs.microsoft.com/it-it/azure/virtual-desktop/tenant-setup-azure-active-directory per ottenere maggiori informazioni sulla creazione del tenant di Windows Virtual Desktop Preview

Per procedure alla creazione del tenant è necessario installare il modulo PowerShell di Windows Virtual Desktop. Nello script sotto viene mostrato come creare il tenant. Sostituite i valori di <ID del TENANT DI AZURE AD> e <ID DELLA SOTTOSCRIZIONE> con quelli che vi siete procurati prima

 

Figura 12: Collegamento al Broker di Windows Virtual Desktop

Figura 13: Creazione del nuovo tenant di Windows Virtual Desktop

Distribuire il primo pool di host di Windows Virtual Desktop

Per distribuire il primo pool di host di Windows Virtual Desktop, una collezione di VM che verrà creata in Azure e che verranno joinate al vostro dominio di Active Directory, collegatevi al portale di Azure e cercate nel Marketplace Windows Virtual Desktop – Provision a host pool. Seguite il wizard di creazione ed inserite tutte le informazioni richieste. Nelle schermate sotto sono mostrati tutti i passaggi necessari. Fate riferimento alla pagina https://docs.microsoft.com/it-it/azure/virtual-desktop/create-host-pools-azure-marketplace per ulteriori informazioni sulla configurazione.

Nel pannello di informazioni di base procedete come segue:

  1. Immettete un nome per il pool di host che sia univoco all’interno del tenant di Windows Virtual Desktop.
  2. Selezionate l’opzione appropriata per il tipo di desktop (Pooled o Personal).
  3. Immettete un elenco di voci delimitate da virgole corrispondenti agli utenti che possono accedere ai client di Windows Virtual Desktop. Se ad esempio si vuole assegnare l’accesso a user1@contoso.com e user2@contoso.com, immettere “user1@contoso.com,user2@contoso.com”.
  4. In Location selezionate la stessa località della macchina virtuale che ha connettività con il server Active Directory.

Figura 14: Creazione dell’host pool

Configurare le macchine virtuali

Per il pannello di configurazione delle macchine virtuali:

  1. Accettate i valori predefiniti oppure personalizzate il numero e le dimensioni delle VM.
  2. Immettete un prefisso per i nomi delle macchine virtuali. Ad esempio, se si immette il nome “WVD”, le macchine virtuali saranno denominate “WVD-0”, “WVD-1” e così via.

Figura 15: Scelta della dimensione e del numero delle VM da creare

Impostazioni della macchina virtuale

  1. Selezionate Image source e immettete le informazioni appropriate. Se scegliete di non usare dischi gestiti, selezionate l’account di archiviazione contenente il file con estensione vhd.
  2. Immettete il nome utente e la password per l’account di dominio che aggiungerà le VM al dominio di Active Directory locale. Gli stessi valori di nome utente e password verranno creati come account locali nelle macchine virtuali. È possibile reimpostare questi account locali in seguito.
  3. Selezionate la rete virtuale (VNET) che ha connettività con il server Active Directory, quindi scegliere una subnet in cui ospitare le macchine virtuali.

Figura 16: Configurazione delle VM, credenziali per il join a dominio delle VM e rete virtuale (VNET) a cui connetterle

Per il pannello di informazioni sul tenant di Desktop virtuale Windows:

  1. Immettete il nome del gruppo di tenant di Windows Virtual Desktop. Se non è stato pianificato uno specifico nome di gruppo di tenant, lasciare il valore predefinito “Default Tenant Group“.
  2. Immettete il nome del tenant di Windows Virtual Desktop in cui verrà creato il pool di host.
  3. Specificate il tipo di credenziali da usare per l’autenticazione come proprietario di Servizi Desktop remoto del tenant di Windows Virtual Desktop. Potete immettere le credenziali di un global administrator del tenant di Azure AD.

Figura 17: Indicazione del Windows Virtual Desktop tenant e dell’ Azure AD tenant da utilizzare

Per gli ultimi due pannelli:

  1. Nel pannello Riepilogo rivedete le informazioni sulla configurazione.
  2. Nel pannello Acquista rivedete le informazioni aggiuntive sull’acquisto effettuato da Azure Marketplace. Selezionate Crea per distribuire il pool di host.

Figura 18: Schermata riepilogativa e validazione del setup

Figura 19: Creazione dell’Host Pool di Windows Virtual Desktop

A seconda del numero di VM create, questo processo può richiedere circa 30 minuti.

Figura 20: Deployment dell’host pool di Windows Virtual Desktop

Le macchine che verranno create non avranno un indirizzo IP pubblico e non saranno raggiungibili direttamente da Internet, ma solo attraverso un reverse proxy di Microsoft, che garantisce un elevato livello di sicurezza. Come si può vedere nell’immagine sotto, la VM possiede solo l’IP provato della VNET a cui è collegata.

Figura 21: Le VM create non sono accessibili direttamente da Internet e non hanno un IP pubblico

Sarà possibile collegarsi alle VM create utilizzando RDP e usando come credenziali il nome utente e la password per l’account di dominio che avete utilizzato per aggiungere le VM al dominio di Active Directory locale. Gli stessi valori di nome utente e password sono stati creati come account locali nelle macchine virtuali. Se controllate la versione del sistema operativo noterete che è stato installato Windows 10 for Virtual Desktops. Potete a questo punto installare tutte le applicazioni che volete far utilizzare ai vostri utenti.

Figura 22: Nella VM verrà installato Windows 10 for Virtual Desktops

Verifica di accesso dell’utente al Windows Virtual Desktop Pool

Per poter verificare l’accesso al pool creato è necessario procurarsi il Remote Desktop Client per Windows, Android o iOS oppure utilizzare il client HTML5. Per scaricare il client Windows collegatevi al link Remote Desktop client e installatelo sulla vostra macchina. Nelle figure sotto sono mostrati tutti i passaggi relativi all’installazione

Figura 23: Accettazione delle licenza di Remote Desktop Client

Figura 24: Completamento dell’installazione del Remote Desktop Client

Lanciate il client ed effettuate la sottoscrizione al feed di Windows Virtual Desktop cliccando sul tasto Subscribe. Dopo esservi autenticati vi apparirà l’elenco dei Windows Virtual Desktop a cui l’utente può fare l’accesso. Nel mio caso il dominio locale di Active Directory usa i Federation Services per l’autenticazione (con Multi-Factor Authentication). Poiché mi sto collegando da una macchina fuori dominio mi viene richiesta l’autenticazione. Se il client da cui effettuate la connessione è in dominio allora potrete utilizzare il Single Sign-On (SSO).

Figura 25: Inserimento delle credenziali per l’autenticazione

Figura 26: Utilizzo di Active Directory Federation Services ed Azure Multi-factor Authentication

Figura 27: Connessione dell’account a Windows 10

Figura 28: Connessione al pool di Windows Virtual Desktop effettuata

Figura 29: Inserimento delle credenziali per la connessione al Remote Desktop

Figura 30: Connessione a Windows Virtual Desktop effettuata

Una volta che avete sottoscritto il feed, i Desktop Remoti e le RemoteApp saranno disponibili nel menù avvio di Windows

Figura 31: I Remote Desktop e le RemoteApp sono disponibili nel menù avvio di Windows

Connessione tramite client HTML5

Abbiamo già avuto modo di parlare del nuovo client HTML5 per Remote Desktop Services nell’articolo Remote Desktop Web Client in Windows Server 2016 e Windows Server 2019. Grazie a questa nuova funzionalità potete utilizzare un browser per potervi collegare ai vostri Windows Virtual Desktop. Collegatevi alla pagina http://aka.ms/wvdweb e utilizzate le credenziali di un utente che avete abilitato all’accesso dei Virtual Desktop per effettuare la connessione.

Figura 32: Connessione al pool di Windows Virtual Desktop creato

Figura 33: Login da parte dell’utente abilitato

Figura 34: Connessione al Windows Virtual Desktop tramite client HTML5 effettuata

Connessione tramite smartphone

Per connettersi tramite smartphone (nel mio caso Android) ho scaricato dal Play Store l’applicazione Microsoft Remote Desktop e ho aggiunto un nuovo Remote Resource Feed che punta all’indirizzo https://rdweb.wvd.microsoft.com. La connessione è molto veloce ed è davvero semplice. Nelle schermate sotto ci sono tutti i passaggi:

Aggiunta di altri utenti all’accesso di Windows Virtual Desktop

In qualsiasi momento è possibile permettere l’accesso ad altri utenti del vostro dominio di Azure AD

 

Se volete aggiungere diversi utenti sarà necessario lanciare l’ultima cmdlet Add-RdsAppGroupUser diverse volte, una per ogni utente.

Figura 35: Aggiunta di un secondo utente al pool di Windows Virtual Desktop

Creazione delle RemoteApp

È anche possibile connettersi ai Windows Virtual Desktop utilizzando le RemoteApp.

Eseguite la cmdlet di PowerShell seguente per creare un nuovo gruppo vuoto di RemoteApp

 

Eseguite la cmdlet seguente per ottenere un elenco di applicazioni installate all’interno delle VM del Windows Virtual Desktop pool. Prendere nota dei valori di FilePathIconPathIconIndex dell’applicazione da pubblicare.

 

Eseguite la cmdlet seguente per pubblicare una nuova RemoteApp nel gruppo di applicazioni creato prima

 

Eseguite la cmdlet seguente per concedere agli utenti l’accesso alle RemoteApp del gruppo.

 

Figura 36: Enumerazione delle applicazioni installate nelle VM

Figura 37: Pubblicazione di una RemoteApp (Wordpad) e assegnazione ad un utente

A questo punto sarà possibile collegarsi per verificare che il nuovo gruppo di RemoteApp sia disponibile per gli utenti abilitati. Per procedere alla verifica ho utilizzato il browser e dopo essermi collegato a http://aka.ms/wvdweb ho inserito le credenziali dell’utente che ho autorizzato.

Figura 38: Utente collegato tramite client HTML5 alla RemoteApp eseguita tramite Windows Virtual Desktop

Figura 39: Lancio della RemoteApp

Figura 40: Connessione alla RemoteApp effettuata con successo

Conclusioni

Windows Virtual Desktop permette di poter ospitare in Azure la nostra infrastruttura VDI o di RemoteApp, di poter assegnare agli utenti i desktop in modalità persistente o non-persistente, dedicata o multisessione, in maniera estremamente semplice e senza la necessità di dover esporre le nostre macchine virtuali direttamente ad Internet. Il Cloud ci permette di poter scalare facilmente in caso di necessità e ci assicura un livello di sicurezza difficilmente raggiungibile all’interno delle nostre aziende.

Potete dare un’occhiata anche a video interessanti di sessioni tenute ad Ignite: