Připojení ke cloudovému úložišti objektů pomocí katalogu Unity

Tento článek obsahuje přehled připojení cloudového úložiště, která jsou potřebná pro práci s daty pomocí katalogu Unity, a informace o tom, jak katalog Unity řídí přístup ke cloudovému úložišti a externím cloudovým službám.

Jak katalog Unity používá cloudové úložiště?

Databricks doporučuje ke správě přístupu ke všem datům uloženým v cloudovém úložišti objektů pomocí katalogu Unity. Unity Catalog poskytuje sadu nástrojů pro konfiguraci zabezpečených připojení ke cloudovému úložišti objektů. Tato připojení poskytují přístup k provedení následujících akcí:

  • Ingestování nezpracovaných dat do jezera
  • Vytváření a čtení spravovaných tabulek a spravovaných svazků nestrukturovaných dat v cloudovém úložišti spravovaném v Katalogu Unity
  • Zaregistrujte nebo vytvořte externí tabulky obsahující tabulková data a externí svazky obsahující nestrukturovaná data v cloudovém úložišti spravovaném pomocí poskytovatele cloudu.
  • Čtení a zápis nestrukturovaných dat ( svazky katalogu Unity)

Katalog Unity používá cloudové úložiště dvěma primárními způsoby:

  • Výchozí (nebo "spravovaná") umístění úložiště pro spravované tabulky a spravované svazky (nestrukturovaná, ne tabulková data), která vytvoříte v Databricks. Tato spravovaná umístění úložiště je možné definovat na úrovni metastoru, katalogu nebo schématu. Ve svém poskytovateli cloudu vytvoříte spravovaná umístění úložiště, ale správu jejich životního cyklu plně zajišťuje Unity Catalog.
  • Umístění úložiště, kde jsou uložené externí tabulky a svazky. Jedná se o tabulky a svazky, jejichž přístup z Azure Databricks spravuje Katalog Unity, ale jejichž životní cyklus dat a rozložení souborů se spravují pomocí poskytovatele cloudu a dalších datových platforem. K registraci velkých objemů stávajících dat v Azure Databricks obvykle používáte externí tabulky nebo pokud potřebujete také přístup k zápisu k datům pomocí nástrojů mimo Azure Databricks.

Další informace o spravovaných a externích tabulkách a svazcích najdete v tématu Tabulky Azure Databricks a Co jsou svazky katalogu Unity?.

Výstraha

Neudělujte identitám, které nejsou součástí katalogu Unity, přístup na úrovni úložiště ke spravovaným tabulkám nebo svazkům katalogu Unity. To ohrožuje zabezpečení a zásady správného řízení dat.

Udělení přístupu uživatelům, instančním objektům nebo spravovaným identitám přímý přístup ke kontejnerům Azure Data Lake Storage, které obsahují data spravovaná katalogem Unity, obchází katalog Unity. Tím se data zpřístupňují nadměrnému oprávnění, exfiltraci a neoprávněnému přístupu a zároveň komplikují auditování a zvyšují režijní náklady na správu.

Přímý přístup k úložišti není podporován pro spravované tabulky katalogu Unity.

Možnosti cloudového úložiště podporované katalogem Unity

Unity Catalog podporuje následující možnosti cloudového úložiště pro Azure Databricks.

Možnost cloudového úložiště Popis
Kontejnery Azure Data Lake Storage Azure Data Lake Storage je vhodný pro většinu případů použití Azure Databricks. Viz Vytvoření přihlašovacích údajů úložiště pro připojení ke službě Azure Data Lake Storage
Kontejnery AWS S3 Azure Databricks podporuje přístup jen pro čtení pro různé platformy k kontejnerům S3. Viz Vytvoření přihlašovacích údajů úložiště pro připojení k AWS S3 (jen pro čtení).
Úložiště Cloudflare R2 Cloudflare R2 je určen především pro případy použití Delta Sharing, ve kterých se chcete vyhnout poplatkům za odchozí přenos dat. Viz Vytvoření přihlašovacích údajů úložiště pro připojení ke Cloudflare R2.
Kořen DBFS Kořen DBFS je starší cloudové úložiště. Ačkoli Databricks nedoporučuje ukládat data do kořenového úložiště DBFS, váš pracovní prostor tak může činit kvůli zastaralým praktikám. Viz Připojení k kořenovému externímu umístění DBFS (starší verze).

Jak katalog Unity řídí přístup ke cloudovému úložišti?

Ke správě přístupu k podkladovému cloudovému úložišti, které obsahuje tabulky a svazky, používá Katalog Unity zabezpečitelný objekt označovaný jako externí umístění, který definuje cestu k umístění cloudového úložiště a přihlašovací údaje potřebné pro přístup k němuž. Tyto oprávnění úložiště jsou následně definovány v zabezpečitelném objektu katalogu Unity nazývaném oprávnění úložiště. Udělením a odvoláním přístupu k externím umístěním zabezpečení v rámci katalogu Unity řídíte přístup k datům v umístění cloudového úložiště. Udělením a odvoláním přístupu k zabezpečení přihlašovacích údajů úložiště v katalogu Unity kontrolujete schopnost vytvářet objekty externího umístění.

Přehled přihlašovacích údajů úložiště

Přihlašovací údaje úložiště představují mechanismus ověřování a autorizace pro přístup k datům uloženým ve vašem cloudovém tenantovi. Přihlašovací údaje úložiště jsou například přidružené ke spravované identitě Azure nebo instančnímu objektu pro kontejnery Azure Data Lake Storage nebo tokenu rozhraní API R2 pro kontejnery Cloudflare R2.

Oprávnění udělená v katalogu Unity určují, kteří uživatelé a skupiny můžou k definování externích umístění použít přihlašovací údaje. Oprávnění k vytváření a používání přihlašovacích údajů úložiště by mělo být uděleno pouze uživatelům, kteří potřebují vytvářet objekty externího umístění.

Přehled externích umístění

Externí umístění kombinuje cestu cloudového úložiště s přihlašovacími údaji úložiště, které autorizuje přístup k zadané cestě. Stejné přihlašovací údaje k úložišti může používat více externích umístění. Externí umístění můžou odkazovat na cesty úložiště v některé z podporovaných možností cloudového úložiště.

Následující diagram ukazuje, jak externí umístění odkazují na přihlašovací údaje a cloudové úložiště.

Vztah mezi přihlašovacími údaji úložiště, externími umístěními a cloudovým úložištěm

V tomto diagramu:

  • Každé externí umístění odkazuje na přihlašovací údaje úložiště a cloudové úložiště.
  • Více externích umístění může odkazovat na stejná pověření úložiště. Přihlašovací údaje úložiště 1 uděluje přístup ke všemu pod cestou bucket/tables/*, takže externí umístění A i externí umístění B na něj odkazují.

Externí umístění se používají v katalogu Unity pro externí datové prostředky, jako jsou externí tabulky a externí svazky, a pro spravované datové prostředky, jako jsou spravované tabulky a spravované svazky. Další informace o rozdílu mezi externími a spravovanými datovými prostředky v katalogu Unity najdete v tématu Tabulky Azure Databricks a Co jsou svazky katalogu Unity?

Oprávnění udělená v katalogu Unity řídí, kteří uživatelé a skupiny mají přístup k cestě cloudového úložiště definované externím umístěním. Oprávnění k vytváření a používání externích umístění by mělo být uděleno pouze uživatelům, kteří potřebují vytvářet externí tabulky, externí svazky nebo spravovaná umístění úložiště.

Informace o osvědčených postupech pro používání externích umístění najdete v tématu Externí umístění.

Použití externích umístění při vytváření externích tabulek a svazků

Externí tabulky a externí svazky zaregistrované v katalogu Unity jsou v podstatě ukazatele na data v cloudovém úložišti, které spravujete mimo Azure Databricks. Při vytváření externí tabulky nebo externího svazku v katalogu Unity musíte odkazovat na cestu cloudového úložiště, která je součástí objektu externího umístění, ke kterému jste získali odpovídající oprávnění. Další informace o rozdílu mezi externími a spravovanými datovými prostředky v katalogu Unity najdete v tématu Tabulky Azure Databricks a Co jsou svazky katalogu Unity? Oprávnění naleznete pod Udělit oprávnění k externímu umístění.

Použití externích umístění při vytváření spravovaného úložiště

Spravované tabulky a spravované svazky jsou plně spravovány katalogem Unity. Ve výchozím nastavení se ukládají ve spravovaném umístění úložiště, které je možné definovat na úrovni metastoru, katalogu nebo schématu. Když přiřadíte spravované umístění úložiště k metastoru, katalogu nebo schématu, musíte odkazovat na objekt externího umístění a musíte mít odpovídající oprávnění k jeho použití. Viz Určení spravovaného umístění úložiště v katalogu Unity a osvědčené postupy katalogu Unity.

Přístup k datům v cloudovém úložišti na základě cesty

Ačkoli Katalog Unity podporuje přístup k externím tabulkám a externím svazkům pomocí identifikátorů URI cloudového úložiště, Databricks doporučuje, aby uživatelé četli a zapisovali všechny tabulky Katalogu Unity pomocí názvů tabulek a přistupovali k datům ve svazcích pomocí /Volumes cest. Svazky jsou zabezpečitelný objekt, který by většina uživatelů Azure Databricks měla použít k přímé interakci s ne tabulkovými daty v cloudovém úložišti objektů. Viz Co jsou svazky katalogu Unity?.

Výstraha

Pokud aktualizujete metadata externí tabulky pomocí klienta jiného než Databricks nebo interním přístupem v rámci Databricks, tato metadata automaticky nesynchronizují stav s Unity Catalog. Databricks nedoporučuje tyto aktualizace metadat, ale pokud je přesto provedete, musíte spustit MSCK REPAIR TABLE <table-name> SYNC METADATA, aby bylo schéma v katalogu Unity aktuální. Viz REPAIR TABLE.

Pracovní postup správy přístupu ke cloudovému úložišti v katalogu Unity

Pokud chcete spravovat přístup ke cloudovému úložišti pomocí katalogu Unity, postupujte takto:

  1. Vytvořte objekt přihlašovacích údajů úložiště, který obsahuje dlouhodobé cloudové přihlašovací údaje, jako je spravovaná identita Azure nebo služba principal, s přístupem k cloudové úložné cestě.
  2. Vytvořte objekt externího umístění, který odkazuje na cestu k úložišti a objekt přihlašovacích údajů úložiště.
  3. Odkazujte na cestu, která je součástí externího umístění při vytváření externích tabulek, externích svazků nebo spravovaných výchozích úložišť. Může to být přesná cesta definovaná v externím umístění nebo podcesta.

Osvědčené postupy pro cloudové úložiště Azure s využitím katalogu Unity

Azure Databricks vyžaduje použití Služby Azure Data Lake Storage jako služby úložiště Azure pro data zpracovávaná v Azure Databricks pomocí zásad správného řízení katalogu Unity. Azure Data Lake Storage umožňuje oddělit náklady na úložiště a výpočetní prostředky a využívat jemně odstupňované řízení přístupu poskytované katalogem Unity. Pokud jsou data uložená v OneLake (Microsoft Fabric Data Lake) a zpracovávají se službou Databricks (obejití katalogu Unity), může vám vzniknout spojené náklady na úložiště a výpočetní prostředky. Pokud je tato sada součástí, může to vést k nákladům, které jsou přibližně 2x vyšší pro čtení a 2,6x vyšší pro zápisy v porovnání s úrovní Premium služby Azure Data Lake Storage pro ukládání, čtení a zápis dat. Služba Azure Blob Storage je také nekompatibilní s katalogem Unity. Databricks doporučuje používat cenový model průběžných plateb pro Fabric, což poskytuje větší flexibilitu při volbě úložiště a výpočetních možností.

Vlastnost Azure Blob Storage Azure Data Lake Storage OneLake
Podporováno katalogem Unity X X
Vyžaduje další nákup kapacity Fabric. X X
Podporované operace z externích systémů
  • Čti
  • Napiš
  • Čti
  • Napiš
  • Čti
  • Napiš

Při použití sloučeného cenového modelu výpočetního a úložištního se účtují až dvakrát náklady ve srovnání se čtením dat ze služby Azure Data Lake Storage a zápisy se účtují až 2,6krát oproti zápisu dat do Azure Data Lake Storage Premium Tier.
Podrobnosti najdete v dokumentaci k OneLake.
Nasazení Regionální Regionální Globální
Autentizace Sdílený přístupový podpis Entra ID Sdílený přístupový podpis Entra ID Entra ID
Události úložiště X
Měkké odstranění
Řízení přístupu RBAC RBAC (Role-Based Access Control - řízení přístupu na základě rolí), ABAC (Attribute-Based Access Control - řízení přístupu na základě atributů), ACL (Access Control List - seznam řízení přístupu) RBAC (pouze tabulka nebo složka, zkratky ACL nejsou podporovány)
Šifrovací klíče X
Úrovně přístupu Online archiv Horká, chladná, studená, archiv Jen horké

Další kroky