Poskytování přihlašovacích údajů katalogu Unity pro přístup k externím systémům

Spropitné

Informace o tom, jak číst Azure Databricks data pomocí Microsoft Fabric, najdete v tématu Microsoft Fabric s Azure Databricks.

Tato stránka popisuje, jak funkce pro vydávání přihlašovacích údajů v katalogu Unity podporuje přístup k datům v Azure Databricks z externích zpracovatelských enginů.

Distribuce přihlašovacích údajů podporuje externí systémy, které se připojují k Unity Catalog pomocí Unity REST API a Apache Iceberg REST katalogu. Podívejte se na tabulky Access Databricks z klientů Delta a přístup k datům Databricks pomocí externích systémů.

Co je distribuce přístupových údajů v systému Unity Catalog?

Vydávání přihlašovacích údajů poskytuje krátkodobé přihlašovací údaje prostřednictvím rozhraní Unity Catalog REST API. Udělené přihlašovací údaje dědí oprávnění principálu Azure Databricks použitého ke konfiguraci integrace. Existují dva typy vydávání přihlašovacích údajů:

  • Tabulkový prodej přihlašovacích údajů poskytuje přístup k datům registrovaným ve vašem metastoru Unity Catalog.
  • Poskytování přihlašovacích údajů pro cesty umožňuje přístup k externím umístěním ve vašem metastoru katalogu Unity.

Požadavky

  • Externí přístup musí být nakonfigurovaný v metastore a EXTERNAL USE SCHEMA musí být udělen subjektu, který žádá o přístup. Viz Povolení přístupu k externím datům na metastoru.
  • Adresa URL pracovního prostoru musí být přístupná pro žádající modul, včetně modulů za seznamy přístupu IP nebo Azure Private Link.
  • Adresy URL cloudového úložiště musí být přístupné prostřednictvím brány firewall a síťových ovládacích prvků.

Distribuce přihlašovacích údajů tabulky

Přihlašovací údaje tabulky zahrnují řetězec krátkodobého přístupového tokenu a adresu URL umístění cloudového úložiště, kterou může externí modul použít pro přístup k datům tabulek a metadatům z umístění cloudového úložiště.

Podporované typy přístupu

Vydávání přihlašovacích údajů pro tabulky podporuje následující typy tabulek a operace:

Typ tabulky Čti Napiš Create
Spravovaný Delta Ano Ano* Ano*
Externí delta Ano Ano Ano
Spravovaný iceberg Ano Ano Ano
Cizí ledovec Ano Ne Ne
Delta při čtení z Icebergu (UniForm) Ano Yes** Ne

* Vytváření a zápis do spravovaných tabulek katalogu Unity z klientů Delta jsou ve veřejném náhledu.

Po dokončení externího zápisu do tabulky UniForm z klienta Delta spusťte MSCK REPAIR TABLE pro vygenerování metadat Iceberg.

Poznámka

Někteří klienti podporují přístup k tabulkám založeným na Delta Lake, zatímco jiní vyžadují, abyste u tabulek povolili čtení Iceberg (UniForm). Viz Čtení tabulek Delta Lake s klienty Iceberg pomocí UniFormu.

Požádat o dočasné přístupové údaje k tabulce pro externí data

Podpora pro vydávání přihlašovacích údajů se liší podle externího klienta. Pokud je to podporované, měl by klient při konfiguraci připojení automaticky využívat prodejní přihlašovací údaje.

Tato část obsahuje příklad explicitního volání koncového bodu rozhraní API pro distribuci přihlašovacích údajů. Někteří externí klienti můžou vyžadovat, abyste explicitně nastavili konfigurace pro přístup k datům a metadatům v cloudovém úložišti objektů, které zálohují tabulky katalogu Unity. K nastavení přístupu můžete použít hodnoty vrácené automatizovaným vydáváním přihlašovacích údajů.

Poznámka

Seznam tabulek, které podporují ověření přihlašovacích údajů, můžete načíst vyvoláním rozhraní LISTTables API s povolenou možností include_manifest_capabilities. Pouze tabulky označené HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT nebo HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT mají nárok na použití v rozhraní API dočasných přihlašovacích údajů tabulky. Viz GET /api/2.1/unity-catalog/tables.

Následující curl příklad explicitně požaduje dočasné přihlašovací údaje pro přístup k externím datům. Tento požadavek musí být dokončený správcem pracovního prostoru s dostatečnými právy.

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

Podrobnosti najdete v tématu POST /api/2.1/unity-catalog/temporary-table-credentials v referenčních informacích k rozhraní AZURE DATABRICKS REST API.

Omezení

Existují následující omezení:

  • Ne všichni externí klienti podporují ověřování přihlašovacích údajů a podpora se může lišit v závislosti na podkladovém cloudovém úložišti objektů.
  • Klienti čtečky Delta Lake můžou číst pouze tabulky zálohované službou Delta Lake a musí podporovat všechny povolené protokoly pro čtení nebo zápis v tabulce. Viz kompatibilita a protokoly funkcí Delta Lake.
  • Externí tabulky, které nepoužívají Delta Lake, neposkytují transakční záruky.
  • Následující typy tabulek nebo tabulky s povolenými funkcemi nejsou podporované:
    • Tabulky s filtry řádků nebo maskami sloupců
    • Tabulky sdílené pomocí OpenSharingu
    • Pohledy.
    • Materializovaná zobrazení.
    • Streamované tabulky v pipelinech Lakeflow
    • Online tabulky.
    • Indexy vyhledávání AI
  • Aktualizace přihlašovacích údajů není podporována v Icebergu 1.9.0. Pro aktualizaci přihlašovacích údajů použijte nejnovější verzi Icebergu.

Distribuce přihlašovacích údajů v rámci cesty

Vystavené přihlašovací údaje umožňují přímý přístup k umístění cloudového úložiště, omezeným na příslušnou cestu. Jsou platné po omezenou dobu a neudělují širší přístup nad rámec definovaného umístění nebo tabulky.

Požádejte o dočasné přihlašovací údaje pro přístup k externím datům

Podpora pro vydávání přihlašovacích údajů se liší podle externího klienta. Pokud je to podporované, měl by klient při konfiguraci připojení automaticky využívat prodejní přihlašovací údaje.

Tato část obsahuje příklad explicitního volání koncového bodu rozhraní API pro distribuci přihlašovacích údajů. Někteří externí klienti můžou vyžadovat, abyste explicitně nastavili konfigurace pro přístup k datům a metadatům v cloudovém úložišti objektů, které zálohují tabulky katalogu Unity. K nastavení přístupu můžete použít hodnoty vrácené automatizovaným vydáváním přihlašovacích údajů.

Následující curl příklad explicitně požaduje dočasné přihlašovací údaje pro přístup k externím datům. Tento požadavek musí být dokončený správcem pracovního prostoru s dostatečnými právy.

curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-path-credentials \
-d '{"url": "<string>", "operation": "<PATH_READ|PATH_READ_WRITE|PATH_CREATE_TABLE>"}'

Podrobnosti najdete v tématu Vygenerujte dočasné přihlašovací údaje cesty v referenčních informacích k rozhraní Azure Databricks REST API.

Prodejní data přihlašovacích údajů svazku

Důležitý

Tato funkce je ve verzi Public Preview.

Poskytování přihlašovacích údajů pro svazky umožňuje externím enginům přistupovat k souborům uloženým ve svazcích v katalogu Unity Catalog pomocí dočasných přihlašovacích údajů s omezeným rozsahem oprávnění. Žadatel musí mít na schématu obsahujícím svazek oprávnění EXTERNAL USE SCHEMA a navíc READ VOLUME pro čtení nebo READ VOLUME a WRITE VOLUME pro zápis. Viz Co jsou svazky katalogu Unity?.

Unity Catalog ověřuje oprávnění a vrací krátkodobé přihlašovací údaje pro cloudové úložiště s omezeným rozsahem, vázané na cestu k úložišti daného svazku. Platnost přihlašovacích údajů vyprší automaticky a neudělují přístup nad rámec zadaného svazku.

Požadavky

  • V metastoru musí být povolený externí přístup. Viz Povolení přístupu k externím datům na metastoru.
  • Žadatel musí mít na schématu obsahujícím svazek oprávnění EXTERNAL USE SCHEMA a navíc READ VOLUME pro čtení nebo READ VOLUME a WRITE VOLUME pro zápis.
  • Externí modul musí mít přístup k adrese URL pracovního prostoru.
  • Adresy URL cloudového úložiště musí být přístupné prostřednictvím brány firewall a síťových ovládacích prvků.

Vyžádejte si přihlašovací údaje k dočasnému svazku pro přístup k externím datům

Následující curl příklad explicitně požaduje dočasné přihlašovací údaje pro přístup k externím datům.

curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.0/unity-catalog/temporary-volume-credentials \
-d '{"volume_id": "<volume-id>", "operation": "<READ_VOLUME|WRITE_VOLUME>"}'

Nebo použijte Python SDK pro Azure Databricks:

from databricks.sdk.service.catalog import VolumeOperation

creds = w.temporary_volume_credentials.generate_temporary_volume_credentials(
    volume_id=volume_id,
    operation=VolumeOperation.READ_VOLUME,
)

Podrobnosti najdete v tématu POST /api/2.0/unity-catalog/temporary-volume-credentials v referenčních informacích k rozhraní AZURE DATABRICKS REST API.

Omezení

  • Spravované svazky podporují pouze přístup pro čtení. Externí svazky podporují přístup pro čtení i zápis.