Azure Networking: il nuovo metodo per accedere in modo privato ai servizi in Azure

L’esigenza di poter accedere a dati e servizi in Azure in modo totalmente privato e sicuro, in particolare dal proprio ambiente on-premises, è sicuramente molto sentita e sempre più diffusa. Per questa ragione Microsoft ha annunciato la disponibilità di Azure Private Link, che permette di semplificare l’architettura di rete instaurando una connessione privata verso i servizi in Azure, senza alcuna necessità di esposizione verso internet. In questo articolo vengono riportate le caratteristiche di questa tipologia di connettività e come è possibile attivarla.

Grazie ad Azure Private Link è possibile portare i servizi Azure in una Virtual Network e mapparli con un endpoint privato. In questo modo tutto il traffico viene istradato tramite l’endpoint privato, mantenendolo sulla rete globale di Microsoft. Il dato non transita mai su Internet, questo riduce l’esposizione a minacce e aiuta a rispettare gli standard di compliance.

Figura 1 – Panoramica di Azure Private Link

Il concetto che sta alla base di Azure Private Link è già in parte noto nell’ambito del networking di Azure e richiama i Virtual Network Service Endpoints. Prima dell’introduzione di Azure Private Link l’unico modo disponibile per aumentare il livello di sicurezza nell’accesso ai servizi Azure, come ad esempio Azure Storage e Azure SQL Database, era dato dai VNet Service Endpoints. La differenza però è sostanziale, in quanto utilizzando i VNet Service Endpoints il traffico rimane nella rete di backbone di Microsoft, consentendo l’accesso alle risorse PaaS solamente dalla propria VNet, ma l’endpoint PaaS viene comunque acceduto tramite l’IP pubblico del servizio. Ne consegue che il principio di funzionamento dei vNet Service Endpoints non si estende al mondo on-premises anche in presenza di connettività con Azure (VPN oppure ExpressRoute). Infatti, per consentire l’accesso da sistemi presenti on-premises è necessario continuare ad utilizzare le regole firewall del servizio per limitare la connettività solamente agli IP pubblici di propria appartenenza.

Grazie ad Azure Private Link è possibile invece accedere alle risorse PaaS tramite un indirizzo IP privato della propria VNet, il quale è potenzialmente accessibile anche da:

  • Sistemi on-premises tramite Azure ExpressRoute private peering e\o Azure VPN gateway.
  • Sistemi attestati su VNet in peering.

Tutto il traffico risiede all’interno della rete Microsoft e non è necessario configurare l’accesso tramite gli IP Pubblici del servizio PaaS.

Figura 2 – Accesso da on-premises e peered networks

Azure Private Link semplifica notevolmente il modo in cui è possibile accedere ai servizi Azure (Azure PaaS, Microsoft partner e servizi privati) in quanto sono supportate configurazioni cross Azure Active Directory (Azure AD) tenants.

Figura 3 – Private Link cross Azure Active Directory (Azure AD) tenants

L’attivazione di Azure Private Link è semplice e richiede un numero limitato di configurazioni lato networking di Azure. La connettività avviene basandosi su un flusso di approvazione di chiamate e quando una risorsa PaaS viene mappata su un endpoint privato, non è richiesta la configurazione di route table e di Network Security Groups (NSG).

Dal Private link center è possibile creare nuovi servizi e gestire la configurazione oppure configurare servizi esistenti per usufruire dei Private Link.

Figura 4 – Avvio della configurazione da Private link center
Figura 5 – Creazione di un Azure Storage Account da rendere accessibile in modo privato
Figura 6 – Parametri classici per la creazione di uno storage account
Figura 7 – Configurazione del Private endpoint
Figura 8 – Private endpoint connection presente nello storage account creato

Giunti a questo punto lo storage account sarà accessibile in modo totalmente privato. Per testarne l’accesso è stata creata una macchina virtuale e verificata la connettività tramite “Connection troubleshoot”:

Figura 9 – Test eseguito da “Connection troubleshoot” che dimostra la connettività privata

Per collegare tra di loro più Azure Virtual Network vengono tipicamente utilizzati i VNet peering, i quali richiedono che negli address space delle VNet non ci siano delle sovrapposizioni. Qualora si verifichi questa condizione è possibile adottare gli Azure Private Link come metodo alternativo per connettere in modo privato applicazioni che risiedono in differenti VNet con una sovrapposizione degli address space.

Figura 10 – Azure Private Link in presenza di overlapping address space

Le caratteristiche di Azure Private Link consentono di avere un accesso specifico solamente alle risorse mappate in modo esplicito. Nell’eventualità di un incident di security all’interno della propria VNet, questo meccanismo elimina la minaccia di estrazione di dati da altre risorse utilizzando lo stesso endpoint.

Figura 11 – Accesso mirato solo alle risorse mappate in modo esplicito

Gli Azure Private Link aprono inoltre nuovi scenari di esposizione dei servizi erogati in Azure da parte dei service provider. Per consentire l’accesso ai servizi erogati ai propri clienti tipicamente si procedeva secondo una di queste modalità:

  • Si rendevano accessibili direttamente tramite IP Pubblici.
  • Per renderli privati, si creavano dei VNet peering, ma con problemi di scalabilità e di potenziali conflitti IP.
Figura 12 – Come Azure Private Link cambia gli scenari “Service Consumer”-“Service Provider”.

La nuova possibilità che viene offerta in questi scenari, che richiedono un accesso totalmente privato al servizio erogato, è la seguente:

  • Service Provider: configura un Azure Standard Load Balancer, crea un Azure Private Link e consente l’accesso dal Service Consumer proveniente da una differente VNet, subscription, o tenant Azure Active Directory (AD).
  • Service consumer: creare un Private Endpoint nella VNet specifica e richiedere l’accesso al servizio.
Figura 13 – Azure Private Link workflow in scenari “Service Consumer”-“Service Provider”

Per maggiori dettagli a riguardo è possibile consultare la documentazione ufficiale Microsoft.

Conclusioni

Questo nuovo metodo consente di consumare privatamente soluzioni erogate in Azure all’interno della propria infrastruttura di rete. Si tratta di un importante cambiamento che sicuramente è opportuno tenere in considerazioni quando si progettano le architetture di rete in Azure, in particolare per gli scenari ibridi. Al momento il servizio è in preview, quindi non ancora utilizzabile per ambienti di produzione e disponibile per un set limitato di servizi Azure. Nei prossimi mesi però Microsoft ha annunciato che renderà disponibile questa funzionalità anche per altri servizi di Azure e dei partner, consentendo così di avere una esperienza di connettività privata, elemento chiave per avere una maggiore adozione e diffusione di questi servizi.