Endpoint privati ​​di Azure per fasi interne (2023)

Caratteristica fondamentale per l'azienda

Questa funzionalità richiede Business Critical (o superiore).

Se utilizzi Business Critical (o superiore) e desideri utilizzare questa funzionalità con il tuo account, contattaSupporto fiocco di nevee richiederlo per essere abilitato, come descritto in questo argomento.

Questo argomento fornisce concetti e istruzioni dettagliate per la connessione alle fasi interne di Snowflake tramite Microsoft Azure PrivateEndpoints.

Panoramica

Endpoint privati ​​di AzureECollegamento privato di Azurepossono essere combinati per fornire una connettività sicura alle fasi interne di Snowflake. Questa configurazione garantisce che le operazioni di caricamento e scaricamento dei dati nelle fasi interne di Snowflake utilizzino la rete interna di Azure e non avvengano tramite Internet pubblica.

Prima che Microsoft supportasse gli endpoint privati ​​per l'accesso alle fasi interne, era necessario creare una farm proxy all'interno della rete virtuale di Azure per facilitare l'accesso sicuro alle fasi interne di Snowflake. Con il supporto aggiuntivo degli endpoint privati ​​per le fasi interne di Snowflake, gli utenti e le applicazioni client possono ora accedere alle fasi interne di Snowflake sulla rete privata di Azure. Il diagramma seguente riassume questo nuovo supporto:

Notare quanto segue riguardo ai numeri inPRIMAdiagramma:

  • Gli utenti hanno due opzioni per connettersi a uno stage interno di Snowflake:

    • L'opzione A consente una connessione locale direttamente allo stage interno come indicato dal numero 1.

    • L'opzione B consente una connessione allo stadio interno tramite una proxy farm come indicato dai numeri 2 e 3.

  • Se si utilizza la proxy farm, gli utenti possono anche connettersi direttamente a Snowflake come indicato dal numero 4.

Notare quanto segue riguardo ai numeri inDOPOdiagramma:

  • Per chiarezza, il diagramma mostra un singolo endpoint privato da una rete virtuale di Azure che punta a una singola fase interna di Snowflake (6 e 7).

    Tieni presente che è possibile configurare più endpoint privati, ciascuno all'interno di una rete virtuale diversa, che puntano allo stesso stadio interno di Snowflake.

  • Gli aggiornamenti di questa funzionalità eliminano la necessità di connettersi a Snowflake o a una fase interna di Snowflake tramite una farm proxy.

  • Un utente locale può connettersi direttamente a Snowflake come mostrato al punto 5.

  • Per connettersi a una fase interna Snowflake, l'utente locale si connette a un endpoint privato, numero 6, quindi usa il collegamento privato di Azure per connettersi alla fase interna Snowflake come illustrato al numero 7.

In Azure ogni account Snowflake dispone di un account di archiviazione dedicato da utilizzare come fase interna. Gli URI dell'account di archiviazione sono diversi a seconda che la connessione all'account di archiviazione utilizzi la connettività privata (ad esempio il collegamento privato di Azure). L'URL di connettività privata include acollegamento privatosegmento nell'URL.

URI dell'account di archiviazione pubblico

.blob.core.windows.net

URI dell'account di archiviazione di connettività privata

.privatelink.blob.core.windows.net

Benefici

L'implementazione di endpoint privati ​​per accedere alle fasi interne di Snowflake offre i seguenti vantaggi:

  • I dati della fase interna non attraversano l'Internet pubblica.

  • Le applicazioni client e SaaS, come Microsoft PowerBI, eseguite all'esterno della rete virtuale di Azure possono connettersi a Snowflake in modo sicuro.

  • Agli amministratori non è richiesto di modificare le impostazioni del firewall per accedere ai dati della fase interna.

  • Gli amministratori possono implementare sicurezza e monitoraggio coerenti sul modo in cui gli utenti si connettono agli account di archiviazione.

Limitazioni

Un singolo endpoint privato può comunicare con un singolo endpoint del servizio Snowflake. Questa configurazione uno a uno è una limitazione di Microsoft Azure, non una limitazione di Snowflake. Tieni presente che puoi avere più configurazioni uno a uno che si connettono allo stesso stage interno di Snowflake.

Configurazione di endpoint privati ​​per accedere alle fasi interne di Snowflake

Per configurare gli endpoint privati ​​per accedere alle fasi interne di Snowflake, è necessario avere il supporto dei seguenti tre ruoli nella tua organizzazione:

  1. L'amministratore dell'account Snowflake (ovvero un utente con il ruolo di sistema Snowflake ACCOUNTADMIN).

  2. L'amministratore di Microsoft Azure.

  3. L'amministratore di rete.

A seconda dell'organizzazione, potrebbe essere necessario coordinare gli sforzi di configurazione con più di una persona o team per implementare i seguenti passaggi di configurazione.

Completare i passaggi seguenti per configurare e implementare l'accesso sicuro alle fasi interne di Snowflake tramite endpoint privati ​​di Azure:

  1. Verificare che la sottoscrizione di Azure sia registrata con il gestore risorse di archiviazione di Azure. Questo passaggio ti consente di connetterti alla fase interna da un endpoint privato.

  2. In qualità di amministratore dell'account Snowflake, esegui le seguenti istruzioni nel tuo account Snowflake e registraleID risorsadel conto di stoccaggio di scena interno definito dall'privatelink_internal_stagechiave. Per ulteriori informazioni, vedereENABLE_INTERNAL_STAGES_PRIVATELINKESYSTEM$GET_PRIVATELINK_CONFIG.

    utilizzo ruolo accountadmin;alterare account impostato ENABLE_INTERNAL_STAGES_PRIVATELINK = VERO;Selezionare chiave, valore da tavolo(appiattire(ingresso=>parse_json(system$get_privatelink_config())));

    copia

  3. In qualità di amministratore di Azure, crea un endpoint privato tramite il portale di Azure.

    Visualizza le proprietà dell'endpoint privato e registra il valore dell'ID della risorsa. Questo valore sarà ilprivateEndpointResourceIDvalore nel passaggio successivo.

    Verificare che ilSottorisorsa di destinazioneil valore è impostato sumacchia.

    Per ulteriori informazioni, vedere il collegamento privato di Microsoft Azuredocumentazione.

  4. In qualità di amministratore di Snowflake, chiama ilSYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESSfunzione utilizzando ilprivateEndpointResourceIDvalore come argomento della funzione. Questo passaggio autorizza l'accesso alla fase interna di Snowflake tramite l'endpoint privato.

    utilizzo ruolo accountadmin;Selezionare system$authorize_stage_privatelink_access('');

    copia

    Se necessario, completare questi passaggi perrevocareaccesso al palco interno.

  5. In qualità di amministratore di rete, aggiorna le impostazioni DNS per risolvere gli URL come segue:

    .blob.core.windows.netA.privatelink.blob.core.windows.net

    Quando si usa una zona DNS privata in una rete virtuale di Azure, creare il record alias per.privatelink.blob.core.windows.net.

    Per ulteriori informazioni, vedereConfigurazione DNS dell'endpoint privato di Azure.

    Mancia

    • Utilizza un account Snowflake separato per il test e configura una zona DNS privata in una rete virtuale di test per testare la funzionalità in modo che il test sia isolato e non influisca sugli altri carichi di lavoro.

    • Se non è possibile utilizzare un account Snowflake separato, utilizza un utente di prova per accedere a Snowflake da un VPC di prova in cui vengono apportate le modifiche DNS.

    • Per eseguire test dalle applicazioni locali, usare l'inoltro DNS per inoltrare le richieste al DNS privato di Azure nella rete virtuale in cui vengono effettuate le impostazioni DNS. Eseguire il comando seguente dal computer client per verificare che l'indirizzo IP restituito sia l'indirizzo IP privato per l'account di archiviazione:

      dig .blob.core.windows.net

      copia

Blocco dell'accesso pubblico (facoltativo)

Dopo aver configurato gli endpoint privati ​​per accedere alla fase interna tramite il collegamento privato di Azure, è possibile facoltativamente bloccare le richieste provenienti da indirizzi IP pubblici alla fase interna. Una volta bloccato l'accesso pubblico, tutto il traffico deve passare attraverso l'endpoint privato.

Il controllo dell'accesso pubblico a una fase interna di Azure è diverso dal controllo dell'accesso pubblico al servizio Snowflake. Usi ilSYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESSfunzione, non una politica di rete, per bloccare le richieste allo stadio interno. A differenza delle policy di rete, questa funzione non può bloccare alcuni indirizzi IP pubblici consentendone altri. Quando chiami SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS,Tuttogli indirizzi IP pubblici sono bloccati.

Importante

Confermare che il traffico tramite connettività privata raggiunga correttamente la fase internaPrimabloccando l'accesso del pubblico. Il blocco dell'accesso pubblico senza configurare la connettività privata può causare interruzioni involontarie, inclusa l'interferenza con servizi gestiti come Azure Data Factory.

La funzione SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS applica le sue restrizioni alterando ilReteimpostazioni dell'account di archiviazione di Azure in cui si trova la fase interna. Queste impostazioni di Azure vengono comunemente definite "impostazioni del firewall dell'account di archiviazione". L'esecuzione della funzione Snowflake esegue le operazioni seguenti in Azure:

  • Imposta ilAccesso alla rete pubblicacampo aAbilitato da reti virtuali e indirizzi IP selezionati.

  • Aggiunge gli ID subnet VNet Snowflake al fileReti virtualisezione.

  • Cancella tutti gli indirizzi IP daFirewallsezione.

Per bloccare tutto il traffico dagli indirizzi IP pubblici alla fase interna, eseguire:

SELEZIONARE SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS();

copia

La funzione può richiedere alcuni minuti per completare l'esecuzione.

Garantire che l'accesso pubblico sia bloccato

È possibile determinare se gli indirizzi IP pubblici sono in grado di accedere a una fase interna eseguendo il comandoSYSTEM$INTERNAL_STAGES_PUBLIC_ACCESS_STATUSfunzione.

Se le impostazioni di Azure stanno attualmente bloccando tutto il traffico pubblico, la funzione ritornaPubblico Accesso A interno fasi È bloccato.Ciò verifica che le impostazioni non siano state modificate da quando è stata eseguita la funzione SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS.

Se almeno alcuni indirizzi IP pubblici possono accedere alla fase interna, la funzione ritornaPubblico Accesso A interno fasi È sbloccato.

Sblocco dell'accesso pubblico

Puoi eseguire ilSYSTEM$UNBLOCK_INTERNAL_STAGES_PUBLIC_ACCESSfunzione per consentire l'accesso del pubblico ad un palco interno precedentemente bloccato.

L'esecuzione della funzione altera il fileReteimpostazioni dell'account di archiviazione di Azure in cui si trova la fase interna. Imposta l'AzureAccesso alla rete pubblicacampo aAbilitato da tutte le reti.

Revoca degli endpoint privati ​​per accedere alle fasi interne di Snowflake

Completare i seguenti passaggi per revocare l'accesso alle fasi interne di Snowflake tramite Microsoft Azure Private Endpoints:

  1. In qualità di amministratore di Snowflake, imposta il fileENABLE_INTERNAL_STAGES_PRIVATELINKparametro aFALSOe chiama ilSYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESSfunzione per revocare l'accesso all'Endpoint Privato, utilizzando la stessaprivateEndpointResourceIDvalore utilizzato originariamente per autorizzare l'accesso all'endpoint privato.

    utilizzo ruolo accountadmin;alterare account impostato abilita_internal_stages_privatelink = falso;Selezionare system$revoke_stage_privatelink_access('');

    copia

  2. In qualità di amministratore di Azure, eliminare l'endpoint privato tramite il portale di Azure.

  3. In qualità di amministratore di rete, rimuovere i record DNS e alias usati per risolvere gli URL degli account di archiviazione.

A questo punto, l'accesso all'endpoint privato è ora revocato e il risultato della query dalla chiamata al fileSYSTEM$GET_PRIVATELINK_CONFIGla funzione non dovrebbe restituire il fileprivatelink_internal_stagechiave e il suo valore.

Risoluzione dei problemi

Le applicazioni di Azure che accedono alle fasi Snowflake tramite Internet pubblica e usano anche un servizio DNS privato per risolvere i nomi host del servizio non possono accedere alle fasi Snowflake se viene stabilita una connessione endpoint privato alla fase come descritto in questo argomento.

Una volta creata una connessione all'endpoint privato, Microsoft Azure crea automaticamente un record CNAME nel servizio DNS pubblico che indirizza l'host dell'account di archiviazione alla controparte del collegamento privato di Azure (ad esempio.privatelink.blob.core.windows.net). Se un'applicazione ha configurato un'area DNS privata per lo stesso dominio, Microsoft Azure tenta di risolvere l'host dell'account di archiviazione eseguendo una query sul servizio DNS privato. Se la voce per l'account di archiviazione non viene trovata nel servizio DNS privato, si verifica un errore di connessione.

Esistono due opzioni per risolvere questo problema:

  1. Rimuovere o dissociare la regione DNS privata dall'applicazione.

  2. Creare un record CNAME per il nome host privato dell'account di archiviazione (ad esempio.privatelink.blob.core.windows.net) nel servizio DNS privato e puntarlo al nome host specificato dall'output di questo comando:

    dig CNAME .privatelink.blob.core.windows.net

    copia

References

Top Articles
Latest Posts
Article information

Author: Tyson Zemlak

Last Updated: 11/01/2023

Views: 6165

Rating: 4.2 / 5 (63 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Tyson Zemlak

Birthday: 1992-03-17

Address: Apt. 662 96191 Quigley Dam, Kubview, MA 42013

Phone: +441678032891

Job: Community-Services Orchestrator

Hobby: Coffee roasting, Calligraphy, Metalworking, Fashion, Vehicle restoration, Shopping, Photography

Introduction: My name is Tyson Zemlak, I am a excited, light, sparkling, super, open, fair, magnificent person who loves writing and wants to share my knowledge and understanding with you.