Azure Private Link – Connessioni sicure ai servizi PaaS

Azure Private Link è una funzionalità che consente di accedere ai servizi PaaS di Azure, ad esempio agli storage account, ai database SQL e alle web app, nonché ai servizi di partner Microsoft ospitati in Azure, tramite un endpoint privato nella rete virtuale. Il traffico tra la rete virtuale e il servizio rimane nella rete Microsoft, impedendone l’esposizione alla rete Internet pubblica. È anche possibile creare un servizio  Private Link personale nella rete virtuale e distribuirlo privatamente ai propri clienti.

Tra i principali vantaggi dell’utilizzo di Azure Private link ci sono:

  • Accesso privato ai servizi nella piattaforma Azure
  • Accesso privato ai servizi in esecuzione in Azure dall’ambiente aziendale (on-premises) tramite peering privato ExpressRoute, tunnel VPN e reti virtuali con peering
  • Protezione dall’esfiltrazione di dati
  • Copertura globale

Figura 1: Utilizzo di Azure Private Link

Attualmente Azure Private Link è disponibile per i seguenti servizi:

  • Azure Load Balancer
  • Azure Storage
  • Azure Data Lake Storage Gen2
  • Azure SQL Database
  • Azure Synapse Analytics (SQL Data Warehouse)
  • Azure Cosmos DB
  • Azure Database for PostgreSQL – singolo server
  • Azure Database for MySQL
  • Azure Database for MariaDB
  • Azure Key Vault
  • Azure Kubernetes Service – Kubernetes API
  • Azure Search
  • Azure Container Registry
  • Azure App Configuration
  • Azure Backup
  • Azure Event Hub
  • Azure Service Bus
  • Azure Relay
  • Azure Event Grid
  • Azure Web Apps
  • Azure Machine Learning
  • Azure Automation
  • Azure IoT Hub
  • Azure SignalR
  • Azure Monitor (Log Analytics & Application Insights)
  • Azure File Sync

Il servizio Azure Private Link è in continua evoluzione, quindi se volete rimanere aggiornati sui servizi Azure che possono utilizzarlo potete consultare la pagina https://azure.microsoft.com/updates/?product=private-link

È possibile avere più endpoint privati nella stessa VNet o nella stessa subnet, che possono connettersi a servizi diversi. Non è necessaria una subnet dedicata per gli endpoint privati. È possibile scegliere un indirizzo IP di endpoint privato da qualsiasi subnet dalla VNET in cui viene distribuito il servizio.

Connettersi privatamente ad una Web App

Tra i tanti esempi possibili ho deciso di farvi vedere come collegarsi ad una Web App direttamente da una macchina presente in una VNET. Darò per scontato che sappiate creare una Azure Web App e che sappiate creare una Azure VM da utilizzare per testare il collegamento privato alla web app.

Figura 2: Schema del laboratorio realizzato

Selezionate la Web App dal portale di Azure e dal nodo Netwokring scegliete Private Endpoint connections

Figura 3: Private Endpoint Connection per la Web App in Azure

Fate clic su Add per aggiungere il nuovo endpoint. Scegliete un nome, la sottoscrizione e la VNET con relativa Subnet a cui aggiungere il Private Endpoint.

Figura 4: Aggiunta del Private Endpoint alla Azure Web App

Attendete il completamento della creazione dell’endpoint.

Figura 5: Creazione dell’endpoint completata

Dal portale di Azure cercate la voce Private Link tra le risorse disponibili. Sarà possibile visualizzare in questo modo tutti gli endpoint che avete creato, indipendentemente dalla risorsa a cui sono collegati.

Figura 6: Private Link Center nel portale di Azure

Dal nodo Private Endpoint del Private Link Center scegliete il link di cui vi interessa conoscere l’indirizzo IP.

Figura 7: Private Link disponibile

Nel portale noterete tutti i nomi che sono stati associati alla Web App e il relativo indirizzo IP privato della subnet a cui sono associati da cui adesso saranno raggiungibili.

Figura 8: Indirizzo IP privato della Azure Web App

Da una delle Azure VM collegate alla stessa subnet potete navigare verso l’indirizzo della Web App.

Attualmente la funzionalità è in PREVIEW. Quando navigate verso il nome pubblico della web app (*.azurewebsites.net) vi verrà mostrato il messaggio di errore 403-accesso negato. Sarà necessario sistemare la risoluzione del nome DNS per poter accedere alla risorsa. Sicuramente in futuro l’indirizzo IP pubblico della web app verrà sostituito dall’indirizzo IP privato associato all’endpoint.
Nel caso utilizziate invece un dominio personalizzato (custom domain) dovrete provvedere voi a sistemare i record DNS nella vostra zona.

Figura 9: Messaggio di errore quando si tenta di navigare verso la Azure Web App

Io ho modificato il file Hosts con il blocco note e ho aggiunto una voce con l’indirizzo IP privato e il nome pubblico della Azure Web App.

Figura 10: Modifica del file Hosts per poter raggiungere la Azure Web App attraverso il Private Link

Richiamando lo stesso URL sono riuscito a connettermi alla Web App, come mostrato nella figura sotto.

Figura 11: La Azure Web App è raggiungibile attraverso il Private Link

Conclusioni

L’endpoint privato di Azure è un’interfaccia di rete che si connette privatamente e in modo sicuro a un servizio basato sui Private Link di Azure. L’endpoint privato usa un indirizzo IP privato della rete virtuale, collegando efficacemente il servizio nella rete virtuale e permettendone la fruizione da tutte le risorse presenti nella VNET e dalle risorse collegate alla VNET stessa, magari tramite VNET peering oppure tamite VPN Site-to-Site.

Tramite i Private Link i dati non transitano mai in Internet, in modo tale da ridurre l’esposizione alle minacce ed aumentare il livello di sicurezza delle comunicazioni e delle trasmissioni di dati.