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 Networking 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.