Delen via


Netwerken configureren voor Databricks-apps

Databricks Apps biedt ondersteuning voor fijnmazige netwerkbeheer om u te helpen bij het beveiligen en beheren van de manier waarop uw app communiceert met internet en interne resources. U kunt verkeersregels voor inkomend verkeer (inkomend verkeer) en uitgaand verkeer configureren met behulp van een combinatie van IP-toegangslijsten, privé-front-endconnectiviteit en netwerkbeleid.

Netwerkarchitectuur

Azure Databricks apps implementeert op het serverloze rekenvlak, waar ze rechtstreeks verkeer ontvangen. Dit is vergelijkbaar met andere services die zijn geoptimaliseerd voor route, zoals Model Serving en Vector Search.

Het verbindingsproces werkt als volgt:

  1. Initiële gebruikersaanvragen voor een Azure Databricks-app initiëren OAuth-verificatie met het besturingsvlak om de sessie te valideren en toegang tot de app te autoriseren.
  2. Na een geslaagde verificatie worden alle volgende aanvragen rechtstreeks doorgestuurd naar het serverloze rekenvlak zonder het besturingsvlak te doorlopen.

Netwerkbeveiligingsbeleid dat is geconfigureerd voor het serverloze rekenvlak, is van toepassing op Databricks Apps-verkeer. Dit omvat IP-toegangslijsten en configuraties voor privéconnectiviteit aan de front-end.

Toegangscontrole

Gebruik de volgende functies om de toegang tot uw Azure Databricks werkruimte en apps vanaf het openbare internet te beperken.

  • IP-toegangslijsten: Beperk werkruimte- en app-toegang tot bekende en vertrouwde IP-bereiken door IP-toegangslijsten op werkruimteniveau in te schakelen. Alleen verkeer van de geconfigureerde IP-bereiken is toegestaan. Zie IP-toegangslijsten configureren voor werkruimten voor meer informatie.
  • Front-end privéconnectiviteit: Router het inkomende verkeer via een Azure Private Link-verbinding om op een veilige manier toegang te krijgen tot apps via uw VNet.

    U moet voorwaardelijke DNS-doorsturen configureren voor het databricksapps.com domein om ervoor te zorgen dat de juiste naamomzetting via uw privéverbinding wordt uitgevoerd. Anders kunnen DNS-query's voor het domein van uw app worden omgezet in openbare IP-adressen in plaats van het privé-eindpunt. Zie Configure Inbound Private Link voor installatie-instructies.

    Verouderde regionale URL's worden niet ondersteund met Databricks-apps omdat ze geen ondersteuning bieden voor OAuth, wat vereist is voor app-verificatie. Zie de verouderde regionale URL voor meer informatie.

Uitgaande controle elementen

Als u uitgaand verkeer van uw app wilt beheren, maakt u een netwerkverbindingsconfiguratie (NCC) en past u netwerkbeleid toe op de werkruimte die als host fungeert voor de app.

Configuraties voor netwerkconnectiviteit

Gebruik een network-connectiviteitsconfiguratie om uw app veilig te verbinden met Azure services. NCC's bieden stabiele subnet-id's die u kunt toevoegen aan een firewall van een opslagaccount om expliciet toegang vanuit uw app en andere serverloze berekeningen toe te staan.

Als u uitgaand verkeer verder wilt beperken tot privébestemmingen, configureert u serverloze privé-eindpunten voor Azure resources of routeert u verkeer via een Azure load balancer in uw VNet.

Netwerkbeleid

Gebruik netwerkbeleid om uitgaande beperkingen af te dwingen voor Databricks-apps en andere serverloze workloads. Dit is handig wanneer u moet voldoen aan de vereisten voor de organisatie of naleving voor het beheren van uitgaande connectiviteit.

Opmerking

Netwerkbeleid is alleen beschikbaar in de Premium-laag.

Een netwerkbeleid toepassen indien uw app:

  • De toegang tot een specifieke set goedgekeurde externe domeinen beperken
  • Moet onbedoelde gegevensexfiltratie voorkomen
  • Moet voldoen aan beveiligings- of nalevingsstandaarden die uitgaand internetverkeer beperken

Vereiste uitgaande domeinen voor app-implementatie

Wanneer u een beperkt uitgaand netwerkbeleid gebruikt, moet u specifieke domeinen toestaan voor app-builds of runtime. Zonder deze domeinen mislukken app-implementaties omdat het buildproces geen afhankelijkheden kan downloaden of kan communiceren met vereiste services.

De volgende domeinen zijn vereist voor alle implementaties van Databricks-apps:

Domein Purpose
*.databricksapps.com App-service en gebruikersconnectiviteit
pypi.org, files.pythonhosted.org Python pakketdownloads tijdens app-builds (vereist als uw app gebruikmaakt van requirements.txt)
registry.npmjs.org Node.js pakketdownloads tijdens de app-build (vereist als uw app gebruikmaakt van package.json)

:::

Daarnaast zijn voor Azure implementaties mogelijk deze domeinen vereist:

Domein Purpose
*.blob.core.windows.net Azure Blob Storage eindpunten die worden gebruikt door apps die verbinding maken met Azure-opslag
*.dfs.core.windows.net Azure Data Lake Storage eindpunten die worden gebruikt door apps die verbinding maken met ADLS

:::

:::

Uw app vereist mogelijk extra domeinen, afhankelijk van uw specifieke afhankelijkheden of de externe API's die worden aangeroepen. Als uw app bijvoorbeeld een REST API van derden aanroept, voegt u het domein van die API toe aan de acceptatielijst.

Belangrijk

In Private Link omgevingen met beperkt uitgaand verkeer veroorzaken ontbrekende vermeldingen voor domein-acceptatielijsten meestal fouten bij de implementatie van apps. Als uw app niet kan worden geïmplementeerd, controleert u de system.access.outbound_network systeemtabel op geweigerde verbindingspogingen om te bepalen welke domeinen moeten worden toegevoegd. Zie Denial-logboeken controleren.

Aanbevolen procedures voor het configureren van netwerkbeleid

Volg deze richtlijnen om onbedoelde onderbrekingen te voorkomen en ervoor te zorgen dat uw apps toegang hebben tot vereiste resources:

  • Alleen vereiste bestemmingen toestaan. Voeg FQDN's (Fully Qualified Domain Names) toe voor openbare of persoonlijke resources die uw app nodig heeft. Zie Vereiste uitgaande domeinen voor app-implementatie voor de minimale set domeinen die nodig zijn voor implementatie.
  • Neem indien nodig pakketrepositories op. Als uw app openbare Python- of Node.js-pakketten installeert, moet u mogelijk domeinen zoals pypi.org toestaan voor Python of registry.npmjs.org voor Node. Uw toepassing vereist mogelijk extra of verschillende domeinen, afhankelijk van uw specifieke afhankelijkheden. Zonder deze opslagplaatsen kunnen app-builds die afhankelijk zijn van requirements.txt of package.json mislukken.
  • Gebruik de modus voor droge uitvoering om uw netwerkbeleid te valideren. Deze modus simuleert het afdwingen van beleid zonder verkeer te blokkeren.
  • Controleer geweigerde verbindingspogingen met behulp van de system.access.outbound_network tabel. Hiermee kunt u domeinen identificeren die u mogelijk moet toestaan. Zie Denial-logboeken controleren.
  • Voeg eventuele vereiste externe domeinen toe, zoals vertrouwde API's of Azure opslagaccounts die niet zijn geregistreerd in Unity Catalog.

Als uw werkruimte gebruikmaakt van front-end privéconnectiviteit, moet u aanvullende configuratiestappen uitvoeren om Databricks-apps te implementeren en te gebruiken. Zonder deze configuratie kunnen app-implementaties mislukken of kunnen gebruikers de app mogelijk niet bereiken.

DNS-configuratie

U moet voorwaardelijke DNS-doorsturen configureren voor het databricksapps.com domein, zodat app-URL's worden omgezet in privé-IP-adressen in plaats van openbare IP-adressen. Zonder deze configuratie kunnen gebruikers achter een particulier netwerk geen geïmplementeerde apps bereiken.

Voeg regels voor voorwaardelijk doorsturen toe voor de volgende domeinen aan uw Azure DNS-server:

  • *.databricksapps.com
  • *.azuredatabricks.net
  • *.privatelink.azuredatabricks.net

Controleer of uw VNet is gekoppeld aan de Azure Privé-DNS-zone. Zie Aangepaste DNS-configuratie voor gedetailleerde instructies voor dns-installatie.

Vereisten voor uitgaand verkeer

In Private Link omgevingen met beperkte uitgaand verkeer vereisen apps uitgaande connectiviteit met specifieke domeinen tijdens zowel buildtijd als runtime. Zie Vereiste uitgaande domeinen voor app-implementatie voor de volledige lijst met domeinen die moeten worden toegestaan.

Uitgaand verkeer configureren voor apps in een Private Link-omgeving:

  1. Maak of werk een netwerkverbindingsconfiguratie (NCC) bij en koppel deze aan de werkruimte die uw app host.
  2. Maak of werk een netwerkbeleid bij om de vereiste domeinen toe te staan.
  3. Gebruik eerst de drooguitvoeringsmodus om uw configuratie te valideren zonder verkeer te blokkeren.
  4. Controleer de system.access.outbound_network systeemtabel op geweigerde verbindingspogingen tijdens de implementatie van de app.

Als uw app niet kan worden geïmplementeerd in een Private Link-omgeving:

  1. Controleer de ontkenningslogboeken voor uitgaand verkeer. Voer een query uit op de system.access.outbound_network systeemtabel voor recente denial-gebeurtenissen. Zie Denial-logboeken controleren.

    SELECT *
    FROM system.access.outbound_network
    WHERE event_time >= CURRENT_TIMESTAMP() - INTERVAL 2 HOUR
    ORDER BY event_time DESC;
    
  2. Controleer de DNS-resolutie. Controleer of de URL van uw app wordt omgezet in een privé-IP-adres, niet naar een openbaar IP-adres. Gebruik nslookup vanuit uw privénetwerk om het volgende te controleren:

    nslookup <your-app-name>.databricksapps.com
    
  3. Controleer de configuratie van het netwerkbeleid. Controleer of de vereiste domeinen zich in de acceptatielijst bevinden. Ontbrekende domeinen voor pakketopslagplaatsen (pypi.org, registry.npmjs.org) zijn de meest voorkomende oorzaak van buildfouten.

  4. Start de app opnieuw op. Nadat u netwerkbeleid hebt bijgewerkt, moet u de app opnieuw implementeren of opnieuw opstarten, zodat het bijgewerkte beleid van kracht wordt. Zie Serverloze workloads opnieuw opstarten of opnieuw implementeren.

Versleuteling en verkeersroutering

Databricks Apps maakt gebruik van toegewezen routeringspaden en meerdere versleutelingslagen om netwerkcommunicatie te beveiligen en gegevens te beveiligen.

Verkeersroutering

Verkeer tussen het Azure Databricks besturingsvlak, rekenvlak, andere Azure Databricks resources en cloudservices reist via het wereldwijde netwerk van de cloudprovider en gaat niet via het openbare internet.

Verkeer tussen gebruikers en databricksapps.com kan het openbare internet doorkruisen, afhankelijk van de netwerklocatie van de gebruiker. Als u openbare internetroutering wilt voorkomen, configureert u de privéconnectiviteit van de front-end.

Versleuteling tijdens overdracht

Alle netwerkcommunicatie van en naar apps worden versleuteld:

  • Gebruikersverkeer: Communicatie tussen gebruikers en databricksapps.com maakt gebruik van TLS-versleuteling (Transport Layer Security) 1.3.
  • Verkeer beheren: Communicatie tussen het Azure Databricks besturingsvlak en rekenvlak maakt gebruik van wederzijdse TLS (mTLS) voor beheerbewerkingen, waaronder het maken, bijwerken en verwijderen van apps.

Versleuteling van opgeslagen gegevens

Databricks Apps versleutelt opgeslagen gegevens met behulp van de volgende methoden:

  • Application-code: Azure Databricks slaat app-code op in werkruimtebestanden en gebruikt dezelfde versleuteling als notebooks en andere werkruimtebestanden.
  • Rekenopslag: Apps maken gebruik van tijdelijke hostbesturingssysteemschijven die zijn versleuteld met AES-256 en de standaardversleutelingsmplementatie van de cloudprovider.