Hantera nätverksprinciper för serverlös utgående kontroll
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Det här dokumentet beskriver hur du konfigurerar och hanterar nätverksprinciper för att styra utgående nätverksanslutningar från dina serverlösa arbetsbelastningar i Azure Databricks.
Behörigheter för att hantera nätverksprinciper är begränsade till kontoadministratör. Se Introduktion till Azure Databricks-administration.
Åtkomst till nätverksprinciper
Skapa, visa och uppdatera nätverksprinciper i ditt konto:
Skapa en ny nätverksprincip
Klicka på Skapa ny nätverksprincip.
Välj ett nätverksåtkomstläge:
- Fullständig åtkomst: Obegränsad utgående internetåtkomst. Om du väljer Fullständig åtkomst förblir utgående Internetåtkomst obegränsad.
- Begränsad åtkomst: Utgående åtkomst är begränsad till angivna mål. Mer information finns i Översikt över nätverksprincip.
Konfigurera nätverksprinciper
Följande steg beskriver valfria inställningar för begränsat åtkomstläge.
Utträdesregler
Mål som konfigureras via Unity Catalog-platser eller anslutningar tillåts automatiskt av policyn.
Om du vill ge din serverlösa beräkningsåtkomst till ytterligare domäner klickar du på Lägg till mål ovanför listan Tillåtna domäner.
FQDN-filtret ger åtkomst till alla domäner som delar samma IP-adress. Modelltjänster som distribueras över slutpunkter förhindrar internetåtkomst när nätverksåtkomsten är inställd på begränsad. Detaljerad kontroll med FQDN-filtrering stöds dock inte.
Om du vill tillåta att arbetsytan får åtkomst till ytterligare Azure-lagringskonton klickar du på knappen Lägg till mål ovanför listan Tillåtna lagringskonton.
Kommentar
Det maximala antalet mål som stöds är 2 000. Detta omfattar alla Unity Catalog-platser och anslutningar som är tillgängliga från arbetsytan samt de destinationer som uttryckligen har lagts till i policyn.
Policyefterlevnad
Med loggläge kan du testa din principkonfiguration och övervaka utgående anslutningar utan att störa åtkomsten till resurser. När endast loggläge är aktiverat loggas begäranden som bryter mot principen men blockeras inte. Du kan välja mellan följande alternativ:
Databricks SQL: Databricks SQL-datamagasiner fungerar i endast loggläge.
AI-modell som betjänar: Modell som betjänar slutpunkter fungerar i loggläge.
Alla produkter: Alla Azure Databricks-tjänster fungerar i loggläge och åsidosätter alla andra val.
Uppdatera standardprincipen
Varje Azure Databricks-konto innehåller en standardprincip. Den standardprincipen är associerad med alla arbetsytor utan explicit tilldelning av nätverksprinciper, inklusive nyligen skapade arbetsytor. Du kan ändra den här principen, men den kan inte tas bort. Standardprinciper tillämpas endast på arbetsytor med minst Premium.
Associera en nätverksprincip med arbetsytor
Om du har uppdaterat standardprincipen med ytterligare konfigurationer tillämpas de automatiskt på arbetsytor som inte har någon befintlig nätverksprincip. Din arbetsyta måste vara i Premium-läget.
Om du vill associera din arbetsyta med en annan princip gör du följande:
- Välj en arbetsyta.
- I Nätverksprincipklickar du på Uppdatera nätverksprincip.
- Välj önskad nätverksprincip i listan.
Tillämpa ändringar i nätverksprinciper
De flesta uppdateringar av nätverkskonfigurationen sprids automatiskt till din serverlösa beräkning inom tio minuter. Detta omfattar:
- Lägga till en ny extern plats eller anslutning för Unity Catalog.
- Koppla din arbetsyta till ett annat metaarkiv.
- Ändra tillåtna lagrings- eller Internetmål.
Kommentar
Du måste starta om beräkningen om du ändrar inställningen för internetåtkomst eller endast loggläge.
Starta om eller distribuera om serverlösa arbetsbelastningar
Du behöver bara uppdatera när du växlar internetåtkomstläge eller när du uppdaterar loggläge.
Information om hur du fastställer lämplig omstartsprocedur finns i följande lista efter produkt:
- Databricks ML-servering: Distribuera om ml-serverdelsslutpunkten. Se Skapa anpassade modell som betjänar slutpunkter
- Delta Live Tables: Stoppa och starta sedan om din delta live-tabellpipeline. Se Köra en uppdatering på en Delta Live Tables-pipeline.
- Serverless SQL Warehouse: Stoppa och starta om SQL-lagret. Se Hantera ett SQL-lager.
- Arbetsflöden: Ändringar i nätverksprinciper tillämpas automatiskt när en ny jobbkörning utlöses eller en befintlig jobbkörning startas om.
-
Anteckningsböcker:
- Om notebook-filen inte interagerar med Spark kan du avsluta och ansluta ett nytt serverlöst kluster för att uppdatera nätverkskonfigurationen som tillämpas på notebook-filen.
- Om din notebook interagerar med Spark, uppdateras den serverlösa resursen och detekterar ändringen automatiskt. Det kan ta upp till 24 timmar att växla åtkomstläge och loggläge och andra ändringar kan ta upp till 10 minuter att tillämpa.
Verifiera tvingande nätverksprincip
Du kan kontrollera att din nätverksprincip tillämpas korrekt genom att försöka komma åt begränsade resurser från olika serverlösa arbetsbelastningar. Valideringsprocessen varierar beroende på den serverlösa produkten.
Verifiera med Delta Live Tables
- Skapa en Python-anteckningsbok. Du kan använda den notebook-exempelanteckningsbok som finns i självstudien Delta Live Tables wikipedia python.
- Skapa en Delta Live Tables-pipeline:
- Klicka på Pipelinesunder Data Engineeringi arbetsområdets sidofält.
- Klicka på Skapa pipeline.
- Konfigurera pipelinen med följande inställningar:
- Pipelineläge: Serverlöst
- Källkod: Välj den notebook-fil som du skapade.
- Lagringsalternativ: Unity Catalog. Välj önskad katalog och ditt schema.
- Klicka på Skapa.
- Kör Delta Live Tables pipeline.
- På pipelinesidan klickar du på Start.
- Vänta tills pipelinen har slutförts.
- Verifiera resultatet
- Betrott mål: Pipelinen ska köras och skriva data till målet.
- Ej betrott mål: Pipelinen bör misslyckas med fel som anger att nätverksåtkomsten är blockerad.
Verifiera med Databricks SQL
- Skapa ett SQL Warehouse. Anvisningar finns i Skapa ett SQL-lager.
- Kör en testfråga i SQL-redigeraren som försöker komma åt en resurs som styrs av din nätverksprincip.
- Kontrollera resultatet:
- Betrott mål: Frågan ska lyckas.
- Ej betrott mål: Frågan bör misslyckas med ett nätverksåtkomstfel.
Verifiera med modellservering
Skapa en testmodell
- I en Python-notebook-fil skapar du en modell som försöker komma åt en offentlig Internetresurs, som att ladda ned en fil eller göra en API-begäran.
- Kör den här notebook-filen för att generera en modell på testarbetsytan. Till exempel:
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")
Skapa en serverslutpunkt
- I navigeringen på arbetsytan väljer du Machine Learning.
- Klicka på fliken Servering .
- Klicka på Skapa serverdelsslutpunkt.
- Konfigurera slutpunkten med följande inställningar:
- Serverdelsnamn: Ange ett beskrivande namn.
- Entitetsinformation: Välj Modellregistermodell.
- Modell: Välj den modell som du skapade i föregående steg.
- Klicka på Bekräfta.
- Vänta tills serverdelsslutpunkten har statusen Klar .
Fråga slutpunkten.
- Använd alternativet Frågeslutpunkt på sidan serverdelsslutpunkt för att skicka en testbegäran.
{"dataframe_records": [{"host": "https://www.google.com"}]}
Kontrollera resultatet:
- Internetåtkomst aktiverad: Frågan ska lyckas.
- Begränsad Internetåtkomst: Frågan bör misslyckas med ett nätverksåtkomstfel.
Uppdatera en nätverksprincip
Du kan uppdatera en nätverksprincip när som helst när den har skapats. Så här uppdaterar du en nätverksprincip:
- På informationssidan för nätverkspolicyn i kontokonsolen, ändra policyn:
- Ändra nätverksåtkomstläget.
- Aktivera eller inaktivera loggläge för specifika tjänster.
- Lägg till eller ta bort FQDN- eller lagringsmål.
- Klicka på Uppdatera.
- Se Tillämpa ändringar i nätverksprinciper för att kontrollera att uppdateringarna tillämpas på befintliga arbetsbelastningar.
Kontrollera överbelastningsloggar
Överbelastningsloggar lagras i system.access.outbound_network
tabellen i Unity Catalog. Dessa loggar spårar när utgående nätverksbegäranden nekas. Se till att åtkomstschemat är aktiverat i ditt Unity Catalog-metaarkiv för att få åtkomst till denial-loggar. Se Aktivera systemtabellscheman.
Använd en SQL-fråga som den nedan för att visa överbelastningshändelser. Om loggloggar är aktiverade returnerar frågan både överbelastningsloggar och loggloggar, vilket du kan skilja från med kolumnen access_type
. Överbelastningsloggar har ett DROP- värde, medan loggar med endast loggfiler visar LOG_ONLY_DENIAL.
I följande exempel hämtas loggar från de senaste 2 timmarna:
select * from system.access.outbound_network
where event_time >= current_timestamp() - interval 2 hour
sort by event_time desc
Nekningar loggas inte i den utgående nätverkssystemtabellen när man ansluter till externa generativa AI-modeller med hjälp av Mosaic AI Gateway. Se Mosaic AI Gateway.
Kommentar
Det kan finnas viss fördröjning mellan åtkomsttiden och när överbelastningsloggarna visas.
Begränsningar
Configuration: Den här funktionen kan bara konfigureras via kontokonsolen. API-stöd är ännu inte tillgängligt.
Artefaktuppladdningsstorlek: När du använder MLflows interna Databricks-filsystem med
dbfs:/databricks/mlflow-tracking/<experiment_id>/<run_id>/artifacts/<artifactPath>
format är artefaktuppladdningar begränsade till 5 GB förlog_artifact
,log_artifacts
ochlog_model
API:er.Unity Catalog-anslutningar som stöds: Följande anslutningstyper stöds: MySQL, PostgreSQL, Snowflake, Redshift, Azure Synapse, SQL Server, Salesforce, BigQuery, Netsuite, Workday RaaS, Hive MetaStore och Salesforce Data Cloud.
Modelltjänst: Egresskontroll gäller inte när du skapar avbildningar för modelltjänst.
Azure Storage-åtkomst: Endast Azure Blob Filesystem-drivrutinen för Azure Data Lake Storage stöds. Åtkomst med Azure Blob Storage-drivrutinen eller WASB-drivrutinen stöds inte.