Kontrolowanie zewnętrznego dostępu do danych w wykazie aparatu Unity

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Napiwek

Aby uzyskać informacje na temat odczytywania danych usługi Azure Databricks przy użyciu usługi Microsoft Fabric, zobacz Używanie usługi Microsoft Fabric do odczytywania danych zarejestrowanych w wykazie aparatu Unity.

W tym artykule opisano sposób kontrolowania dostępu do danych w usłudze Azure Databricks, gdy aparaty przetwarzania zewnętrznego używają otwartych interfejsów API usługi Unity lub interfejsów API góry lodowej w celu uzyskania dostępu do tych danych, w szczególności w przypadku korzystania z funkcji automatu poświadczeń wykazu aparatu Unity w celu uzyskania dostępu.

Mechanizmy kontroli dostępu opisane w tym artykule obejmują scenariusze, w których poświadczenia tymczasowe są używane do odczytywania danych z wykazów aparatu Unity przy użyciu aparatów zewnętrznych i interfejsów, takich jak:

  • Interfejsy API REST góry lodowej
  • Microsoft Fabric
  • duckDB
  • Apache Spark i Trino

Uwaga

Wykaz aparatu Unity implementuje interfejsy API REST Góry lodowej za pośrednictwem usługi Delta Lake UniForm, alternatywny sposób zapewnienia klientom góry lodowej dostępu tylko do odczytu do tabel delty w wykazie aparatu Unity. Zobacz Używanie programu UniForm do odczytywania tabel delty z klientami góry lodowej.

Omówienie sprzedaży poświadczeń i udzielania dostępu do aparatu zewnętrznego

Jeśli chcesz użyć aparatu zewnętrznego do uzyskiwania dostępu do danych zarejestrowanych w magazynie metadanych wykazu aparatu Unity, musisz zażądać krótkotrwałego poświadczenia przy użyciu interfejsu API REST wykazu aparatu Unity. Proces, za pomocą którego wykaz aparatu Unity udziela tego poświadczenia, jest nazywany automatem poświadczeń.

Aby można było udzielić tymczasowego poświadczenia, jednostka usługi Azure Databricks (użytkownik, grupa lub jednostka usługi), która wysyła żądanie, musi mieć EXTERNAL USE SCHEMA uprawnienia do schematu zawierającego tabelę, do której chce uzyskać dostęp z aparatu zewnętrznego. Magazyn metadanych wykazu aparatu Unity zawierający schemat musi być również jawnie włączony w celu uzyskania dostępu zewnętrznego.

Po udzieleniu uprzywilejowanego podmiotu zabezpieczeń poświadczeń tymczasowych otrzymują krótkotrwały ciąg tokenu dostępu i adres URL lokalizacji przechowywania w chmurze, którego użytkownicy aparatu zewnętrznego mogą używać do uzyskiwania dostępu do obiektu danych (tabeli) z lokalizacji magazynu w chmurze. Sposób użycia poświadczeń i tokenu przez aparat zewnętrzny jest specyficzny dla aparatu zewnętrznego i nie jest tu omówiony.

Aparat zewnętrzny i konfiguracja wykazu aparatu Unity usługi Azure Databricks muszą również spełniać określone wymagania dotyczące sieci, które są wyliczane w kolejnych sekcjach.

Wymagania

W tej sekcji wymieniono konfiguracje sieci, opcje magazynu metadanych wykazu aparatu Unity, typy tabel i uprawnienia wymagane do bezpiecznego dostępu do obiektów danych wykazu aparatu Unity z aparatów zewnętrznych przy użyciu otwartych interfejsów API lub interfejsów API REST góry lodowej w wykazie aparatu Unity.

Wymagania dotyczące sieci

  • Aby uzyskać dostęp do obszaru roboczego usługi Azure Databricks przy użyciu interfejsów API Open API usługi Unity lub interfejsów API REST Góry Lodowej, adres URL obszaru roboczego musi być dostępny dla aparatu wykonującego żądanie. Obejmuje to obszary robocze korzystające z list dostępu do adresów IP lub usługi Azure Private Link.
  • Aby uzyskać dostęp do bazowej lokalizacji magazynu w chmurze dla obiektów danych zarejestrowanych w wykazie aparatu Unity, adresy URL magazynu generowane przez interfejs API poświadczeń tymczasowych wykazu aparatu Unity muszą być dostępne dla aparatu wykonującego żądanie. Oznacza to, że aparat musi być dozwolony na listach kontroli dostępu do zapory i sieci dla bazowych kont magazynu w chmurze.

Wymagania dotyczące magazynu metadanych i obiektu danych wykazu aparatu Unity

  • Magazyn metadanych musi być włączony dla dostępu do danych zewnętrznych.
  • Tylko tabele są obsługiwane w publicznej wersji zapoznawczej.
    • Tabele zewnętrzne obsługują odczyt i zapis.
    • Tabele zarządzane można odczytywać tylko.
  • Następujące typy tabel nie są obsługiwane:
    • Tabele z filtrami wierszy lub maskami kolumn.
    • Tabele współużytkowane przy użyciu funkcji udostępniania różnicowego.
    • Tabele federacyjne lakehouse (tabele obce).
    • Widoki
    • Zmaterializowane widoki
    • Tabele przesyłania strumieniowego tabel na żywo usługi Delta Live Tables
    • Tabele online
    • Indeksy wyszukiwania wektorowego

Wymagania dotyczące uprawnień

Podmiot zabezpieczeń, który żąda tymczasowego poświadczenia, musi mieć następujące jednostki:

  • Uprawnienie EXTERNAL USE SCHEMA do zawartego schematu lub katalogu nadrzędnego.

    To uprawnienie musi być zawsze przyznawane jawnie. Tylko właściciel wykazu nadrzędnego może mu udzielić. Aby uniknąć przypadkowej eksfiltracji, ALL PRIVILEGES nie obejmuje EXTERNAL USE SCHEMA uprawnień, a właściciele schematu nie mają tego uprawnienia domyślnie.

  • SELECT uprawnienia do tabeli, USE CATALOG w katalogu nadrzędnym i USE SCHEMA w schemacie nadrzędnym.

Włączanie dostępu do danych zewnętrznych w magazynie metadanych

Aby umożliwić aparatom zewnętrznym dostęp do danych w magazynie metadanych, administrator magazynu metadanych musi włączyć dostęp do danych zewnętrznych dla magazynu metadanych. Ta opcja jest domyślnie wyłączona, aby zapobiec nieautoryzowanemu dostępowi zewnętrznemu.

  1. W obszarze roboczym usługi Azure Databricks dołączonym do magazynu metadanych kliknij pozycję Ikona wykazu Wykaz.
  2. Kliknij ikonę Ikona koła zębatego koła zębatego w górnej części okienka Wykaz i wybierz pozycję Magazyn metadanych.
  3. Na karcie Szczegóły włącz dostęp do danych zewnętrznych.

Żądanie tymczasowego poświadczenia dla dostępu do danych zewnętrznych

Aby zażądać tymczasowego poświadczenia dostępu do danych zewnętrznych, użytkownik obszaru roboczego, który spełnia wymagania wymienione powyżej, musi użyć interfejsu /api/2.1/unity-catalog/temporary-table-credentials API.

Uwaga

Listę tabel obsługujących automaty poświadczeń można pobrać, wywołując interfejs API ListTables z włączoną opcją include_manifest_capabilities . Tylko tabele oznaczone HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT lub HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT kwalifikują się do odwołania w interfejsie API temporary-table-credentials. Zobacz GET /api/2.1/unity-catalog/tables.

Na przykład:

curl -X POST -H "Authentication: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-table-credentials \
-d '{"table_id": "<string>", "operation_name": "<READ|READ_WRITE>"}'

Aby uzyskać szczegółowe informacje, zobacz POST /api/2.1/unity-catalog/temporary-table-credentials w dokumentacji interfejsu API REST usługi Azure Databricks.