Passa al contenuto principale
Sicurezza e fiducia

Accesso sicuro alle origini dati Azure da Azure Databricks

di Bhavin Kukadia, Abhinav Garg e Michal Marusan

Azure Databricks è una Piattaforma Unificata di Analisi Dati che fa parte del Cloud Microsoft Azure. Costruito sulle fondamenta di Delta Lake, MLFlow, Koalas e Apache Spark, Azure Databricks è un servizio di prima parte sul cloud Microsoft Azure che fornisce configurazione in un clic, integrazioni native con altri servizi Azure, un'area di lavoro interattiva e sicurezza di livello enterprise per alimentare casi d'uso di Dati e AI per clienti globali, dai piccoli ai grandi. La piattaforma consente una vera collaborazione tra diverse figure professionali dei dati in qualsiasi azienda, come Data Engineers, Data Scientists, Data Analysts e SecOps / Cloud Engineering.

In questo blog, il primo di una serie di due, forniremo una panoramica dell'architettura di Azure Databricks e di come i clienti potrebbero connettersi alle proprie istanze gestite di servizi dati Azure in modo sicuro.

Panoramica dell'architettura di Azure Databricks

Azure Databricks è un'applicazione gestita sul cloud Azure. A un alto livello, l'architettura consiste in un piano di controllo/gestione e un piano dati. Il piano di controllo risiede in una sottoscrizione gestita da Microsoft e ospita servizi come l'applicazione web, il gestore dei cluster, il servizio di job, ecc. Nel deployment predefinito, il piano dati è un componente completamente gestito nella sottoscrizione del cliente che include una VNET, NSG e un account di archiviazione radice noto come DBFS.

Il piano dati può anche essere deployato in una VNET gestita dal cliente, per consentire ai team SecOps e Cloud Engineering di costruire l'architettura di sicurezza e rete per il servizio secondo le proprie policy di governance aziendale. Questa capacità è chiamata Bring Your Own VNET o VNET Injection. L'immagine mostra una vista rappresentativa di tale architettura cliente.

Connettività sicura ai Servizi Dati Azure

La Sicurezza Aziendale è un principio fondamentale nella creazione di software sia in Databricks che in Microsoft, e quindi è considerata una cittadina di prima classe in Azure Databricks. Nel contesto di questo blog, la connettività sicura si riferisce a garantire che il traffico da Azure Databricks ai servizi dati Azure rimanga sulla backbone di rete Azure, con la capacità intrinseca di mettere in whitelist Azure Databricks come sorgente consentita. Come best practice di sicurezza, raccomandiamo un paio di opzioni che i clienti potrebbero utilizzare per stabilire un tale meccanismo di accesso ai dati ai servizi dati Azure come Azure Blob Storage, Azure Data Lake Store Gen2, Azure Synapse Data Warehouse, Azure CosmosDB ecc. Si prega di leggere ulteriormente per una discussione su Azure Private Link e Service Endpoints.

Opzione 1: Azure Private Link

Il modo più sicuro per accedere ai servizi dati Azure da Azure Databricks è configurando Private Link. Secondo la documentazione Azure - Private Link consente di accedere ai Servizi PaaS Azure (ad esempio, Azure Storage, Azure Cosmos DB e SQL Database) e ai servizi clienti/partner ospitati su Azure tramite un Endpoint Privato nella propria rete virtuale. Il traffico tra la propria rete virtuale e il servizio attraversa la backbone di rete Microsoft, eliminando l'esposizione da Internet pubblico. È anche possibile creare il proprio Servizio Private Link nella propria rete virtuale (VNet) e distribuirlo privatamente ai propri clienti. L'esperienza di configurazione e utilizzo di Azure Private Link è coerente tra PaaS Azure, servizi di proprietà del cliente e servizi partner condivisi. Per i dettagli, fare riferimento a questo.

Vedere di seguito come Azure Databricks e Private Link potrebbero essere utilizzati insieme.

Azure Databricks e Endpoint Privati dei Servizi Dati Azure in VNET separate

Azure Databricks e Endpoint Privati dei Servizi Dati Azure nella stessa VNET

Considerazioni sull'Endpoint Privato

Si prega di considerare quanto segue prima di implementare l'endpoint privato:

  • Fornisce protezione contro l'esfiltrazione dei dati per impostazione predefinita. Nel caso di Azure Databricks, questo si applicherebbe una volta che il cliente mette in whitelist l'accesso a servizi specifici nel piano di controllo.
  • Mantiene il traffico sulla backbone di rete Azure, ovvero la rete pubblica non viene utilizzata per alcun flusso di dati.
  • Estende lo spazio di indirizzamento della rete privata ai servizi dati Azure, ovvero il servizio dati Azure ottiene effettivamente un IP privato in una delle proprie VNET e potrebbe essere trattato come parte della propria rete privata più ampia.
  • Connettiti privatamente ai servizi dati Azure in altre regioni, ovvero una VNET nella regione A può connettersi a endpoint nella regione B tramite Private Link.
  • Private Link è relativamente più complesso da configurare rispetto ad altri meccanismi di accesso sicuro.
  • Vedere la documentazione per un elenco dettagliato dei vantaggi di Private Link e la disponibilità specifica del servizio.

Un esempio di dove si potrebbe usare Private Link è quando un cliente utilizza alcuni servizi dati Azure in produzione insieme ad Azure Databricks, come Blob Storage, ADLS Gen2, SQL DB ecc. Il business vorrebbe che gli utenti interrogassero i dati aggregati mascherati da ADLS Gen2, ma impedire loro di accedere ai dati confidenziali non mascherati in altre origini dati. In tal caso, un endpoint privato potrebbe essere stabilito solo per il servizio ADLS Gen2 utilizzando una qualsiasi delle sotto-opzioni discusse sopra.

Ecco come un tale ambiente potrebbe essere configurato:

1 - Configura Private Link per ADLS Gen2

2 - Esegui il deployment di Azure Databricks nella tua VNET

Si noti che è possibile configurare più di un Private Link per servizio dati Azure, il che consente di costruire un'architettura che sia conforme alle esigenze di governance della propria azienda.

Opzione 2: Azure Virtual Network Service Endpoints

Secondo la documentazione Azure, i punti di estremità del servizio di rete virtuale (VNET) estendono lo spazio di indirizzamento privato della propria rete virtuale. I punti di estremità estendono anche l'identità della propria VNet ai servizi Azure tramite una connessione diretta. I punti di estremità consentono di proteggere le proprie risorse critiche del servizio Azure solo alle proprie reti virtuali. Il traffico dalla propria VNet al servizio Azure rimane sempre sulla backbone di rete Microsoft Azure.

Gli endpoint di servizio offrono i seguenti vantaggi (fonte):

Sicurezza migliorata per le tue risorse di servizio Azure

Gli spazi di indirizzi privati per diverse reti virtuali possono sovrapporsi. Non è possibile utilizzare spazi di rete sovrapposti per identificare in modo univoco il traffico proveniente da una particolare VNET. Una volta abilitati gli endpoint di servizio per le subnet nella tua VNET, puoi aggiungere una regola firewall per la rete virtuale per proteggere i servizi dati Azure estendendo l'identità della tua VNET a tali risorse. Tale configurazione aiuta a rimuovere l'accesso pubblico a tali risorse e consente il traffico solo dalla tua VNET.

Routing ottimale per il traffico dei servizi dati Azure dalla tua rete virtuale

Attualmente, i percorsi sulla tua VNET utilizzati per dirigere il traffico con intestazione di rete pubblica tramite i tuoi appliance virtuali basati su cloud/on-premises vengono utilizzati anche per il traffico dei servizi dati Azure. Gli endpoint di servizio forniscono un routing ottimale per il traffico Azure.

Mantenere il traffico sulla rete backbone di Azure

Gli endpoint di servizio dirigono sempre il traffico dei servizi dati Azure direttamente dalla tua VNET alla risorsa sulla rete backbone di Microsoft Azure. Mantenere il traffico sulla rete backbone di Azure ti consente di continuare a controllare e monitorare il traffico Internet in uscita dalle tue reti virtuali, tramite il forced-tunneling, senza influire sul traffico dei servizi dati. Per ulteriori informazioni sui percorsi definiti dall'utente e sul forced-tunneling, consulta il routing del traffico di rete virtuale Azure.

Semplice da configurare senza overhead di gestione

Non sono più necessari indirizzi IP pubblici riservati nelle reti virtuali per proteggere le risorse dei servizi dati Azure tramite firewall IP. Non sono necessari dispositivi NAT (Network Address Translation) o gateway per configurare gli endpoint di servizio. Puoi configurare gli endpoint di servizio tramite una configurazione semplice per una subnet. Non c'è alcun overhead aggiuntivo per la manutenzione degli endpoint.

Endpoint di servizio Azure con Azure Databricks

Considerazioni sugli endpoint di servizio Azure

Si prega di considerare quanto segue prima di implementare gli endpoint di servizio:

  • Non fornisce protezione contro l'esfiltrazione dei dati per impostazione predefinita.
  • Mantiene il traffico sulla rete backbone di Azure, ovvero la rete pubblica non viene utilizzata per alcun flusso di dati.
  • Non estende lo spazio di indirizzi della rete privata ai servizi dati Azure.
  • Non è possibile connettersi privatamente ai servizi dati Azure in altre regioni (ad eccezione delle regioni abbinate).
  • Vedi la documentazione per un elenco dettagliato dei vantaggi e dei limiti degli endpoint di servizio Azure.

Prendendo lo stesso esempio menzionato sopra per Private Link, e come potrebbe apparire con gli endpoint di servizio. In questo caso, l'endpoint di servizio di archiviazione Azure potrebbe essere configurato sulle subnet di Azure Databricks e le stesse subnet potrebbero quindi essere inserite nella whitelist nelle regole del firewall di ADLS Gen2.

Ecco come potrebbe essere configurato un tale ambiente:

1 - Configura l'endpoint di servizio per ADLS Gen2

2 - Distribuisci Azure Databricks nella tua VNET

3 - Configura le regole del firewall IP su ADLS Gen2

Iniziare con l'accesso sicuro ai dati Azure

Abbiamo discusso un paio di opzioni disponibili per accedere in modo sicuro ai servizi dati Azure dal tuo ambiente Azure Databricks. In base alle tue specifiche aziendali, potresti utilizzare Azure Private Link o gli endpoint di servizio di rete virtuale. Una volta finalizzato l'approccio alla connettività di rete, potresti utilizzare approcci di autenticazione sicuri per connetterti a tali risorse:

Nel prossimo post di questa serie, approfondiremo come impostare un ambiente bloccato e sicuro per prevenire l'esfiltrazione dei dati (in altre parole, implementare un'architettura di prevenzione della perdita dei dati). Utilizzerà un mix delle opzioni discusse in precedenza e Azure Firewall. Non esitare a contattare i tuoi team di account Microsoft o Databricks per qualsiasi domanda.

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

Ricevi gli ultimi articoli nella tua casella di posta

Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.