Udostępnij przez


Konfigurowanie sieci dla usługi Databricks Apps

Usługa Databricks Apps obsługuje szczegółową kontrolę sieci, która pomaga zabezpieczyć aplikację i zarządzać sposobem komunikowania się z Internetem i zasobami wewnętrznymi. Można skonfigurować reguły ruchu przychodzącego i wychodzącego, korzystając z kombinacji list dostępu IP, prywatnej łączności frontendu i zasad sieciowych.

Architektura sieci

Usługa Azure Databricks wdraża aplikacje na bezserwerowej płaszczyźnie obliczeniowej, gdzie bezpośrednio odbierają ruch. Jest to podobne do innych usług zoptymalizowanych pod kątem tras, takich jak obsługa modeli i wyszukiwanie wektorów.

Proces połączenia działa w następujący sposób:

  1. Początkowe żądania użytkowników do aplikacji usługi Azure Databricks inicjują uwierzytelnianie OAuth za pomocą płaszczyzny sterowania, aby zweryfikować sesję i autoryzować dostęp do aplikacji.
  2. Po pomyślnym uwierzytelnieniu wszystkie kolejne żądania są kierowane bezpośrednio do bezserwerowej płaszczyzny obliczeniowej bez przechodzenia przez płaszczyznę sterowania.

Zasady zabezpieczeń sieci skonfigurowane dla bezserwerowej płaszczyzny obliczeniowej mają zastosowanie do ruchu usługi Databricks Apps. Obejmuje to listy dostępu IP oraz konfiguracje prywatnego połączenia front-endowego.

Kontrolki ruchu przychodzącego

Użyj następujących funkcji, aby ograniczyć dostęp do obszaru roboczego i aplikacji usługi Azure Databricks z publicznego Internetu.

  • Listy dostępu do adresów IP: Ogranicz dostęp obszaru roboczego i aplikacji do znanych i zaufanych zakresów adresów IP, włączając listy dostępu ip na poziomie obszaru roboczego. Dozwolony jest tylko ruch ze skonfigurowanych zakresów adresów IP. Aby uzyskać szczegółowe informacje, zobacz Konfigurowanie list dostępu do adresów IP dla obszarów roboczych.
  • Łączność prywatna front-endu: Kierowanie ruchu przychodzącego przez połączenie Azure Private Link w celu bezpiecznego uzyskiwania dostępu do aplikacji za pośrednictwem sieci wirtualnej (VNet).

    Należy skonfigurować warunkowe przekazywanie DNS dla domeny, databricksapps.com aby zapewnić prawidłowe rozpoznawanie nazw za pośrednictwem połączenia prywatnego. W przeciwnym razie zapytania DNS dotyczące domeny aplikacji mogą być rozpoznawane jako publiczne adresy IP zamiast prywatnego punktu końcowego. Aby uzyskać instrukcje dotyczące konfiguracji Front-end Private Link, zobacz Configure Front-end Private Link.

Kontrolki ruchu wychodzącego

Aby kontrolować ruch wychodzący z aplikacji, utwórz konfigurację łączności sieciowej (NCC) i zastosuj zasady sieciowe do obszaru roboczego hostowanego aplikację.

Konfiguracje łączności sieciowej

Użyj konfiguracji łączności sieciowej , aby bezpiecznie połączyć aplikację z usługami platformy Azure. Natywne Kontrolery Chmury (NCCs) zapewniają stabilne identyfikatory podsieci, które można dodać do zapory konta magazynu, aby umożliwić dostęp z aplikacji i innych bezserwerowych środowisk obliczeniowych.

Aby dodatkowo ograniczyć ruch wychodzący do prywatnych miejsc docelowych, skonfiguruj bezserwerowe prywatne punkty końcowe dla zasobów platformy Azure lub kieruj ruch przez moduł równoważenia obciążenia platformy Azure w sieci wirtualnej.

Zasady sieciowe

Zasady sieciowe umożliwiają wymuszanie ograniczeń ruchu wychodzącego w aplikacjach usługi Databricks i innych obciążeniach bezserwerowych. Jest to przydatne, gdy musisz spełnić wymagania organizacji lub zgodności dotyczące kontrolowania łączności wychodzącej.

Uwaga / Notatka

Zasady sieciowe są dostępne tylko w warstwie Premium.

Zastosuj zasady sieciowe, jeśli aplikacja:

  • Musi ograniczyć dostęp do określonego zestawu zatwierdzonych domen zewnętrznych
  • Musi zapobiegać przypadkowemu eksfiltracji danych
  • Musi być zgodna ze standardami zabezpieczeń lub zgodności, które ograniczają wychodzący ruch internetowy

Najlepsze rozwiązania dotyczące konfigurowania zasad sieciowych

Postępuj zgodnie z tymi wytycznymi, aby uniknąć niezamierzonych zakłóceń i upewnić się, że aplikacje mogą uzyskiwać dostęp do wymaganych zasobów:

  • Zezwalaj tylko na wymagane miejsca docelowe. Dodaj w pełni kwalifikowane nazwy domen (FQDN) dla zasobów publicznych lub prywatnych potrzebnych przez aplikację.
  • Uwzględnij repozytoria pakietów zgodnie z potrzebami. Jeśli Twoja aplikacja instaluje publiczne pakiety języka Python lub Node.js, może być konieczne zezwolenie na domeny, takie jak pypi.org dla Pythona lub registry.npmjs.org dla Node. Aplikacja może wymagać dodatkowych lub różnych domen w zależności od określonych zależności. Bez tych repozytoriów kompilacje aplikacji, które polegają na requirements.txt lub package.json mogą zakończyć się niepowodzeniem.
  • Użyj trybu suchego uruchamiania, aby zweryfikować zasady sieciowe. Ten tryb symuluje wymuszanie zasad bez blokowania ruchu.
  • Przejrzyj odrzucone próby połączenia, korzystając z tabeli system.access.outbound_network. Ułatwia to zidentyfikowanie domen, na które może być konieczne zezwolenie. Zobacz Sprawdź dzienniki odmów.
  • Dodaj wszystkie wymagane domeny zewnętrzne, takie jak zaufane interfejsy API lub konta usługi Azure Storage, niezarejestrowane w Unity Catalog.

Szyfrowanie i routing ruchu

Usługa Databricks Apps używa dedykowanych ścieżek routingu i wielu warstw szyfrowania do zabezpieczania komunikacji sieciowej i ochrony danych.

Routing ruchu

Ruch między płaszczyzną sterowania usługi Azure Databricks, płaszczyzną obliczeniową, innymi zasobami usługi Azure Databricks i usługami w chmurze jest przesyłany przez globalną sieć dostawcy usług w chmurze i nie przechodzi przez publiczny Internet.

Ruch między użytkownikami i databricksapps.com może przechodzić przez publiczny Internet w zależności od lokalizacji sieciowej użytkownika. Aby uniknąć trasowania w Internecie, skonfiguruj prywatną łączność front-endu.

Szyfrowanie podczas przesyłania

Cała komunikacja sieciowa z aplikacjami i z aplikacji jest szyfrowana:

  • Ruch użytkowników: Komunikacja między użytkownikami i databricksapps.com korzysta z szyfrowania TLS (Transport Layer Security) 1.3.
  • Ruch płaszczyzny sterowania: Komunikacja między płaszczyzną sterowania usługi Azure Databricks a płaszczyzną obliczeniową używa wzajemnego protokołu TLS (mTLS) do operacji zarządzania, w tym tworzenia aplikacji, aktualizacji i usuwania.

Szyfrowanie danych w spoczynku

Usługa Databricks Apps szyfruje przechowywane dane przy użyciu następujących metod:

  • Kod aplikacji: Usługa Azure Databricks przechowuje kod aplikacji w plikach obszaru roboczego i używa tego samego szyfrowania co notesy i inne pliki obszaru roboczego.
  • Magazyn obliczeniowy: Aplikacje używają tymczasowych dysków systemu operacyjnego hosta zaszyfrowanych za pomocą protokołu AES-256 i domyślnej implementacji szyfrowania stosowanej przez dostawcę chmurowego.