On-Premises Data Gateway: l’accesso al dato locale tramite Azure Logic App

In determinate architetture su Azure potrebbe essere necessario prevedere l’accesso sicuro a fonti dati che si trovano presso un datacenter locale. Queste informazioni risultano fondamentali nel momento in cui devono essere elaborate e consumate applicativamente per renderle poi fruibili all’utente finale.

On-Premises Data Gateway, tramite sia installazione presso il datacenter locale che installazione su Azure, è il “ponte” che metterà in comunicazione i due ambienti solamente ed esclusivamente per le necessità applicative.

Figura 1 - Schema On-Premises Data Gateway
Figura 1 – Schema On-Premises Data Gateway

In questo articolo tratteremo nel dettaglio l’implementazione di On-Premises Data Gateway per l’utilizzo tramite Azure Logic App e connettore di tipo File System. Risulta comunque possibile sfruttare il componente anche da altri servizi cloud come Azure Analysis Services, Power BI, Power Apps e Power Automate.

Figura 12 - On-Premises Data Gateway servizi cloud e sorgenti locali
Figura 2 – On-Premises Data Gateway servizi cloud e sorgenti locali

 

Requisiti

Riportiamo i requisiti da dover verificare per l’installazione presso il datacenter locale.

Hardware e Software

  • .Net Framework versione 4.7.2 (requisito minimo).
  • Windows Server 2012 R2 con GUI (requisito minimo). Non è supportato Windows Server Core.
  • 8 GB RAM (requisito raccomandato).

Sicurezza

Per forzare tutte le comunicazioni effettuate dal Data Gateway ad utilizzare il protocollo sicuro TLS 1.2, occorre eseguire la modifica alle seguenti chiavi di registry (le chiavi di registry potrebbero cambiare a seconda della versione di .Net installata):

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]”SchUseStrongCrypto”=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]”SchUseStrongCrypto”=dword:00000001

Note

La modifica alle chiavi di registry indicata impatta tutte le applicazioni .Net installate sul server.

Rete

Per permettere l’installazione e la registrazione del Data Gateway devono essere consentite determinate comunicazioni verso l’esterno a seconda della modalità utilizzata.

Accesso diretto

Il Data Gateway utilizza le seguenti porte in uscita che occorre abilitare: TCP 443, 5671, 5672, dalla 9350 alla 9354. Occorrerà anche mettere in whitelist sul firewall tutti gli IP pubblici Microsoft legati alla region che verrà scelta durante l’installazione del Data Gateway. Gli IP pubblici utilizzati per region sono indicati all’interno della lista Azure IP Ranges and Tags.

Accesso tramite Proxy

Gli FQDN indicati in tabella dovranno essere permessi senza filtri/check sul traffico e in particolare occorre disabilitare la SSL inspection.

Per poter utilizzare il proxy occorre modificare i file di configurazione come riportato dal seguente documento.

Una volta completata la configurazione del Data Gateway è possibile filtrare il traffico in uscita permettendo solo quello verso il dominio *.servicebus.windows.net.

Utenze

Saranno necessarie le seguenti utenze:

  • Utenza su Azure AD per la registrazione di On-Premises Data Gateway nel datacenter locale e successivamente per l’installazione e associazione dello stesso componente su Azure.
  • Eventuale utenza, se necessaria, per autenticarsi sul proxy e permettere la navigazione verso l’esterno dal Data Gateway. Questa utenza dovrà essere configurata per avviare il servizio del Data Gateway come “Log on as account”.
  • Utenza con diritti amministrativi sul server per eseguire l’installazione del Data Gateway.
  • Utenza con diritti minimi necessari sulla folder/share dove dovranno essere elaborati i file tramite Azure Logic App.

Installazione

Ambiente On-premise

Una volta scaricato il setup con l’ultima versione rilasciata, avendo soddisfatto tutti i requisiti indicati precedentemente, è possibile procedere con l’installazione.

Figura 2 - On-Premises Data Gateway installazione
Figura 3 – On-Premises Data Gateway installazione

 

Figura 3 - On-Premises Data Gateway installazione
Figura 4 – On-Premises Data Gateway installazione

 

Figura 4 - On-Premises Data Gateway installazione
Figura 5 – On-Premises Data Gateway installazione

Durante l’installazione verrà richiesta la registrazione tramite l’utenza di Azure AD.

Figura 5 - On-Premises Data Gateway installazione
Figura 6 – On-Premises Data Gateway installazione

 

Figura 6 - On-Premises Data Gateway installazione
Figura 7 – On-Premises Data Gateway installazione

Occorre prestare particolare attenzione durante il wizard di installazione a modificare la region con quella coerente lato Azure. Nel nostro caso è stata scelta la region West Europe.

Figura 7 - On-Premises Data Gateway installazione
Figura 8 – On-Premises Data Gateway installazione

 

Figura 8 - On-Premises Data Gateway installazione
Figura 9 – On-Premises Data Gateway installazione

Se dovesse risultare necessario eseguire delle verifiche più approfondite, in seguito a problematiche riscontrate, è possibile eseguire l’export dei logs del Data Gateway nella sezione di Diagnostica.

Figura 9 - On-Premises Data Gateway diagnostica
Figura 10 – On-Premises Data Gateway diagnostica

Ambiente cloud Azure

Con la stessa utenza Azure AD, utilizzata per la registrazione del Data Gateway sul server, sarà possibile creare su Azure il componente On-premises Data Gateway e associarlo all’installazione eseguita presso il datacenter locale. Per avere visibilità dell’installazione locale occorrerà, oltre all’utilizzo della stessa utenza Azure AD, anche selezionare la stessa region indicata in fase di installazione.

Figura 10 - On-Premises Data Gateway su Azure
Figura 11 – On-Premises Data Gateway su Azure

Considerazioni

  • E’ possible installare il Data Gateway in un server dedicato. Non è necessario installare il Data Gateway sullo stesso server dove risiede la fonte dati acceduta dalla Azure Logic App.
  • Se verrà scelta l’autenticazione di tipo Windows authentication, verso la share dove risiedono i dati da elaborare, occorre che il Data Gateway venga installato su un server in join allo stesso dominio del server dove si trova la fonte dati.
  • Microsoft rilascia circa ogni mese una versione aggiornata del Data Gateway ed è supportata fino alla 6° precedente versione rilasciata.
  • Le Azure Logic App supportano operazioni di lettura e scrittura tramite il Data Gateway con le seguenti limitazioni:
    • Le operazioni di scrittura hanno un limite di payload di 2 MB.
    • Le operazioni di lettura hanno un limite di richiesta di 2 MB e un limite di risposta dei dati compressi di 8 MB.

Azure Logic App

A seguito dell’installazione e quindi della comunicazione tra i due Data Gateway risulterà possibile sfruttare i connettori disponibili all’interno della Azure Logic App.

Riportiamo i connettori disponibili e utilizzabili dalla Azure Logic App tramite Data Gateway:

  • BizTalk Server 2016
  • File System
  • IBM DB2
  • IBM Informix
  • IBM MQ
  • MySQL
  • Oracle Database
  • PostgreSQL
  • SAP
  • SharePoint Server
  • SQL Server
  • Teradata

Per quanto riguarda il connettore di tipo File System sarà ora possibile, sfruttando il parametro gateway, creare una connessione autenticata verso la “Root folder” nel datacenter locale ed elaborare il dato utilizzando tutte le logiche necessarie.

Figura 11 - Azure Logic App connettore File System
Figura 12 – Azure Logic App connettore File System

Riferimenti

Si riportano alcuni riferimenti utili:

Conclusioni

On-Premises Data Gateway risulta quindi essere l’integrazione ottimale, tra i due ambienti On-premise e Cloud, garantendo una comunicazione end-to-end sicura con l’utilizzo del protocollo di crittografia TLS 1.2. L’installazione e la configurazione, sia sul server locale che in ambiente Azure, risulta essere semplice e pressoché immediata. Gli unici aspetti fondamentali che occorre verificare, ancora prima di procedere con l’installazione, sono i pre-requisiti. In particolar modo la parte di rete per cui dovrà essere definito fin da subito in che modalità il data gateway comunicherà verso l’esterno (diretto o tramite proxy).