Integrare le Azure File Share con un dominio Active Directory locale

Le Azure File Shares supportano l’autenticazione basata su due tipi di servizi di dominio: Active Directory Domain Services locale (AD DS) e Azure Active Directory Domain Services (Azure AD DS).

Quando si abilita Active Directory Domain Services (AD DS) per le Azure File Shares, i computer aggiunti ad un dominio possono montare le cartelle condivise usando le credenziali di dominio locale. Inoltre è possibile gestire meglio le autorizzazioni per consentire un controllo di accesso granulare alle cartelle e ai file condivisi.

Prima di abilitare questa funzionalità è necessario:

  • Avere un dominio di Active Directory e sincronizzarlo con Azure AD Connect.
  • Avere o creare un account di archiviazione di Azure e creare una Azure Files Share.
  • Configurare correttamente la rete

I passaggi da seguire per la realizzazione sono:

  • Abilitare l’autenticazione di servizi di dominio Active Directory nell’account di archiviazione
  • Assegnare le autorizzazioni di accesso per una condivisione all’identità del Azure AD (un utente, un gruppo o un’entità servizio) sincronizzata con l’identità di Active Directory di destinazione
  • Configurare le ACL di Windows per permetterle l’accesso alle cartelle e ai file
  • Montare una condivisione file di Azure in una macchina joinata ad Active Directory

Il diagramma seguente illustra il flusso di lavoro per l’abilitazione dell’autenticazione Azure AD per le Azure File Share.

Figura 1: Diagramma del flusso di lavoro per l’abilitazione dell’autenticazione Azure AD su SMB per le condivisioni file di Azure

Creazione di uno storage account

Per creare un nuovo account di archiviazione potete seguire i passaggi previsti nella guida https://docs.microsoft.com/it-it/azure/storage/common/storage-account-create?tabs=azure-portal

Figura 2: Creazione di un nuovo storage account

Figura 3: Configurazione della protezione dei dati contenuti nello storage account

Figura 4: Schermata riassuntiva della creazione dello storage account

Creazione di una Azure file share

Per creare una condivisione file di Azure potete seguire le indicazioni della guida https://docs.microsoft.com/it-it/azure/storage/files/storage-how-to-create-file-share?tabs=azure-portal

Figura 5: Creazione di una Azure File Share

Figura 6: Definizione del nome e della dimensione della Azure File Share

Figura 7: Azure File Share create

Per potervi connettere alla Azure File Share è sufficiente cliccare sul pulsante Connect. Potete montare la Azure File Share in macchine con sistema operativo Windows, Linux o macOS e assegnare una lettera di unità oppure un mount point. Il portale di Azure fornisce uno script che è possibile usare per montare la condivisione file direttamente in un computer.

Figura 8: Connessione alla Azure File Share

Assicuratevi che la porta 445 sia aperta perchè è richiesta dal protocollo SMB. Se la porta 445 è bloccata da un firewall o non è permessa dal vostro gestore di connettività, le connessioni non riusciranno. Utilizzate la cmdlet Test-NetConnection per verificare che sia possibile collegarsi alla Azure File Share.

Figura 9: Connessione attraverso la porta 445 bloccata

Poichè il mio gestore di connettività blocca la porta 445 ed il protocollo SMB, ho usato una connessione VPN da sito a sito per connettermi alla Azure VNET ed un Endpoint privato per connettere lo storage account alla stessa Azure VNET, in modo tale da montare le Azure File Share dalla rete locale passando attraverso il tunnel VPN.

Trovate tutte le indicazioni per creare un Endpoint privato per connettere lo storage account alla Azure VNET alla pagina https://docs.microsoft.com/en-us/azure/storage/files/storage-files-configure-s2s-vpn

Figura 10: Connessione allo storage account effettuata con successo

Figura 11: La Azure File Share è stata montata con lo script PowerShell

È anche possibile montare la Azure File Share come una unità di rete utilizzando Esplora risorse. Nelle figure sotto sono mostrati tutti i passaggi. Accertatevi di sostituire l’indirizzo della Azure file Share https://<storage-account-name>.file.core.windows.net/<fileshare-name> con la notazione \\<storage-account-name>.file.core.windows.net\<fileshare-name>

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

Figura 13: Inserimento della notazione corretta per collegarsi alla Azure File Share

Per le credenziali utilizzate il nome dello storage account e una della chiavi di accesso che permettono l’accesso allo storage account e a tutti i dati contenuti.

Figura 14: Inserimento delle credenziali di accesso allo storage account

Figura 15: Mappatura della Azure File Share avvenuta con successo

Abilitare l’autenticazione di Active Directory nell’account di archiviazione

Per abilitare l’autenticazione di Active Directory tramite SMB per le Azure File Share è necessario registrare l’account di archiviazione con Active Directory locale e creare un account che lo rappresenti in Active Directory. Questo processo può essere considerato come la creazione di un account che rappresenta un file server Windows locale in Active Directory. Quando la funzionalità è abilitata nell’account di archiviazione, viene applicata a tutte le condivisioni file nuove ed esistenti nell’account.

Per prima cosa Scaricate e decomprimete il modulo AzFilesHybrid (modulo GA: v 0.2.0 +)

Figura 16: Modulo Powershell AzFilesHybrid

Installate ed eseguite il modulo in un computer che è aggiunto a un dominio locale usando le credenziali di un utente che possa joinare i PC al dominio e che sia sincronizzato con Azure AD.

NOTA: Assicuratevi di avere installato i moduli PowerShell di Active Directory, se non state eseguendo lo script su un domain controller. A partire dall’aggiornamento di Windows 10 di ottobre 2018, la funzionalità Strumenti di amministrazione remota è inclusa come set di funzionalità su richiesta in Windows 10. Per Installare I moduli è sufficiente eseguire in Windows 10 il comando PowerShell:

 

Per completare l’installazione dei moduli potrebbero essere necessari circa 10 minuti ed è richiesto il riavvio della macchina.

Eseguite a questo punto i comandi per il join dell’account di archiviazione (storage account) al vostro dominio locale. Sostituite i valori segnaposto con quelli personalizzati riportati di seguito prima di eseguirli in PowerShell.

 

Maggiori dettagli sono disponibili alla pagina https://docs.microsoft.com/it-it/azure/storage/files/storage-files-identity-ad-ds-enable

Figura 17: Esecuzione dello script per il join dello storage account a AD locale

Figura 18: Oggetto computer creato per lo storage account nel nostro AD locale

Per verificare che la configurazione sia stata effettuata con successo potete utilizzare il ramo Configuration del vostro storage account.

Figura 19: Active Directory Domain Services abilitati per lo storage account

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 nella figura sotto:

Figura 20: Assegnazione dei ruoli 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

Figura 21: Modifica delle ACL della Azure File Share

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

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, come spiegato prima. Se l’utente ha l’accesso alla share, consentito attraverso Controllo di accesso (IAM), non avrà problemi ad accedere, non gli verranno chieste le credenziali di accesso e la Azure File Share verrà montata subito.

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

Conclusioni

Poter utilizzare le credenziali di dominio per montare e raggiungere una Azure File Share semplifica di molto la migrazione verso il Cloud dei nostri file server. Le condivisioni sono completamente gestite sul Cloud, accessibili tramite il protocollo SMB (Server Message Block) e possono essere montate simultaneamente da distribuzioni cloud o locali di Windows, macOS e Linux. Questo ci permette di sostituire completamente o integrare i dispositivi NAS o i file server locali tradizionali.