Condividi tramite


Gestione dei criteri di rete per il controllo in uscita serverless

Importante

Questa funzionalità è disponibile in anteprima pubblica.

Questo documento illustra come configurare e gestire i criteri di rete per controllare le connessioni di rete in uscita dai carichi di lavoro serverless in Azure Databricks.

Le autorizzazioni per la gestione dei criteri di rete sono limitate all'amministratore dell'account. Vedere Introduzione all'amministrazione di Azure Databricks.

Accesso alle politiche di rete

Per creare, visualizzare e aggiornare i criteri di rete nell'account:

  1. Nella console dell'account fare clic su Risorse cloud.
  2. Fare clic sulla scheda Rete .

elenco dei criteri di rete.

Creare un nuovo criterio di rete

  1. Fare clic su Crea nuovi criteri di rete.

  2. Scegliere una modalità di accesso alla rete:

    • Accesso completo: accesso a Internet in uscita senza restrizioni. Se si sceglie Accesso completo, l'accesso a Internet in uscita rimane senza restrizioni.
    • accesso limitato: l'accesso in uscita è limitato alle destinazioni specificate. Per altre informazioni, vedere Panoramica dei criteri di rete.

    dettagli dei criteri di rete.

Configurare i criteri di rete

I passaggi seguenti descrivono le impostazioni facoltative per la modalità di accesso limitato.

Regole di uscita

Le destinazioni configurate tramite posizioni o connessioni del Catalogo Unity sono consentite automaticamente dalla policy.

  1. Per concedere all'ambiente di calcolo serverless l'accesso a domini aggiuntivi, fare clic su Aggiungi destinazione sopra l'elenco Domini consentiti.

    Aggiungi destinazione Internet.

    Il filtro FQDN consente l'accesso a tutti i domini che condividono lo stesso indirizzo IP. Il servizio del modello effettuato attraverso gli endpoint impedisce l'accesso a Internet quando l'accesso alla rete è impostato su "ristretto". Tuttavia, il controllo granulare con filtro FQDN non è supportato.

  2. Per consentire all'area di lavoro di accedere ad account di archiviazione di Azure aggiuntivi, fare clic sul pulsante Aggiungi destinazione sopra l'elenco Account di archiviazione consentiti.

    Aggiungi destinazione di archiviazione.

    Nota

    Il numero massimo di destinazioni supportate è 2000. Sono incluse posizioni e connessioni del Catalogo Unity accessibili dall'area di lavoro; nonché le destinazioni aggiunte in modo esplicito nella politica.

Applicazione dei criteri

La modalità di sola registrazione consente di testare la configurazione dei criteri e monitorare le connessioni in uscita senza interrompere l'accesso alle risorse. Quando la modalità di sola registrazione è abilitata, le richieste che violano i criteri vengono registrate ma non bloccate. È possibile selezionare una delle opzioni seguenti:

  1. Databricks SQL: i magazzini Databricks SQL operano in modalità solo log.

  2. modello di intelligenza artificiale che gestisce: il modello che gestisce gli endpoint funziona in modalità di sola registrazione.

  3. Tutti i prodotti: tutti i servizi di Azure Databricks funzionano in modalità di sola registrazione, ignorando tutte le altre selezioni.

    Aggiungi destinazione di archiviazione.

Aggiornare i criteri predefiniti

Ogni account Azure Databricks include una politica predefinita . Il criterio predefinito è associato a tutte le aree di lavoro senza una specifica assegnazione di criteri di rete, incluse le aree di lavoro appena create. È possibile modificare questo criterio, ma non può essere eliminato. I criteri predefiniti vengono applicati solo alle aree di lavoro con almeno un piano Premium.

Associare criteri di rete alle aree di lavoro

Se i criteri predefiniti sono stati aggiornati con configurazioni aggiuntive, questi vengono applicati automaticamente alle aree di lavoro che non dispongono di criteri di rete esistenti. L'area di lavoro dovrà essere nella modalità Premium.

Per associare l'area di lavoro a un criterio diverso, eseguire le operazioni seguenti:

  1. Selezionare un'area di lavoro.
  2. In Criteri di rete, fare clic su Aggiorna i criteri di rete.
  3. Selezionare i criteri di rete desiderati dall'elenco.

Aggiornare i criteri di rete.

Applicare le modifiche ai criteri di rete

La maggior parte degli aggiornamenti della configurazione di rete si propaga automaticamente al calcolo serverless entro dieci minuti. Valuta gli ambiti seguenti:

  • Aggiunta di una nuova connessione o posizione esterna del catalogo Unity.
  • Collegamento dell'area di lavoro a un metastore diverso.
  • Modifica delle destinazioni di archiviazione o Internet consentite.

Nota

È necessario riavviare il calcolo se si modifica l'impostazione della modalità di accesso a Internet o di sola registrazione.

Riavviare o ridistribuire carichi di lavoro serverless

È necessario aggiornare solo quando si passa alla modalità di accesso a Internet o quando si aggiorna la modalità di sola registrazione.

Per determinare la procedura di riavvio appropriata, fare riferimento all'elenco seguente in base al prodotto:

  • Databricks ML Serving: ridistribuire l'endpoint di gestione di ML. Vedere Creare endpoint personalizzati per la gestione di modelli
  • Delta Live Tables: arrestare e quindi riavviare la pipeline di tabelle live Delta in esecuzione. Consulta Esegui un aggiornamento sulla pipeline di Delta Live Tables.
  • Serverless SQL Warehouse: per arrestare e riavviare il Serverless SQL Warehouse. Si veda Gestire un'istanza di SQL Warehouse.
  • Flussi di lavoro: le modifiche ai criteri di rete vengono applicate automaticamente quando viene attivata una nuova esecuzione del processo o viene riavviata un'esecuzione di processo esistente.
  • Notebook:
    • Se il notebook non interagisce con Spark, è possibile terminare e collegare un nuovo cluster serverless per aggiornare la configurazione di rete applicata al notebook.
    • Quando il notebook interagisce con Spark, la risorsa serverless aggiorna e rileva automaticamente la modifica. Il passaggio della modalità di accesso e della modalità di sola registrazione può richiedere fino a 24 ore e l'applicazione di altre modifiche può richiedere fino a 10 minuti.

Verificare l'applicazione dei criteri di rete

È possibile verificare che i criteri di rete siano applicati correttamente tentando di accedere a risorse limitate da carichi di lavoro serverless diversi. Il processo di convalida varia a seconda del prodotto serverless.

Validare con Delta Live Tables

  1. Creare un notebook Python. È possibile usare il notebook di esempio fornito nel tutorial di python su Wikipedia Delta Live Tables.
  2. Creare una pipeline di Tabelle Delta Live:
    1. Fare clic su Pipelines, in Data Engineering, nella barra laterale dell'area di lavoro.
    2. Fare clic su Crea pipeline.
    3. Configurare la pipeline con le impostazioni seguenti:
      • Modalità pipeline: serverless
      • Codice Sorgente: Seleziona il notebook creato.
      • Opzioni di archiviazione: catalogo Unity. Selezionare il catalogo e lo schema desiderati.
    4. Cliccare su Crea.
  3. Esegui la pipeline Delta Live Tables.
  4. Nella pagina della pipeline fare clic su Avvia.
  5. Attendere il completamento della pipeline.
  6. Verificare i risultati
    • Destinazione attendibile: la pipeline deve essere eseguita correttamente e scrivere dati nella destinazione.
    • Destinazione non attendibile: la pipeline deve avere esito negativo con errori che indicano che l'accesso alla rete è bloccato.

Convalidare con Databricks SQL

  1. Creare un'istanza di SQL Warehouse. Per istruzioni, vedere Creare un'istanza di SQL Warehouse.
  2. Esegui una query di prova nell'editor SQL che cerca di accedere a una risorsa controllata dalle politiche di rete.
  3. Verificare i risultati:
    • Destinazione attendibile: la query dovrebbe avere esito positivo.
    • Destinazione non attendibile: la query deve avere esito negativo con un errore di accesso alla rete.

Convalidare con la gestione del modello

  1. Creare un modello di test

    1. In un notebook Python creare un modello che tenta di accedere a una risorsa Internet pubblica, ad esempio il download di un file o l'esecuzione di una richiesta API.
    2. Eseguire questo notebook per generare un modello nell'area di lavoro di test. Ad esempio:
    
    import mlflow
    import mlflow.pyfunc
    import mlflow.sklearn
    import requests
    
    class DummyModel(mlflow.pyfunc.PythonModel):
        def load_context(self, context):
            pass
    
        def predict(self, _, model_input):
            first_row = model_input.iloc[0]
            try:
                response = requests.get(first_row['host'])
            except requests.exceptions.RequestException as e:
                # Return the error details as text
                return f"Error: An error occurred - {e}"
            return [response.status_code]
    
    with mlflow.start_run(run_name='internet-access-model'):
        wrappedModel = DummyModel()
    
        mlflow.pyfunc.log_model(artifact_path="internet_access_ml_model", python_model=wrappedModel, registered_model_name="internet-http-access")
    
  2. Creare un endpoint di gestione

    1. Nella navigazione dell'area di lavoro, selezionare Machine Learning.
    2. Fare clic sulla scheda Serve .
    3. Fare clic su Crea endpoint di gestione.
    4. Configurare l'endpoint con le impostazioni seguenti:
      • Nome endpoint di gestione: specificare un nome descrittivo.
      • Dettagli Entità: Selezionare Modello di Registro Modelli.
      • Modello: scegliere il modello creato nel passaggio precedente.
    5. Cliccare Conferma.
    6. Attendere che l'endpoint di servizio raggiunga lo stato Pronto .
  3. Eseguire una query sull'endpoint.

    1. Usare l'opzione Endpoint query all'interno della pagina dell'endpoint di gestione per inviare una richiesta di test.
    {"dataframe_records": [{"host": "https://www.google.com"}]}
    
  4. Verificare il risultato:

    • Accesso a Internet abilitato: la query dovrebbe avere esito positivo.
    • Accesso a Internet limitato: la query non riesce con un errore di accesso alla rete.

Aggiornare i criteri di rete

È possibile aggiornare i criteri di rete in qualsiasi momento dopo la creazione. Per aggiornare i criteri di rete:

  1. Nella pagina dei dettagli dei criteri di rete nella console degli account, modificare i criteri:
    • Modificare la modalità di accesso alla rete.
    • Abilitare o disabilitare la modalità di sola registrazione per servizi specifici.
    • Aggiungere o rimuovere FQDN o destinazioni di archiviazione.
  2. Fare clic su Aggiorna.
  3. Fare riferimento a Applicare le modifiche ai criteri di rete per verificare che gli aggiornamenti vengano applicati ai carichi di lavoro esistenti.

Controllare i log di rifiuto

I log di negazione vengono archiviati nella tabella system.access.outbound_network di Unity Catalog. Questi log tengono traccia della negazione delle richieste di rete in uscita. Per accedere ai log di rifiuto, assicurati che lo schema di accesso sia abilitato nel metastore di Unity Catalog. Vedere Abilitare gli schemi di tabella di sistema.

Usare una query SQL come quella seguente per visualizzare gli eventi Denial. Se i log di sola registrazione sono abilitati, la query restituisce sia i log di negazione che i log di sola registrazione, che è possibile distinguere usando la colonna access_type. I log di negazione hanno un valore DROP, mentre i log solo per registrazione mostrano LOG_ONLY_DENIAL.

L'esempio seguente recupera i log dalle ultime 2 ore:


select * from system.access.outbound_network
where event_time >= current_timestamp() - interval 2 hour
sort by event_time desc

Le negazioni non vengono registrate nella tabella del sistema di uscita della rete quando ci si connette a modelli di intelligenza artificiale generativi esterni tramite il gateway di intelligenza artificiale Mosaic. Vedere Mosaic AI Gateway.

Nota

Potrebbe verificarsi una latenza tra il tempo di accesso e il momento in cui vengono visualizzati i log denial.

Limitazioni

  • Configurazione: questa funzionalità è configurabile solo tramite la console dell'account. Il supporto api non è ancora disponibile.

  • dimensioni di caricamento dell'artefatto: quando si usa il file system di Databricks interno di MLflow con il formato dbfs:/databricks/mlflow-tracking/<experiment_id>/<run_id>/artifacts/<artifactPath>, i caricamenti degli artefatti sono limitati a 5 GB per log_artifact, log_artifactse api di log_model.

  • Connessioni del Catalogo Unity supportate: Sono supportati i seguenti tipi di connessione: MySQL, PostgreSQL, Snowflake, Redshift, Azure Synapse, SQL Server, Salesforce, BigQuery, Netsuite, Workday RaaS, Hive MetaStore e Salesforce Data Cloud.

  • servizio del modello: il controllo in uscita non si applica durante la creazione di immagini per il servizio del modello.

  • Accesso ad Archiviazione di Azure: è supportato solo il driver Azure Blob Filesystem per Azure Data Lake Storage. L'accesso con il driver di Archiviazione BLOB di Azure o il driver WASB non è supportato.