Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważna
Ta funkcja jest dostępna w publicznej wersji testowej. Administratorzy przestrzeni roboczej mogą kontrolować dostęp do obsługi lokalizacji zewnętrznych dla OneLake na stronie Wersje zapoznawcze. Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Na tej stronie wyjaśniono, jak nawiązać połączenie z usługą OneLake przy użyciu lokalizacji zewnętrznej. Dzięki połączeniu możesz tworzyć zarządzane obiekty Unity Catalog (takie jak tabele, woluminy i widoki) oraz zarządzać danymi za pomocą Unity Catalog. Jeśli chcesz odczytać istniejące dane usługi OneLake z Azure Databricks bez zapisywania, zobacz Włączanie federacji katalogu OneLake.
Aby połączyć się ze ścieżką OneLake, musisz mieć dwa obiekty zabezpieczalne Unity Catalog:
- Poświadczenie magazynowania, które określa tożsamość zarządzaną lub nazwę główną usługi zapewniającą dostęp do magazynu OneLake.
- Lokalizacja zewnętrzna, która definiuje ścieżkę ABFSS opartą na identyfikatorze prowadzącą do magazynu OneLake i odwołuje się do poświadczenia magazynu.
Requirements
W usłudze Azure Databricks:
- Twój obszar roboczy Azure Databricks musi mieć włączoną obsługę Unity Catalog.
- Musisz użyć serverless compute lub klasycznego zasobu obliczeniowego na Databricks Runtime 18.1 lub nowszym.
- Musisz mieć
CREATE STORAGE CREDENTIALuprawnienia na metastore Unity Catalog orazCREATE EXTERNAL LOCATIONuprawnienia zarówno na metastore, jak i do poświadczenia magazynu.
W aplikacji Microsoft Fabric:
- Musisz mieć aktywną przestrzeń roboczą Fabric z przypisaną pojemnością.
- Tożsamość zarządzana lub jednostka usługi musi mieć rolę Viewer w docelowym obszarze roboczym usługi Fabric oraz być członkiem roli zabezpieczeń OneLake dla elementu magazynu Azure Databricks.
- Administrator Fabric musi włączyć Użytkownicy mogą tworzyć elementy magazynu Azure Databricks w Portalu administracyjnym > Ustawienia dzierżawy.
- Docelowy obszar roboczy Fabric musi mieć włączone uwierzytelnianie za pomocą tokenów SAS delegowanych przez użytkownika usługi OneLake w ustawieniach obszaru roboczego > Ustawienia delegowane > Ustawienia OneLake.
Model zabezpieczeń
Bezpieczeństwo OneLake jest domyślnie włączone dla elementu pamięci Azure Databricks, więc element jest zablokowany. Role obszaru roboczego Fabric (Administrator, Członek, Współautor i Przeglądający) nie przyznają dostępu do danych. Tylko członkowie roli zabezpieczeń OneLake w elemencie magazynu mogą go odczytywać lub zapisywać.
Aby chronić Twoje dane:
- Dodaj do roli bezpieczeństwa OneLake tylko zarządzaną tożsamość konektora dostępu (lub swojego podmiotu usługi).
- Nie dodawaj użytkowników, grup ani innych jednostek usługi. Każdy w tej roli może czytać i zapisywać dane bezpośrednio, poza zarządzaniem Unity Catalog.
- Użytkownicy Fabric powinni odczytywać dane przez element dublowanego katalogu Azure Databricks, a nie bezpośrednio przez element magazynu.
Krok 1. Konfigurowanie tożsamości i dostępu w Azure i Fabric
- W portalu Azure utwórz lub zidentyfikuj łącznik dostępu dla Azure Databricks przy użyciu tożsamości zarządzanej lub jednostki usługi.
- W Microsoft Fabric przejdź do docelowego obszaru roboczego.
- Kliknij przycisk zębatki Ustawienia obszaru roboczego, a następnie kliknij Zarządzaj dostępem.
- Kliknij pozycję Dodaj osoby lub grupy i wyszukaj swoją tożsamość zarządzaną lub nazwę główną usługi.
- Przypisz zarządzanej tożsamości lub podmiotowi usługi rolę Viewer .
Krok 2. Aprowizuj magazyn w Fabric i uzyskaj ścieżkę
W obszarze roboczym Fabric utwórz element Azure Databricks Storage.
Otwórz Zarządzaj zabezpieczeniami OneLake dla elementu magazynu. Stwórz rolę zabezpieczeń OneLake z uprawnieniem ReadWrite i dodaj zarządzaną tożsamość lub nazwę główną usługi jako jej jedynego członka.
Zbuduj ścieżkę ABFSS opartą na ID:
abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/Identyfikator przestrzeni roboczej oraz identyfikator elementu magazynu Azure Databricks są dostępne w adresie URL przeglądarki, gdy element jest otwarty w Fabric.
Note
Lokalizacja zewnętrzna wymaga formatu ścieżki opartego na identyfikatorach (GUID), a nie nazw wyświetlanych. Ścieżki oparte na nazwach są odrzucane podczas tworzenia.
Zapisz tę ścieżkę. Należy go użyć w kroku 4.
Krok 3. Utwórz poświadczenie magazynu Unity Catalog
Zaloguj się do obszaru roboczego Azure Databricks z włączoną usługą Unity Catalog.
Na pasku bocznym kliknij
Wykaz.
Kliknij
, a następnie kliknij pozycję Utwórz poświadczenie.Wybierz typ poświadczeniazarządzanej tożsamości Azure.
Wprowadź nazwę poświadczenia magazynu i opcjonalny komentarz.
Wprowadź identyfikator Access Connector (identyfikator zasobu łącznika dostępu skojarzonego z Twoją tożsamością zarządzaną).
Identyfikator zasobu ma format:
/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>(Opcjonalnie) Jeśli łącznik dostępu został utworzony przy użyciu tożsamości zarządzanej przypisanej przez użytkownika, wprowadź identyfikator tożsamości zarządzanej.
Kliknij pozycję Utwórz.
Krok 4. Tworzenie lokalizacji zewnętrznej OneLake
Na pasku bocznym kliknij
Wykaz.
Kliknij
, a następnie kliknij pozycję Utwórz lokalizację zewnętrzną.Wprowadź nazwę lokalizacji zewnętrznej.
W obszarze Typ magazynu wybierz pozycję OneLake.
W obszarze Poświadczenie magazynu wybierz poświadczenie utworzone w kroku 3.
W obszarze Adres URL wprowadź ścieżkę ABFSS opartą na identyfikatorze z kroku 2. Przykład:
abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/Kliknij pozycję Utwórz.
Kliknij pozycję Testuj połączenie , aby zweryfikować lokalizację zewnętrzną.
Krok 5: Utwórz obiekty Unity Catalog w lokalizacji zewnętrznej OneLake
Po utworzeniu lokalizacji zewnętrznej można utworzyć katalog, który wykorzystuje ją jako zarządzane miejsce przechowywania. OneLake przechowuje dane zarządzanych tabel (Delta i Iceberg), woluminów, zmaterializowanych widoków oraz tabel przesyłania strumieniowego, które tworzysz w tym katalogu.
-- Create a catalog with the OneLake external location as managed storage
CREATE CATALOG my_onelake_catalog
MANAGED LOCATION '<onelake_external_location_path>';
-- Create a schema
CREATE SCHEMA my_onelake_catalog.sales;
-- Create a managed table
CREATE TABLE my_onelake_catalog.sales.orders (
id INT,
name STRING,
created_at TIMESTAMP
);
-- Insert data
INSERT INTO my_onelake_catalog.sales.orders
VALUES (1, 'example', current_timestamp());
Zastąp <onelake_external_location_path> adresem URL lokalizacji zewnętrznej lub jej podścieżką.
Limitations
Ta funkcja ma następujące ograniczenia:
Fabric Spark nie potrafi odczytywać tabel z commitami katalogowymi
Catalog commits są domyślnie włączone dla zarządzanych tabel Unity Catalog w nowych katalogach i schematach poprzez automatyczne aktualizacje. Commity w Unity Catalog czynią Unity Catalog źródłem prawdy dla stanu tabeli. Klienci Delta muszą uzyskać najnowszy stan tabeli z Unity Catalog, czego Fabric Spark nie oferuje. W efekcie Fabric Spark, w tym notatniki Fabric i definicje zadań Spark, nie może odczytywać tabel z commitami katalogowymi przez lustrzany katalog Azure Databricks.
Jako obejście wyłącz commity katalogu w tabelach, które obciążenia Fabric Spark muszą odczytywać. Wyłączenie commitów katalogowych wyłącza też funkcje, które od nich zależą dla danej tabeli. Zobacz Wyłącz zatwierdzenia katalogu.
ALTER TABLE <table-name> DROP FEATURE 'catalogManaged';Udostępnianie z platformy Databricks do Open nie jest obsługiwane
Nie można używać współdzielenia Databricks-to-Open do udostępniania zarządzanych tabel, których miejsce przechowywania znajduje się w OneLake. Udostępnianie Databricks-to-Open daje odbiorcom wstępnie podpisane adresy URL do plików danych tabeli, a ścieżki przechowywania danych OneLake nie obsługują wcześniej podpisanych URL-ów.
Fabric nie pokazuje
FILEkolumnFabric nie rozpoznaje typu
FILE, więc pomijaFILEkolumny w lustrzanych katalogach Azure Databricks. Fabric nadal odzwierciedla pozostałe kolumny tabeli, ale użytkownicy Fabric nie mogą przejść z wiersza do jego pliku.
Troubleshoot
| Error | Resolution |
|---|---|
403 Forbidden podczas uzyskiwania dostępu do ścieżki OneLake |
Sprawdź, czy (1) zarządzana tożsamość lub nazwa główna usługi ma rolę Viewer w przestrzeni roboczej Fabric, (2) jest członkiem roli zabezpieczeń OneLake z uprawnieniem ReadWrite do elementu magazynu Azure Databricks oraz (3) przestrzeń robocza Fabric ma aktywne przypisanie pojemności. |
| Ostrzeżenie o pominiętych zdarzeniach pliku podczas testu połączenia | To ostrzeżenie jest oczekiwane. Ścieżki OneLake nie obsługują powiadomień o zdarzeniach dotyczących plików. Lokalizacja zewnętrzna działa poprawnie. |
| Tworzenie lub testowanie poświadczeń magazynu kończy się niepowodzeniem | Sprawdź, że: (1) identyfikator zasobu zarządzanej tożsamości jest poprawny; (2) zarządzana tożsamość posiada rolę Viewer w docelowej przestrzeni roboczej Fabric i jest członkiem roli zabezpieczeń OneLake elementu magazynu; oraz (3) ścieżka korzysta z właściwego formatu opartego na ID (abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/). |
Dodatkowe zasoby
- Udziel innym użytkownikom uprawnień do korzystania z lokalizacji zewnętrznej. Zobacz Zarządzanie lokalizacjami zewnętrznymi.
- Zdefiniuj zarządzane lokalizacje magazynu na poziomie wykazu lub schematu. Zobacz Określanie zarządzanej lokalizacji magazynowej w Unity Catalog.
- Odczytywanie istniejących danych usługi OneLake z Azure Databricks bez zapisywania. Zobacz Włączanie federacji katalogu OneLake.