Netwerkbeleid beheren voor serverloos uitgaand verkeer
Belangrijk
Deze functie is beschikbaar als openbare preview.
In dit document wordt uitgelegd hoe u netwerkbeleid configureert en beheert om uitgaande netwerkverbindingen van uw serverloze workloads in Azure Databricks te beheren.
Machtigingen voor het beheren van netwerkbeleid zijn beperkt tot accountbeheerder. Zie de inleiding tot Azure Databricks-beheer.
Toegang tot netwerkbeleid
Netwerkbeleid in uw account maken, weergeven en bijwerken:
- Klik in de accountconsole op Cloudresources.
- Klik op het tabblad Netwerk .
Een nieuw netwerkbeleid maken
Klik op Nieuw netwerkbeleid maken.
Kies een netwerktoegangsmodus:
- volledige toegang: onbeperkte uitgaande internettoegang. Als u Volledige toegang kiest, blijft uitgaande internettoegang onbeperkt.
- beperkte toegang: uitgaande toegang is beperkt tot opgegeven bestemmingen. Zie het overzicht van netwerkbeleid voor meer informatie.
Netwerkbeleid configureren
In de volgende stappen worden optionele instellingen voor de modus voor beperkte toegang beschreven.
Regels voor uitgaand verkeer
Bestemmingen die zijn geconfigureerd via Unity Catalog-locaties of -verbindingen, worden automatisch toegestaan door het beleid.
Als u uw serverloze rekenkracht toegang wilt verlenen tot extra domeinen, klikt u op Doel toevoegen boven de lijst Toegestane domeinen.
Het FQDN-filter biedt toegang tot alle domeinen die hetzelfde IP-adres delen. Het leveren van modellen via geconfigureerde eindpunten voorkomt internettoegang wanneer netwerktoegang is ingesteld op beperkt. Gedetailleerde controle met FQDN-filtering wordt echter niet ondersteund.
Als u uw werkruimte toegang wilt geven tot extra Azure-opslagaccounts, klikt u op de knop Doel toevoegen boven de Toegestane opslagaccounts lijst.
Notitie
Het maximum aantal ondersteunde bestemmingen is 2000. Dit omvat alle Unity Catalog-locaties en -verbindingen die toegankelijk zijn vanuit de werkruimte en bestemmingen die expliciet zijn toegevoegd aan het beleid.
Afdwingen van beleid
Met de modus Alleen-logboek kunt u uw beleidsconfiguratie testen en uitgaande verbindingen bewaken zonder de toegang tot resources te verstoren. Wanneer de modus Alleen-logboek is ingeschakeld, worden aanvragen die in strijd zijn met het beleid geregistreerd, maar niet geblokkeerd. U kunt uit de volgende opties selecteren:
Databricks SQL: Databricks SQL warehouses werken in de alleen-logmodus.
AI-modelbediening: modelserving-eindpunten werken uitsluitend in log-only modus.
Alle producten: alle Azure Databricks-services werken in de alleen-logmodus, waarbij alle andere selecties worden genegeerd.
Het standaardbeleid bijwerken
Elk Azure Databricks-account bevat een standaardbeleid. Het standaardbeleid is gekoppeld aan alle werkruimten zonder expliciete toewijzing van netwerkbeleid, inclusief zojuist gemaakte werkruimten. U kunt dit beleid wijzigen, maar het kan niet worden verwijderd. Standaardbeleidsregels worden alleen toegepast op werkruimten met ten minste Premium.
Een netwerkbeleid koppelen aan werkruimten
Als u uw standaardbeleid hebt bijgewerkt met aanvullende configuraties, worden deze automatisch toegepast op werkruimten die geen bestaand netwerkbeleid hebben. Uw werkruimte moet zich in Premium bevinden.
Ga als volgt te werk om uw werkruimte te koppelen aan een ander beleid:
- Selecteer een werkruimte.
- Klik in Netwerkbeleidop Netwerkbeleid bijwerken.
- Selecteer het gewenste netwerkbeleid in de lijst.
Wijzigingen in netwerkbeleid toepassen
De meeste netwerkconfiguratie-updates worden binnen tien minuten automatisch doorgegeven aan uw serverloze berekening. Dit zijn onder andere de nieuwe mogelijkheden:
- Een nieuwe externe locatie of verbinding voor Unity Catalog toevoegen.
- Uw werkruimte koppelen aan een andere metastore.
- De toegestane opslag- of internetbestemmingen wijzigen.
Notitie
U moet de berekening opnieuw starten als u de instelling voor internettoegang of alleen-logboekmodus wijzigt.
Serverloze workloads opnieuw starten of opnieuw implementeren
U hoeft alleen bij te werken bij het schakelen tussen de modus voor internettoegang of bij het bijwerken van de modus alleen-logboeken.
Raadpleeg de volgende lijst per product om de juiste procedure voor opnieuw opstarten te bepalen:
- Databricks ML-server: implementeer uw ML-servereindpunt opnieuw. Zie Aangepaste modellen maken voor eindpunten
- Delta Live Tables: Stop en start de actieve Delta Live Tables-pijplijn opnieuw op. Zie Een update uitvoeren voor een Delta Live Tables-pijplijn.
- serverloze SQL Warehouse-: stop en start het SQL-warehouse opnieuw. Zie Een SQL-warehouse beheren.
- Werkstromen: wijzigingen in het netwerkbeleid worden automatisch toegepast wanneer een nieuwe taakuitvoering wordt geactiveerd of een bestaande taakuitvoering opnieuw wordt gestart.
-
Notebooks:
- Als uw notebook niet communiceert met Spark, kunt u een nieuw serverloos cluster beƫindigen en koppelen om uw netwerkconfiguratie te vernieuwen die is toegepast op uw notebook.
- Als uw notebook communiceert met Spark, wordt de serverloze resource vernieuwd en wordt de wijziging automatisch gedetecteerd. Het kan tot 24 uur duren voordat de toegangsmodus en logboekalleen modus worden toegepast. Het kan maximaal tien minuten duren voordat andere wijzigingen zijn doorgevoerd.
Afdwingen van netwerkbeleid controleren
U kunt controleren of uw netwerkbeleid correct wordt afgedwongen door toegang te krijgen tot beperkte resources van verschillende serverloze workloads. Het validatieproces varieert afhankelijk van het serverloze product.
Valideren met Delta Live Tables
- Maak een Python-notebook. U kunt het voorbeeldnotitieblok gebruiken dat is opgegeven in de Wikipedia Python-zelfstudie over Delta Live Tables.
- Een Delta Live Tables-pijplijn maken:
- Klik op Pijplijnen, onder Data Engineering, in de zijbalk van de werkruimte.
- Klik op Pijplijn maken.
- Configureer de pijplijn met de volgende instellingen:
- Pijplijnmodus: serverloos
- Broncode: selecteer het notitieblok dat u hebt gemaakt.
- Opslagopties: Unity Catalog. Selecteer de gewenste catalogus en het gewenste schema.
- Klik op Create.
- Voer de Delta Live Tables-pijplijn uit.
- Klik op de pagina Pijplijn op Start.
- Wacht tot de pijplijn is voltooid.
- De resultaten controleren
- Vertrouwde bestemming: de pijplijn moet correct worden uitgevoerd en gegevens naar de bestemming worden geschreven.
- Niet-vertrouwde bestemming: de pijplijn moet mislukken met fouten die aangeven dat netwerktoegang is geblokkeerd.
Valideren met Databricks SQL
- Maak een SQL Warehouse. Zie Een SQL-warehouse maken voor instructies.
- Voer een testquery uit in de SQL-editor die probeert toegang te krijgen tot een resource die wordt beheerd door uw netwerkbeleid.
- Controleer de resultaten:
- Vertrouwde bestemming: de query moet slagen.
- Niet-vertrouwde bestemming: de query moet mislukken met een netwerktoegangsfout.
Valideren met modellering
Een testmodel maken
- Maak in een Python-notebook een model dat toegang probeert te krijgen tot een openbare internetresource, zoals het downloaden van een bestand of het indienen van een API-aanvraag.
- Voer dit notebook uit om een model te genereren in de testwerkruimte. Voorbeeld:
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")
Een service-eindpunt maken
- Selecteer Machine Learning in de werkruimtenavigatie.
- Klik op het tabblad Serveren .
- Klik op Een servereindpunt maken.
- Configureer het eindpunt met de volgende instellingen:
- Naam van het servereindpunt: geef een beschrijvende naam op.
- Entiteitsgegevens: modelregistermodel selecteren.
- Model: Kies het model dat u in de vorige stap hebt gemaakt.
- Klik op Bevestigen.
- Wacht tot het servereindpunt de status Gereed heeft bereikt.
Voer een query uit op het eindpunt.
- Gebruik de optie Query-eindpunt op de pagina met het servereindpunt om een testaanvraag te verzenden.
{"dataframe_records": [{"host": "https://www.google.com"}]}
Controleer het resultaat:
- Internettoegang ingeschakeld: de query moet slagen.
- Internettoegang beperkt: de query moet mislukken met een netwerktoegangsfout.
Een netwerkbeleid bijwerken
U kunt een netwerkbeleid op elk gewenst moment bijwerken nadat het is gemaakt. Een netwerkbeleid bijwerken:
- Wijzig het beleid op de detailpagina van het netwerkbeleid in uw accountconsole:
- Wijzig de netwerktoegangsmodus.
- Schakel de alleen-logmodus in of uit voor specifieke diensten.
- FQDN- of opslagbestemmingen toevoegen of verwijderen.
- Klik op Bijwerken.
- Raadpleeg Wijzigingen in het netwerkbeleid toepassen om te controleren of de updates worden toegepast op bestaande workloads.
Denial-logboeken controleren
Denial-logboeken worden opgeslagen in de system.access.outbound_network
tabel in Unity Catalog. Deze logboeken houden bij wanneer uitgaande netwerkaanvragen worden geweigerd. Voor toegang tot denial-logboeken moet u ervoor zorgen dat het toegangsschema is ingeschakeld in uw Unity Catalog-metastore. Zie Systeemtabelschema's inschakelen.
Gebruik een SQL-query zoals hieronder om denial-gebeurtenissen weer te geven. Als logboeklogboeken alleen zijn ingeschakeld, retourneert de query zowel denial-logboeken als logboeklogboeken, die u kunt onderscheiden met behulp van de access_type
kolom. Denial-logboeken hebben een DROP-waarde, terwijl logboeken alleen LOG_ONLY_DENIALweergeven.
In het volgende voorbeeld worden logboeken opgehaald uit de afgelopen 2 uur:
select * from system.access.outbound_network
where event_time >= current_timestamp() - interval 2 hour
sort by event_time desc
Denials worden niet vastgelegd in de uitgaande systeemtabel van het netwerk wanneer u verbinding maakt met externe generatieve AI-modellen met behulp van de Mosaic AI Gateway. Zie Mosaic AI Gateway.
Notitie
Er kan enige latentie zijn tussen het moment van toegang en wanneer de denial-logboeken worden weergegeven.
Beperkingen
Configuratie: deze functie kan alleen worden geconfigureerd via de accountconsole. API-ondersteuning is nog niet beschikbaar.
uploadgrootte voor artefacten: wanneer u het interne Databricks-bestandssysteem van MLflow met de
dbfs:/databricks/mlflow-tracking/<experiment_id>/<run_id>/artifacts/<artifactPath>
-indeling gebruikt, zijn artefactuploads beperkt tot 5 GB voorlog_artifact
,log_artifacts
enlog_model
API's.Ondersteunde Unity Catalog-verbindingen: De volgende verbindingstypen worden ondersteund: MySQL, PostgreSQL, Snowflake, Redshift, Azure Synapse, SQL Server, Salesforce, BigQuery, Netsuite, Workday RaaS, Hive MetaStore en Salesforce Data Cloud.
Modelbediening: Uitgaande controle is niet van toepassing bij het bouwen van afbeeldingen voor modelbediening.
Toegang tot Azure Storage: alleen het stuurprogramma voor het Azure Blob Filesystem voor Azure Data Lake Storage wordt ondersteund. Toegang met het Azure Blob Storage-stuurprogramma of WASB-stuurprogramma wordt niet ondersteund.