Udostępnij przez


Nawiązywanie połączenia z magazynem obiektów w chmurze przy użyciu Unity Catalog.

Ten artykuł zawiera omówienie połączeń magazynu w chmurze wymaganych do pracy z danymi przy użyciu Unity Catalog, a także informacje o tym, jak Unity Catalog zarządza dostępem do magazynu w chmurze i zewnętrznych usług w chmurze.

Jak Unity Catalog korzysta z przechowalnika danych w chmurze?

Usługa Databricks zaleca używanie Unity Catalog do zarządzania dostępem do wszystkich danych przechowywanych w magazynie obiektów w chmurze obliczeniowej. Unity Catalog udostępnia zestaw narzędzi do konfigurowania bezpiecznych połączeń z magazynem obiektów w chmurze. Te połączenia zapewniają dostęp do wykonania następujących akcji:

  • Ładowanie danych pierwotnych do lakehouse’u.
  • Tworzenie i odczytywanie zarządzanych tabel i zarządzanych woluminów niestrukturalnych danych w zarządzanym przez katalog Unity magazynie w chmurze.
  • Zarejestruj lub utwórz zewnętrzne tabele zawierające dane tabelaryczne oraz zewnętrzne woluminy zawierające dane niestrukturalne w magazynie w chmurze zarządzanym przez dostawcę chmury.
  • Odczytywanie i zapisywanie danych bez struktury ( woluminy wykazu aparatu Unity).

Aby być bardziej szczegółowym, Unity Catalog używa magazynu w chmurze w dwóch podstawowych sposobach.

  • Domyślne (lub "zarządzane") lokalizacje magazynu dla zarządzanych tabel i woluminów zarządzanych (bez struktury, danych innych niż tabelaryczne), które są tworzone w usłudze Databricks. Te zarządzane lokalizacje magazynu można zdefiniować na poziomie magazynu metadanych, katalogu lub schematu. Tworzysz zarządzane lokalizacje magazynu u swojego dostawcy usług w chmurze, ale ich cykl życia jest w pełni zarządzany przez Unity Catalog.
  • Miejsca przechowywania, w których przechowywane są zewnętrzne tabele i woluminy. Są to tabele i wolumeny, których dostęp z usługi Azure Databricks jest zarządzany przez Unity Catalog, ale których cykl życia danych i układ plików są zarządzane przy użyciu Twojego dostawcy chmury i innych platform danych. Zazwyczaj używasz tabel zewnętrznych do rejestrowania dużych ilości istniejących danych w usłudze Azure Databricks lub jeśli potrzebujesz również dostępu do zapisu do danych przy użyciu narzędzi spoza usługi Azure Databricks.

Aby uzyskać więcej informacji o zarządzanych i zewnętrznych tabelach i woluminach, zobacz Tabele usługi Azure Databricks i Co to są woluminy wykazu aparatu Unity?.

Ostrzeżenie

Nie należy udzielać tożsamościom spoza Unity Catalog dostępu na poziomie magazynu do zarządzanych przez Unity Catalog tabel lub woluminów. To zagraża bezpieczeństwu danych i ładowi.

Udzielanie użytkownikom, jednostkom usługi lub tożsamościom zarządzanym bezpośredniego dostępu do kontenerów usługi Azure Data Lake Storage zawierających dane zarządzane przez Unity Catalog pomija katalog Unity. Naraża to dane na nadmierne uprawnienia, eksfiltrację i nieautoryzowany dostęp, jednocześnie komplikując inspekcję i zwiększając obciążenie zarządcze.

Bezpośredni dostęp do magazynu nie jest obsługiwany w przypadku tabel zarządzanych przez Unity Catalog.

Opcje magazynu w chmurze obsługiwane przez Unity Catalog

Katalog Unity obsługuje następujące opcje pamięci w chmurze dla usługi Azure Databricks.

Opcja magazynu w chmurze Opis
Kontenery usługi Azure Data Lake Storage Usługa Azure Data Lake Storage jest odpowiednia dla większości przypadków użycia usługi Azure Databricks. Zobacz Tworzenie poświadczeń do połączenia z Azure Data Lake Storage
Zasobniki usługi AWS S3 Usługa Azure Databricks obsługuje międzyplatformowy dostęp tylko do odczytu do zasobników S3. Zobacz Tworzenie poświadczeń przechowywania do połączenia się z usługą AWS S3 (tylko do odczytu).
Zasobniki Cloudflare R2 Cloudflare R2 jest przeznaczony głównie dla przypadków użycia funkcji Delta Sharing, w których chcesz uniknąć opłat za ruch wychodzący danych. Zobacz Create a storage credential for connecting to Cloudflare R2 (Tworzenie poświadczeń magazynu w celu nawiązania połączenia z usługą Cloudflare R2).
Główny system plików DBFS Główny katalog DBFS to przestarzała lokalizacja magazynu w chmurze. Chociaż Databricks odradza przechowywanie danych w głównym magazynie DBFS, obszar roboczy może to robić ze względu na starsze praktyki. Zobacz Nawiązywanie połączenia z lokalizacją zewnętrzną systemu plików DBFS (starsza wersja).

Jak Unity Catalog zarządza dostępem do przechowywania w chmurze?

Aby zarządzać dostępem do bazowego magazynu w chmurze zawierającego tabele i woluminy, Unity Catalog używa zabezpieczanego obiektu o nazwie lokalizacja zewnętrzna, który definiuje ścieżkę do magazynu w chmurze oraz poświadczenia niezbędne do uzyskania dostępu do tej lokalizacji. Te poświadczenia są z kolei zdefiniowane w zabezpieczanym obiekcie Unity Catalog nazywanym poświadczeniem magazynu. Udzielając i cofając dostęp do zewnętrznych lokalizacji zabezpieczonych w katalogu Unity, można kontrolować dostęp do danych w lokalizacji magazynowania w chmurze. Udzielając i cofając dostęp do poświadczeń magazynowania w Unity Catalog, można kontrolować możliwość tworzenia zewnętrznych obiektów lokalizacji.

Omówienie poświadczeń magazynu

Poświadczenie magazynu reprezentuje mechanizm uwierzytelniania i autoryzacji na potrzeby uzyskiwania dostępu do danych przechowywanych w dzierżawie chmury. Na przykład poświadczenie magazynu jest skojarzone z tożsamością zarządzaną platformy Azure lub jednostką usługi dla kontenerów usługi Azure Data Lake Storage lub tokenem interfejsu API R2 dla zasobników Cloudflare R2.

Uprawnienia przyznane w wykazie aparatu Unity kontrolują, którzy użytkownicy i grupy mogą używać poświadczeń do definiowania lokalizacji zewnętrznych. Uprawnienia do tworzenia i używania poświadczeń magazynu powinny być przyznawane tylko użytkownikom, którzy muszą tworzyć obiekty lokalizacji zewnętrznej.

Omówienie lokalizacji zewnętrznych

Lokalizacja zewnętrzna łączy ścieżkę magazynu w chmurze z poświadczeniami magazynu, które autoryzuje dostęp do określonej ścieżki. Wiele lokalizacji zewnętrznych może używać tego samego poświadczenia magazynu. Lokalizacje zewnętrzne mogą odwoływać się do ścieżek magazynu w dowolnej z obsługiwanych opcji magazynu w chmurze.

Na poniższym diagramie pokazano, jak lokalizacje zewnętrzne odwołują się do poświadczeń magazynu i lokalizacji magazynu w chmurze.

Związek między poświadczeniami magazynu danych, lokalizacjami zewnętrznymi a chmurą obliczeniową

Na tym diagramie:

  • Każda lokalizacja zewnętrzna odwołuje się do poświadczeń magazynu i lokalizacji magazynu w chmurze.
  • Wiele lokalizacji zewnętrznych może odwoływać się do tego samego poświadczenia magazynu. Poświadczenie magazynu 1 daje dostęp do wszystkiego w ramach ścieżki bucket/tables/*, więc do niej odwołuje się zarówno lokalizacja zewnętrzna A, jak i lokalizacja zewnętrzna B.

Lokalizacje zewnętrzne są używane w Unity Catalogu zarówno dla zasobów danych zewnętrznych, takich jak tabele zewnętrzne i woluminy zewnętrzne, jak i dla zarządzanych zasobów danych, takich jak tabele zarządzane i woluminy zarządzane. Aby uzyskać więcej informacji na temat różnic między zewnętrznymi i zarządzanymi elementami zawartości danych w wykazie aparatu Unity, zobacz Tabele usługi Azure Databricks i Co to są woluminy wykazu aparatu Unity?.

Uprawnienia przyznane w katalogu Unity kontrolują, którzy użytkownicy i grupy mają dostęp do ścieżki magazynu w chmurze zdefiniowanej przez lokalizację zewnętrzną. Uprawnienia do tworzenia i używania lokalizacji zewnętrznych powinny być przyznawane tylko użytkownikom, którzy muszą tworzyć tabele zewnętrzne, woluminy zewnętrzne lub zarządzane lokalizacje magazynu.

Aby dowiedzieć się więcej o najlepszych rozwiązaniach dotyczących używania lokalizacji zewnętrznych, zobacz Lokalizacje zewnętrzne.

Używanie lokalizacji zewnętrznych podczas tworzenia tabel i woluminów zewnętrznych

Tabele zewnętrzne i woluminy zewnętrzne zarejestrowane w Unity Catalog są zasadniczo wskaźnikami do danych w przestrzeni w chmurze, którymi zarządzasz poza usługą Azure Databricks. Podczas tworzenia tabeli zewnętrznej lub woluminu zewnętrznego w Katalogu Unity, należy odwołać się do ścieżki magazynu w chmurze, która jest częścią obiektu lokalizacji zewnętrznej, na którym przyznano ci odpowiednie uprawnienia. Aby uzyskać więcej informacji na temat różnic między zewnętrznymi i zarządzanymi elementami zawartości danych w wykazie aparatu Unity, zobacz Tabele usługi Azure Databricks i Co to są woluminy wykazu aparatu Unity?. Aby uzyskać uprawnienia, zobacz Udzielanie uprawnień w lokalizacji zewnętrznej.

Używanie lokalizacji zewnętrznych podczas tworzenia magazynu zarządzanego

Zarządzane tabele i zarządzane woluminy są w pełni zarządzane przez Unity Catalog. Są one domyślnie przechowywane w zarządzanej lokalizacji magazynu, którą można zdefiniować na poziomie magazynu metadanych, katalogu lub schematu. Po przypisaniu zarządzanej lokalizacji magazynu do magazynu metadanych, katalogu lub schematu należy odwołać się do obiektu lokalizacji zewnętrznej i musisz mieć odpowiednie uprawnienia do jego używania. Zobacz Określenie lokalizacji zarządzanej w Unity Catalog i najlepsze praktyki w Unity Catalog.

Dostęp do danych za pomocą ścieżek w przechowywaniu w chmurze

Mimo że Unity Catalog obsługuje dostęp oparty na ścieżkach do tabel zewnętrznych i woluminów zewnętrznych przy użyciu identyfikatorów URI magazynu w chmurze, Databricks zaleca użytkownikom odczytywanie i zapisywanie wszystkich tabel Unity Catalog przy użyciu nazw tabel oraz uzyskiwanie dostępu do danych w woluminach przy użyciu ścieżek /Volumes. Wolumeny są obiektem, który można zabezpieczyć, z którego większość użytkowników usługi Azure Databricks powinna korzystać do bezpośredniej interakcji z danymi nietabularnymi w magazynie obiektów w chmurze. Zobacz Czym są wolumeny Unity Catalog?.

Ostrzeżenie

W przypadku aktualizacji metadanych tabeli zewnętrznej przy użyciu klienta innego niż Databricks lub dostępu opartego na ścieżkach z poziomu Databricks, te metadane nie są automatycznie synchronizowane ze stanem w Unity Catalog. Usługa Databricks odradza wykonywanie takich aktualizacji metadanych, ale jeżeli je wykonasz, trzeba uruchomić MSCK REPAIR TABLE <table-name> SYNC METADATA, aby zaktualizować schemat w Unity Catalog. Zobacz: REPAIR TABLE.

Przepływ pracy do zarządzania dostępem do przechowywania danych w chmurze w Unity Catalog

Aby zarządzać dostępem do magazynu w chmurze przy użyciu Unity Catalog, wykonaj następujące czynności:

  1. Utwórz obiekt poświadczeń magazynu, który zawiera długoterminowe poświadczenia chmury, takie jak tożsamość zarządzana platformy Azure lub jednostka usługi, z dostępem do ścieżki magazynu w chmurze.
  2. Utwórz obiekt lokalizacji zewnętrznej, który odwołuje się do ścieżki magazynu i obiektu poświadczeń magazynu.
  3. Odwołaj się do ścieżki zawartej w lokalizacji zewnętrznej podczas tworzenia tabel zewnętrznych, woluminów zewnętrznych lub domyślnych lokalizacji przechowywania. Może to być dokładna ścieżka zdefiniowana w lokalizacji zewnętrznej lub ścieżki podrzędnej.

Najlepsze praktyki dotyczące magazynu w chmurze platformy Azure z katalogiem Unity

Usługa Azure Databricks wymaga użycia usługi Azure Data Lake Storage jako usługi przechowywania Azure na potrzeby danych przetwarzanych w usłudze Azure Databricks przy użyciu zarządzania za pomocą Unity Catalog. Usługa Azure Data Lake Storage umożliwia oddzielenie kosztów magazynowania i zasobów obliczeniowych oraz korzystanie ze szczegółowej kontroli dostępu zapewnianej przez Unity Catalog. Jeśli dane są przechowywane w OneLake (jeziorze danych Microsoft Fabric) i przetwarzane przez Databricks (pomijając Unity Catalog), mogą wystąpić łączne koszty magazynowania i obliczeń. W przypadku pakietu może to prowadzić do kosztów, które są około 2 razy wyższe w przypadku operacji odczytu i 2,6 razy wyższe w przypadku operacji zapisu w porównaniu z warstwą Premium usługi Azure Data Lake Storage na potrzeby przechowywania, odczytywania i zapisywania danych. Usługa Azure Blob Storage nie jest zgodna z katalogiem Unity Catalog. Usługa Databricks zaleca stosowanie modelu cenowego płać w miarę użycia dla usługi Fabric, co zapewnia więcej elastyczności w korzystaniu z opcji magazynowania i obliczeniowych.

Funkcja Azure Blob Storage Azure Data Lake Storage OneLake
Obsługiwane przez katalog Unity X X
Wymaga dodatkowego zakupu pojemności "Fabric" X X
Obsługiwane operacje z silników zewnętrznych
  • Przeczytaj
  • Napisz
  • Przeczytaj
  • Napisz
  • Przeczytaj
  • Napisz

W przypadku korzystania z modelu cenowego zasobów obliczeniowych/magazynu w pakiecie odczyty generują do 2 razy koszt w porównaniu z odczytywaniem danych z usługi Azure Data Lake Storage, a zapisy generują do 2,6 razy koszt w porównaniu z zapisywaniem danych w warstwie Premium usługi Azure Data Lake Storage.
Aby uzyskać szczegółowe informacje, zobacz dokumentację usługi OneLake.
Wdrożenie Regionalne Regionalne Światowy
Uwierzytelnianie Sygnatura dostępu współdzielonego Entra ID Sygnatura dostępu współdzielonego Entra ID Identyfikator entra
Zdarzenia usługi Storage X
Miękkie usuwanie
Kontrola dostępu RBAC Kontrola dostępu oparta na rolach (RBAC), Kontrola dostępu oparta na atrybutach (ABAC), Lista kontroli dostępu (ACL) RBAC (tylko tabela/folder, skrócone listy kontroli dostępu nie są obsługiwane)
Klucze szyfrowania X
Poziomy dostępu Archiwum online Gorące, chłodne, zimne, archiwum Tylko gorąca

Następne kroki