Accedere a una macchina virtuale Windows in Azure usando l’autenticazione Azure Active Directory

L’uso di Azure AD per l’autenticazione nelle macchine virtuali joinate ad un tenant di Azure AD permette di poter semplificare molto gli accessi perché gli utenti possono utilizzare le stesse credenziali e permette di creare delle regole di accesso condizionale che consentono di controllare chi può accedere ad una macchina virtuale.

Al momento la funzionalità è ancora in preview e funzona solo con le VM di Azure che eseguono Windows Server 2019 Datacenter Edition o Windows 10 1809 e versioni successive. Una volta abilitata questa funzionalità, le macchine virtuali Windows in Azure verranno joinate ad Azure AD e non sarà possibile joinarle ad un dominio on-premises.

NOTA: La connessione remota alle macchine virtuali joinate Azure AD è consentita solo da PC Windows 10 che sono joinati alla stessa Azure directory della macchina virtuale.

Creazione di una nuova macchina virtuale abilitata per l’accesso Azure AD

Create una nuova macchina virtuale e scegliete come sistema operativo Windows Server 2019 Datacenter Edition o Windows 10 1809 e versioni successive.

Figura 1: Creazione di una nuova VM dal portale di Azure

Dalla scheda Management abilitate la System Assigned Management Identity. Le identità gestite per le risorse di Azure sono una funzionalità di Azure Active Directory che consente di gestire e proteggere le credenziali per l’autenticazione ai servizi cloud.

Figura 2: Abilitazione della System Assigned Management Identity

Per poter accedere alla macchina virtuale utilizzando le credenziali di Azure AD è necessario abilitare un’estensione della VM chiamata AADLoginForWindows. Le estensioni della macchina virtuale sono piccole applicazioni che eseguono attività di configurazione e automazione post-distribuzione nelle macchine virtuali di Azure. L’installazione dell’estensione può essere fatta lanciando la Azure Cloud Shell e digitando il comando

 

NOTA: Questa estensione può essere installata anche nelle machine virtuali già esistenti, sempre a patto che siano Windows Server 2019 Datacenter Edition o Windows 10 1809 e versioni successive. È necessario abilitare l’identità gestita assegnata dal sistema nella macchina virtuale prima di installare l’estensione di accesso Azure AD.

Figura 3: Installazione nella Azure VM dell’estensione AADLoginForWindows utilizzando la Azure Cloud Shell

Grazie a questa estensione, la Azure VM viene joinata ad Azure AD, nello stesso tenant utilizzato dalla sottoscrizione Azure in cui avete creato la VM.

Figura 4: LA Azure VM è stata joinata ad Azure AD

La verifica dell’avvenuta join ad Azure AD può essere fatto direttamente dalla VM lanciando il comando

 

Figura 5: Verifica della join ad Azure AD con il comando dsregcmd

Configurare le assegnazioni di ruolo per la macchina virtuale

Dopo aver configurato la Azure VM ed aver installato l’estensione per l’accesso tramite Azure AD è necessario autorizzare gli utenti. Per farlo è possibile utilizzare due ruoli:

  • Virtual Machine Administrator Login: gli utenti con questo ruolo possono accedere a una macchina virtuale di Azure con privilegi di amministratore.
  • Virtual Machine User Login: gli utenti a cui è stato assegnato questo ruolo possono accedere a una macchina virtuale di Azure con i privilegi di utente normale.

Dal portale di Azure, selezionate la macchina virtuale e da Access control (IAM) cliccate su Add a role assignement e scegliete il ruolo per un gruppo o per un utente. Io ho deciso di assegnare il ruolo di Virtual Machine Administrator Login al mio account admin@ictpower.cloud

Figura 6:Assegnazione del ruolo di accesso alla Azure VM

Verifica dell’accesso

Da una macchina joinata allo stesso tenant di Azure AD l’utente a cui avete concesso l’accesso alla Azure VM può aprire il portale di Azure e può collegarsi alla VM. Ho notato però che non riuscivo a visualizzare l’indirizzo IP pubblico e l’indirizzo IP privato della Azure VM cui volevo collegarmi.

Figura 7: Gli indirizzi IP della VM non sono visibili

Mi sono quindi reso conto che era necessario fornire ulteriori privilegi all’utente che sto utilizzando (admin@ictpower.cloud) e per questo motivo gli ho assegnato i privilegi di Reader sulla scheda di rete utilizzata dalla macchina virtuale, come mostrato nella figura sotto:

Figura 8: Assegnazione dei privilegi di lettura sulla scheda della VM

Dopo un logoff e successivo logon al portale di Azure, l’utente scelto riesce a visualizzare tutte le info relative agli IP della Azure VM.

Figura 9: L’utente riesce a visualizzare gli IP della Azure VM

Cliccando sul tasto Connect può quindi collegarsi in RDP.

Figura 10: Connessione RD alla Azure VM

Poichè mi sto collegando da una macchina Windows 10 che è joinata allo stesso tenant di Azure AD della macchina Azure a cui voglio collegarmi, posso inserire le credenziali di Azure AD per potermi connettere in RDP.

Figura 11: Utilizzo delle credenziali di Azure AD per la connessione RDP alla Azure VM

Figura 12: Autenticazione alla Azure VM effettuata

Figura 13: Connessione alla Azure VM riuscita

Conclusioni

L’utilizzo delle credenziali di Azure AD per la connessione RDP ad una Azure VM semplifica di molto la gestione degli accessi, utilizzando strumenti come il controllo degli accessi in base al ruolo (RBAC) di Azure e l’accesso condizionale di Azure AD. Attualmente la funzionalità è ancora in Preview e quindi soggetta alle Condizioni per l’utilizzo supplementari per le anteprime di Microsoft Azure.