Bezpečné sdílení dat a prostředků AI pomocí rozdílového sdílení

Tento článek představuje rozdílové sdílení v Azure Databricks, což je zabezpečená platforma pro sdílení dat, která umožňuje sdílet data a prostředky AI v Azure Databricks s uživateli mimo vaši organizaci bez ohledu na to, jestli tito uživatelé používají Databricks, nebo ne.

Důležité

Články o rozdílovém sdílení na tomto webu se zaměřují na sdílení dat, poznámkových bloků a modelů AI v Azure Databricks. Rozdílové sdílení je k dispozici také jako opensourcový projekt , který můžete použít ke sdílení tabulek Delta z jiných platforem. Delta Sharing také poskytuje páteřní síť pro Databricks Marketplace, otevřené fórum pro výměnu datových produktů.

Poznámka:

Pokud jste příjemcem dat, kterému byl udělen přístup ke sdíleným datům prostřednictvím rozdílového sdílení a chcete se jen dozvědět, jak k datům přistupovat, přečtěte si článek Přístupová data sdílená s vámi pomocí rozdílového sdílení (pro příjemce).

Co je rozdílové sdílení?

Delta Sharing je otevřený protokol vyvinutý Službou Databricks pro zabezpečené sdílení dat s jinými organizacemi bez ohledu na výpočetní platformy, které používají.

Data můžete sdílet třemi způsoby pomocí rozdílového sdílení:

  1. Protokol sdílení Databricks-to-Databricks, který umožňuje sdílet data a prostředky AI z pracovního prostoru s podporou katalogu Unity s uživateli, kteří mají také přístup k pracovnímu prostoru Databricks s podporou katalogu Unity.

    Tento přístup používá server pro rozdílové sdílení, který je integrovaný do Azure Databricks. Podporuje některé funkce rozdílového sdílení, které nejsou podporované v jiných protokolech, včetně sdílení poznámkových bloků, sdílení svazků Katalogu Unity, sdílení modelů Unity Catalog AI, zásad správného řízení dat katalogu Unity, auditování a sledování využití pro poskytovatele i příjemce. Integrace s katalogem Unity zjednodušuje nastavení a zásady správného řízení pro poskytovatele i příjemce a zlepšuje výkon.

    Viz Sdílení dat pomocí protokolu Delta Sharing Databricks-to-Databricks (pro poskytovatele).

  2. Otevřený protokol sdílení Databricks, který umožňuje sdílet tabulková data, která spravujete v pracovním prostoru Databricks s podporou katalogu Unity, s uživateli na libovolné výpočetní platformě.

    Tento přístup používá server Delta Sharing, který je integrovaný do Azure Databricks a je užitečný při správě dat pomocí katalogu Unity a chcete ho sdílet s uživateli, kteří Databricks nepoužívají nebo nemají přístup k pracovnímu prostoru Databricks s podporou katalogu Unity. Integrace s katalogem Unity na straně poskytovatele zjednodušuje nastavení a zásady správného řízení pro poskytovatele.

    Viz Sdílení dat pomocí protokolu pro otevřené sdílení rozdílového sdílení (pro poskytovatele).

  3. Implementace open source serveru Delta Sharing spravovaná zákazníkem, která umožňuje sdílení z libovolné platformy na libovolnou platformu, ať už databricks, nebo ne.

    Dokumentace k Azure Databricks nepokrývá pokyny pro nastavení vlastního serveru pro sdílení delta. Viz github.com/delta-io/delta-sharing.

Sdílené složky, poskytovatelé a příjemci

Primárními koncepty základního sdílení Delta v Azure Databricks jsou sdílené složky, poskytovatelé a příjemci.

Co je to sdílená složka?

V rozdílovém sdílení je sdílená složka kolekcí tabulek a oddílů tabulky jen pro čtení, které chce poskytovatel sdílet s jedním nebo více příjemci. Pokud příjemce používá pracovní prostor Databricks s podporou katalogu Unity, můžete do sdílené složky zahrnout také soubory poznámkových bloků, zobrazení (včetně dynamických zobrazení, která omezují přístup na úrovni řádků a sloupců), svazků katalogu Unity a modelů katalogu Unity.

Tabulky, zobrazení, svazky, modely a soubory poznámkových bloků můžete přidávat nebo odebírat ze sdílené složky a kdykoli můžete ke sdílené složce přiřadit nebo odvolat přístup příjemce dat.

V pracovním prostoru Azure Databricks s podporou katalogu Unity je sdílená složka zabezpečitelný objekt zaregistrovaný v katalogu Unity. Pokud odeberete sdílenou složku z metastoru katalogu Unity, všichni příjemci této sdílené složky ztratí možnost získat k ní přístup.

Viz Vytvoření a správa sdílených složek pro rozdílové sdílení.

Co je poskytovatel?

Zprostředkovatel je entita, která sdílí data s příjemcem. Pokud jste poskytovatelem a chcete využít integrovaného serveru pro sdílení Databricks Delta a spravovat sdílené složky a příjemce pomocí katalogu Unity, potřebujete alespoň jeden pracovní prostor Azure Databricks, který je povolený pro Katalog Unity. Nemusíte migrovat všechny existující pracovní prostory do katalogu Unity. Jednoduše můžete vytvořit nový pracovní prostor s podporou katalogu Unity pro potřeby rozdílového sdílení.

Pokud je příjemce v pracovním prostoru Databricks s podporou katalogu Unity, poskytovatel je také zabezpečitelný objekt katalogu Unity, který představuje organizaci poskytovatele a přidruží ji k sadě sdílených složek.

Co je to příjemce?

Příjemce je entita, která přijímá sdílené složky od poskytovatele. V katalogu Unity je sdílená složka zabezpečitelným objektem, který představuje organizaci a přidruží ho k přihlašovacím údajům nebo zabezpečenému identifikátoru sdílení, který organizaci umožňuje přístup k jedné nebo více sdíleným složkám.

Jako poskytovatel dat (sdílející) můžete definovat více příjemců pro libovolný metastore katalogu Unity, pokud ale chcete sdílet data z více metastorů s konkrétním uživatelem nebo skupinou uživatelů, musíte pro každý metastor definovat příjemce samostatně. Příjemce může mít přístup k více sdíleným složkám.

Pokud poskytovatel odstraní příjemce z metastoru katalogu Unity, ztratí tento příjemce přístup ke všem sdíleným složkám, ke kterým by mohl dříve přistupovat.

Viz Vytváření a správa příjemců dat pro rozdílové sdílení.

Otevření sdílení versus sdílení Databricks-to-Databricks

Tato část popisuje dva protokoly pro sdílení z pracovního prostoru Databricks, který je povolený pro Katalog Unity.

Poznámka:

V této části se předpokládá, že poskytovatel je v pracovním prostoru Azure Databricks s podporou katalogu Unity. Další informace o nastavení opensourcového serveru pro sdílení rozdílového sdílení z jiné platformy než Databricks nebo pracovního prostoru katalogu non-Unity najdete v tématu github.com/delta-io/delta-sharing.

Způsob, jakým poskytovatel používá rozdílové sdílení v Azure Databricks, závisí na tom, s kým data sdílí:

  • Otevřené sdílení vám umožňuje sdílet data s libovolným uživatelem bez ohledu na to, jestli má přístup ke službě Azure Databricks.
  • Sdílení Databricks-to-Databricks umožňuje sdílet data s uživateli Azure Databricks, jejichž pracovní prostor je připojený k metastoru katalogu Unity, který se liší od vašeho. Databricks-to-Databricks také podporuje sdílení poznámkových bloků, svazků a modelů, které nejsou dostupné při otevřeném sdílení.

Co je otevřené Delta Sharing?

Pokud chcete sdílet data s uživateli mimo pracovní prostor Azure Databricks bez ohledu na to, jestli data používají, můžete data bezpečně sdílet pomocí funkce Delta Sharing. Jako poskytovatel dat vygenerujete token a bezpečně ho sdílíte s příjemcem. Tento token používají k ověření a získání přístupu pro čtení k tabulkám, které jste zahrnuli do sdílených složek, ke kterým jste jim udělili přístup.

Příjemci můžou ke sdíleným datům přistupovat pomocí mnoha výpočetních nástrojů a platforem, mezi které patří:

  • Azure Databricks
  • Apache Spark
  • Pandy
  • Power BI

Úplný seznam konektorů pro rozdílové sdílení a informace o tom, jak je používat, najdete v dokumentaci ke sdílení delta.

Viz také Sdílení dat pomocí protokolu Delta Sharing open sharing (pro poskytovatele).

Co je sdílení Databricks-to-Databricks Delta?

Pokud chcete sdílet data s uživateli, kteří mají pracovní prostor Databricks, který je povolený pro Katalog Unity, můžete použít Databricks-to-Databricks Delta Sharing. Sdílení Databricks-to-Databricks umožňuje sdílet data s uživateli v jiných účtech Databricks, ať už jsou v AWS, Azure nebo GCP. Je to také skvělý způsob, jak bezpečně sdílet data napříč různými metastory katalogu Unity ve vašem vlastním účtu Databricks. Všimněte si, že ke sdílení dat mezi pracovními prostory připojenými ke stejnému metastoru katalogu Unity není potřeba používat funkci Rozdílové sdílení, protože v tomto scénáři můžete pomocí samotného katalogu Unity spravovat přístup k datům napříč pracovními prostory.

Jednou z výhod sdílení Databricks-to-Databricks je, že příjemce sdílené složky nepotřebuje token pro přístup ke sdílené složce a poskytovatel nemusí spravovat tokeny příjemců. Zabezpečení připojení ke sdílení, včetně veškerého ověřování identity, ověřování a auditování, se spravuje výhradně prostřednictvím rozdílového sdílení a platformy Databricks. Další výhodou je možnost sdílet soubory, zobrazení, svazky katalogu Unity a modely katalogu Unity Databricks.

Viz také Sdílení dat pomocí protokolu Delta Sharing Databricks-to-Databricks (pro poskytovatele).

Jak správci poskytovatele nastavují rozdílové sdílení?

Tato část obsahuje přehled o tom, jak můžou poskytovatelé povolit rozdílové sdílení a zahájit sdílení z pracovního prostoru Azure Databricks s podporou katalogu Unity. Opensourcové rozdílové sdílení najdete v tématu github.com/delta-io/delta-sharing.

Sdílení databricks-to-Databricks mezi metastory katalogu Unity ve stejném účtu je vždy povolené. Pokud jste poskytovatel, který chce povolit sdílení dat s pracovními prostory Databricks v jiných účtech nebo jiných klientech než Databricks, správce účtu Azure Databricks nebo správce metastoru provede následující kroky nastavení (na vysoké úrovni):

  1. Povolte rozdílové sdílení pro metastore katalogu Unity, který spravuje data, která chcete sdílet.

    Poznámka:

    Pokud máte v úmyslu používat funkci Delta Sharing ke sdílení dat pouze s uživateli v jiných metastorech katalogu Unity ve vašem účtu, nemusíte u svého metastoru povolit funkci Sdílení Delta. Sdílení Metastore-to-metastore v rámci jednoho účtu služby Azure Databricks je ve výchozím nastavení povolené.

    Viz Povolení rozdílového sdílení v metastoru.

  2. Vytvořte sdílenou složku, která obsahuje datové prostředky zaregistrované v metastoru katalogu Unity.

    Pokud sdílíte s příjemcem, který není databricks (označovaný jako otevřené sdílení), můžete zahrnout tabulky ve formátu Delta nebo Parquet. Pokud plánujete sdílení Databricks-to-Databricks používat, můžete do sdílené složky přidat také zobrazení, svazky katalogu Unity, modely katalogu Unity a soubory poznámkových bloků.

    Viz Vytvoření a správa sdílených složek pro rozdílové sdílení.

  3. Vytvořte příjemce.

    Viz Vytváření a správa příjemců dat pro rozdílové sdílení.

    Pokud příjemce není uživatelem Databricks nebo nemá přístup k pracovnímu prostoru Databricks, který je povolený pro Katalog Unity, musíte použít otevřené sdílení. Pro tohoto příjemce se vygeneruje sada přihlašovacích údajů založených na tokenech.

    Pokud má váš příjemce přístup k pracovnímu prostoru Databricks, který je povolený pro katalog Unity, můžete použít sdílení Databricks k Databricks a nejsou vyžadovány žádné přihlašovací údaje založené na tokenech. Požádáte od příjemce o identifikátor sdílení a použijete ho k navázání zabezpečeného připojení.

    Tip

    Vyzkoušejte si proces nastavení sami sebe jako testovacího příjemce.

  4. Udělte příjemci přístup k jedné nebo více sdíleným složkám.

    Viz Správa přístupu ke sdíleným složkám dat Delta (pro poskytovatele).

    Poznámka:

    Tento krok může provést také uživatel bez oprávnění USE SHAREUSE RECIPIENT správce a SET SHARE PERMISSION oprávnění. Viz oprávnění katalogu Unity a zabezpečitelné objekty.

  5. Pošlete příjemci informace, které potřebují pro připojení ke sdílené složce (jenom otevřené sdílení).

    Viz Odeslání informací o připojení příjemce.

    Pro otevřené sdílení použijte zabezpečený kanál k odeslání aktivačního odkazu příjemce, který mu umožňuje stáhnout přihlašovací údaje založené na tokenech.

    Pro sdílení Databricks do Databricks se data zahrnutá do sdílené složky zpřístupní v pracovním prostoru Databricks příjemce hned po udělení přístupu ke sdílené složce.

Příjemce teď má přístup ke sdíleným datům.

Jak příjemci přistupují ke sdíleným datům?

Příjemci přistupují ke sdíleným datovým prostředkům ve formátu jen pro čtení. Sdílené soubory poznámkového bloku jsou jen pro čtení, ale dají se naklonovat a pak upravit a spustit v pracovním prostoru příjemce stejně jako jakýkoli jiný poznámkový blok.

Zabezpečený přístup závisí na modelu sdílení:

Kdykoli poskytovatel dat aktualizuje tabulky dat nebo svazky ve svém vlastním účtu Databricks, aktualizace se zobrazí téměř v reálném čase v systému příjemce.

Jak sledujete, kdo sdílí sdílená data a přistupuje k němu?

Poskytovatelé dat v pracovních prostorech Azure Databricks s podporou katalogu Unity můžou pomocí protokolování auditu a systémových tabulek Azure Databricks monitorovat vytváření a úpravy sdílených složek a příjemců a můžou monitorovat aktivity příjemců ve sdílených složkách. Viz Audit a monitorování sdílení dat.

Příjemci dat, kteří používají sdílená data v pracovním prostoru Databricks, můžou pomocí protokolování auditu Databricks a systémových tabulek zjistit, kdo k jakým datům přistupuje. Viz Audit a monitorování sdílení dat.

Sdílení svazků

Svazky můžete sdílet pomocí toku sdílení Databricks do Databricks. Viz Přidání svazků do sdílené složky (pro poskytovatele) a čtení dat sdílených pomocí Databricks-to-Databricks Delta Sharing (pro příjemce) (pro příjemce).

Sdílení modelů

Modely můžete sdílet pomocí toku sdílení Databricks do Databricks. Viz Přidání modelů do sdílené složky (pro poskytovatele) a čtení dat sdílených pomocí Databricks-to-Databricks Delta Sharing (pro příjemce) (pro příjemce).

Sdílení poznámkových bloků

Pomocí rozdílového sdílení můžete sdílet soubory poznámkových bloků pomocí toku sdílení Databricks do Databricks. Viz Přidání souborů poznámkového bloku do sdílené složky (pro poskytovatele) a čtení sdílených poznámkových bloků (pro příjemce).

Omezení přístupu na úrovni řádků a sloupců

Můžete sdílet dynamická zobrazení, která omezují přístup k určitým datům tabulky na základě vlastností příjemce. Dynamické sdílení zobrazení vyžaduje tok sdílení Databricks do Databricks. Viz Přidání dynamických zobrazení do sdílené složky pro filtrování řádků a sloupců.

Rozdílové sdílení a streamování

Rozdílové sdílení podporuje strukturované streamování Sparku. Poskytovatel může sdílet tabulku s historií, aby ji příjemce mohl používat jako zdroj strukturovaného streamování a zpracovávat sdílená data přírůstkově s nízkou latencí. Příjemci můžou také provádět dotazy na cestování času Delta Lake u tabulek sdílených s historií.

Informace o sdílení tabulek s historií najdete v tématu Přidání tabulek do sdílené složky. Informace o použití sdílených tabulek jako zdrojů streamování najdete v tématu Dotazování tabulky pomocí strukturovaného streamování Apache Sparku (pro příjemce sdílení Databricks-to-Databricks) nebo Přístup ke sdílené tabulce pomocí strukturovaného streamování Sparku (pro příjemce otevřených dat sdílení).

Viz také streamování v Azure Databricks.

Nejčastější dotazy ke sdílení delta

Toto jsou nejčastější dotazy týkající se rozdílového sdílení.

Potřebuji katalog Unity k používání rozdílového sdílení?

Ne, ke sdílení (jako poskytovatel) nebo ke využívání sdílených dat (jako příjemce) nepotřebujete katalog Unity. Katalog Unity ale poskytuje výhody, jako je podpora pro sdílení prostředků jiné než tabulkové a AI, předběžné zásady správného řízení, jednoduchost a výkon dotazů.

Poskytovatelé můžou sdílet data dvěma způsoby:

  • Prostředky, které chcete sdílet, umístěte do správy katalogu Unity a sdílejte je pomocí integrovaného serveru pro sdílení Azure Databricks Delta.

    Nemusíte migrovat všechny prostředky do katalogu Unity. Ke správě prostředků, které chcete sdílet, potřebujete jenom jeden pracovní prostor Azure Databricks, který je povolený pro Katalog Unity. V některých účtech jsou nové pracovní prostory pro Unity Catalog povolené automaticky. Viz Automatické povolení katalogu Unity.

  • Implementujte otevřený server Delta Sharing pro sdílení dat, aniž byste museli používat váš účet Azure Databricks.

Příjemci můžou data využívat dvěma způsoby:

  • Bez pracovního prostoru Databricks. Používejte opensourcové konektory Delta Sharing, které jsou k dispozici pro mnoho datových platforem, včetně Power BI, pandas a open source Apache Sparku. Viz Čtení dat sdílených pomocí otevřeného sdílení rozdílového sdílení (pro příjemce) a open source projektu Rozdílové sdílení.

  • V pracovním prostoru Databricks. Pracovní prostory příjemců nemusí být povolené pro katalog Unity, ale existují výhody zásad správného řízení, jednoduchosti a výkonu, pokud ano.

    Organizace příjemců, kteří chtějí tyto výhody, nemusí migrovat všechny prostředky do katalogu Unity. Ke správě prostředků, které s vámi někdo sdílí, potřebujete jenom jeden pracovní prostor Azure Databricks, který je povolený pro Službu Unity Catalog. V některých účtech jsou nové pracovní prostory pro Unity Catalog povolené automaticky. Viz Automatické povolení katalogu Unity.

Viz Čtení dat sdílených pomocí otevřeného sdílení rozdílového sdílení (pro příjemce) a čtení dat sdílených pomocí Databricks-to-Databricks Delta Sharing (pro příjemce).

Musím být zákazníkem Databricks, aby bylo možné používat funkci Delta Sharing?

Ne, Rozdílové sdílení je otevřený protokol. Data, která nejsou data Databricks, můžete sdílet s příjemci na libovolné datové platformě. Poskytovatelé můžou nakonfigurovat otevřený server pro sdílení delta pro sdílení z libovolné výpočetní platformy. Příjemci můžou využívat sdílená data pomocí opensourcových konektorů Delta Sharing pro mnoho datových produktů, včetně Power BI, pandas a open source Sparku.

Použití rozdílového sdílení v Azure Databricks, zejména sdílení z pracovního prostoru s podporou katalogu Unity, má ale mnoho výhod.

Podrobnosti najdete v první otázce v tomto nejčastějším dotazu.

Účtují se rozdílové sdílení náklady na výchozí přenos dat?

Rozdílové sdílení v rámci oblasti neúčtují žádné výchozí náklady. Rozdílové sdílení dat na rozdíl od jiných platforem sdílení dat nevyžaduje replikaci dat. Tento model má mnoho výhod, ale znamená to, že dodavatel cloudu může účtovat poplatky za výchozí přenos dat při sdílení dat mezi cloudy nebo oblastmi. Azure Databricks podporuje sdílení z Cloudflare R2 (Public Preview), které neúčtují žádné poplatky za výchozí přenos dat, a poskytuje další nástroje a doporučení pro monitorování a zabránění poplatkům za výchozí přenos dat. Viz Monitorování a správa nákladů na výchozí přenos dat rozdílového sdílení (pro poskytovatele).

Můžou poskytovatelé odvolat přístup příjemce?

Ano, přístup příjemce může být odvolán na vyžádání a na zadaných úrovních členitosti. Můžete odepřít přístup příjemců ke konkrétním sdíleným složkám a konkrétním IP adresám, filtrovat tabulková data pro příjemce, odvolat tokeny příjemců a zcela odstranit příjemce. Viz Odvolání přístupu příjemce ke sdílené složce a vytvoření a správě příjemců dat pro rozdílové sdílení.

Není nezabezpečené používat předem podepsané adresy URL?

Rozdílové sdílení používá předem podepsané adresy URL k poskytování dočasného přístupu k souboru v úložišti objektů. Dostanou se jenom příjemcům, kteří už mají přístup ke sdíleným datům. Jsou zabezpečené, protože jsou krátkodobé a nezvětšují úroveň přístupu nad rámec toho, co už mají příjemci udělené.

Jsou tokeny používané v zabezpečeném protokolu pro otevřené sdílení rozdílového sdílení?

Protože rozdílové sdílení umožňuje sdílení mezi platformami – na rozdíl od jiných dostupných platforem pro sdílení dat – protokol sdílení vyžaduje otevřený token. Poskytovatelé můžou zajistit zabezpečení tokenů konfigurací doby života tokenu, nastavením síťových ovládacích prvků a odvoláním přístupu na vyžádání. Token navíc nezvětší úroveň přístupu nad rámec toho, co příjemci už mají udělené. Viz Aspekty zabezpečení pro tokeny.

Pokud nechcete používat tokeny ke správě přístupu ke sdíleným složkám příjemců, měli byste použít sdílení Databricks k Databricks nebo kontaktovat tým účtu Databricks pro alternativy.

Podporuje rozdílové sdílení sdílení sdílení zobrazení?

Ano, Rozdílové sdílení podporuje sdílení zobrazení. Viz Přidání zobrazení do sdílené složky.

Pokud se chcete dozvědět o plánovaných vylepšeních sdílení, obraťte se na tým účtu Databricks.

Omezení

Kvóty prostředků

Následující hodnoty označují kvóty pro prostředky služby Delta Sharing. Níže uvedené hodnoty kvóty jsou vyjádřeny vzhledem k nadřazenému objektu v katalogu Unity.

Object Parent Hodnota
Zprostředkovatel metastore 1000
příjemci metastore 5000
sdílení metastore 1000
V tabulkách sdílet 1000
volumes sdílet 1000
modely sdílet 1000
schéma sdílet 500
poznámkové bloky sdílet 100

Pokud očekáváte překročení těchto limitů prostředků, obraťte se na svůj tým účtů Azure Databricks.

Další kroky