Řízení externího přístupu k datům v katalogu Unity
Důležité
Tato funkce je ve verzi Public Preview.
Tip
Informace o tom, jak číst data Azure Databricks pomocí Microsoft Fabric, najdete v tématu Použití Microsoft Fabric ke čtení dat registrovaných v Katalogu Unity.
Tento článek popisuje, jak řídit přístup k datům v Azure Databricks, když moduly externího zpracování používají otevřená rozhraní API katalogu Unity nebo rozhraní ICEBERG API pro přístup k datům, konkrétně když moduly používají funkci předávání přihlašovacích údajů katalogu Unity k získání přístupu.
Řízení přístupu popsané v tomto článku se zabývá scénáři, kdy se dočasné přihlašovací údaje používají ke čtení dat z katalogů Unity pomocí externích modulů a rozhraní, jako jsou:
- Rozhraní REST API icebergu
- Microsoft Fabric
- duckDB
- Apache Spark a Trino
Poznámka:
Katalog Unity implementuje rozhraní ICEBERG REST API prostřednictvím Delta Lake UniForm. Je to alternativní způsob, jak klientům Icebergu poskytnout přístup jen pro čtení k tabulkám Delta v katalogu Unity. Viz Použití uniformu ke čtení tabulek Delta s klienty Iceberg.
Přehled prodejních přihlašovacích údajů a udělení přístupu k externímu modulu
Pokud chcete použít externí modul pro přístup k datům registrovaným v metastore katalogu Unity, musíte požádat o krátkodobé přihlašovací údaje pomocí rozhraní REST API katalogu Unity. Proces, podle kterého katalog Unity uděluje toto přihlašovací údaje, se nazývá ověření přihlašovacích údajů.
Aby bylo možné udělit dočasné přihlašovací údaje, musí mít objekt zabezpečení Azure Databricks (uživatel, skupina nebo instanční objekt), který požadavek EXTERNAL USE SCHEMA
provede, oprávnění ke schématu obsahujícímu tabulku, ke které chce získat přístup z externího modulu. Metastor katalogu Unity, který obsahuje schéma, musí být také explicitně povolen pro externí přístup.
Když se privilegovanému objektu udělí dočasné přihlašovací údaje, obdrží řetězec tokenu krátkodobého přístupu a adresu URL cloudového úložiště, kterou můžou uživatelé externího modulu použít pro přístup k datovému objektu (tabulce) z umístění cloudového úložiště. Způsob použití přihlašovacích údajů a tokenu externím modulem je specifický pro externí modul a není zde popsaný.
Externí modul a konfigurace katalogu Unity Azure Databricks musí splňovat také specifické požadavky na síť, které jsou uvedeny v následujících částech.
Požadavky
Tato část obsahuje seznam síťových konfigurací, možností metastoru katalogu Unity, typů tabulek a oprávnění vyžadovaných pro zabezpečený přístup k datovým objektům katalogu Unity z externích modulů pomocí otevřených rozhraní API katalogu Unity nebo rozhraní ICEBERG REST API.
Požadavky na síť
- Pokud chcete získat přístup k pracovnímu prostoru Azure Databricks pomocí rozhraní Open API katalogu Unity nebo rozhraní ICEBERG REST API, musí být adresa URL pracovního prostoru přístupná modulu provádějícímu požadavek. To zahrnuje pracovní prostory, které používají přístupové seznamy IP adres nebo Azure Private Link.
- Pokud chcete získat přístup k základnímu cloudovému úložišti pro datové objekty zaregistrované v katalogu Unity, musí být adresy URL úložiště generované dočasnými přihlašovacími údaji katalogu Unity přístupné pro modul provádějící požadavek. To znamená, že modul musí být povolený v seznamech firewallu a řízení přístupu k síti pro podkladové účty cloudového úložiště.
Požadavky na metastore katalogu Unity a datové objekty
- Metastor musí být povolený pro přístup k externím datům.
- Ve verzi Public Preview se podporují jenom tabulky.
- Externí tabulky podporují čtení a zápis.
- Spravované tabulky je možné jen číst.
- Následující typy tabulek se nepodporují:
- Tabulky s filtry řádků nebo maskami sloupců
- Tabulky sdílené pomocí rozdílového sdílení
- Federované tabulky Lakehouse (cizí tabulky)
- Zobrazení
- Materializovaná zobrazení
- Streamované tabulky Delta Live Tables
- Online tabulky
- Indexy vektorových vyhledávání
Požadavky na oprávnění
Objekt zabezpečení, který požaduje dočasné přihlašovací údaje, musí mít:
Oprávnění
EXTERNAL USE SCHEMA
k obsahu schématu nebo nadřazeného katalogu.Toto oprávnění musí být vždy uděleno explicitně. Pouze vlastník nadřazeného katalogu ho může udělit. Aby nedošlo k náhodnému exfiltraci,
ALL PRIVILEGES
nezahrnujeEXTERNAL USE SCHEMA
oprávnění a vlastníci schématu ve výchozím nastavení toto oprávnění nemají.SELECT
oprávnění pro tabulku,USE CATALOG
nadřazený katalog aUSE SCHEMA
nadřazené schéma.
Povolení přístupu k externím datům v metastoru
Aby externí moduly mohly přistupovat k datům v metastoru, musí správce metastoru povolit přístup k externím datům pro metastor. Tato možnost je ve výchozím nastavení zakázaná, aby se zabránilo neoprávněnému externímu přístupu.
- V pracovním prostoru Azure Databricks připojeném k metastoru klikněte na Katalog.
- Klikněte na ikonu ozubeného kola v horní části podokna Katalog a vyberte Metastore.
- Na kartě Podrobnosti povolte přístup k externím datům.
Vyžádání dočasných přihlašovacích údajů pro přístup k externím datům
Pokud chcete požádat o dočasné přihlašovací údaje pro přístup k externím datům, musí uživatel pracovního prostoru, který splňuje výše uvedené požadavky, použít /api/2.1/unity-catalog/temporary-table-credentials
rozhraní API.
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 include_manifest_capabilities
možností. Pouze tabulky označené HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT
nebo HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT
mají nárok na referenci v rozhraní API pro dočasné přihlašovací údaje tabulky. Viz GET /api/2.1/unity-catalog/tables.
Příklad:
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>"}'
Podrobnosti najdete v tématu POST /api/2.1/unity-catalog/temporary-table-credentials v referenčních informacích k rozhraní REST API služby Azure Databricks.