Sdílet prostřednictvím


Jemné řízení přístupu na vyhrazeném výpočetním systému (dříve pro jednoho uživatele)

Tento článek představuje funkci filtrování dat, která umožňuje jemně odstupňované řízení přístupu u dotazů, které běží na vyhrazených výpočetních prostředcích (pro všechny účely nebo úlohy nakonfigurované pomocí režimu přístupu Dedicated). Viz režimy Accessu.

Toto filtrování dat se provádí na pozadí pomocí bezserverového výpočetního prostředí.

Proč některé dotazy na vyhrazené výpočetní prostředky vyžadují filtrování dat?

Katalog Unity umožňuje řídit přístup k tabulkovým datům na úrovni sloupců a řádků (označované také jako jemně odstupňované řízení přístupu) pomocí následujících funkcí:

Když se uživatelé dotazují na zobrazení, která vylučují data z odkazovaných tabulek nebo tabulek dotazů, které používají filtry a masky, můžou bez omezení použít některý z následujících výpočetních prostředků:

  • SQL Warehouses
  • Standardní výpočetní prostředky (dříve sdílené výpočetní prostředky)

Pokud ale k provedení takových dotazů použijete vyhrazené výpočetní prostředky, výpočetní prostředky a pracovní prostor musí splňovat konkrétní požadavky:

Pokud váš vyhrazený výpočetní prostředek a pracovní prostor splňují tyto požadavky, spustí se filtrování dat automaticky při každém dotazování na zobrazení nebo tabulku, která používá jemně odstupňované řízení přístupu.

Podpora materializovaných zobrazení, streamovaných tabulek a standardních zobrazení

Kromě dynamických zobrazení, filtrů řádků a masek sloupců umožňuje filtrování dat také dotazy na následující zobrazení a tabulky, které nejsou podporovány na vyhrazených výpočetních prostředcích se spuštěným Modulem Databricks Runtime 15.3 a níže:

Na vyhrazených výpočetních prostředcích, na kterých běží Databricks Runtime 15.3 a níže, musí mít uživatel, který spouští dotaz v zobrazení, SELECT v tabulkách a zobrazeních odkazovaných v zobrazení, což znamená, že zobrazení nemůžete použít k zajištění podrobného řízení přístupu. V Databricks Runtime 15.4 s filtrováním dat nepotřebuje uživatel, který provádí dotaz na zobrazení, přístup k odkazovaným tabulkám a zobrazením.

Jak funguje filtrování dat na vyhrazených výpočetních prostředcích?

Pokaždé, když dotaz přistupuje k následujícím databázovým objektům, vyhrazený výpočetní prostředek předá dotaz společně s bezserverovým výpočetním prostředím za účelem filtrování dat:

  • Zobrazení vytvořená nad tabulkami, u kterých uživatel nemá privilegium SELECT
  • Dynamická zobrazení
  • Tabulky s definovanými filtry řádků nebo maskami sloupců
  • Materializovaná zobrazení a streamované tabulky

V následujícím diagramu má SELECT uživatel zapnutý table_1view_2, a table_w_rls, který má použité filtry řádků. Uživatel nemá SELECT zapnutý table_2, na který odkazuje view_2.

Diagram znázorňující, jak funguje filtrování dat

Dotaz na table_1 zpracovává výhradně vyhrazený výpočetní prostředek, protože se nevyžaduje žádné filtrování. Dotazy na view_2 data a table_w_rls vyžadují filtrování dat, aby vrátila data, ke kterým má uživatel přístup. Tyto dotazy zpracovává funkce filtrování dat na bezserverových výpočetních prostředcích.

Jaké náklady vzniknou?

Zákazníci se účtují za výpočetní prostředky bez serveru, které se používají k provádění operací filtrování dat. Informace o cenách najdete v tématu Úrovně platformy a doplňky.

Dotazem na tabulku využití fakturace systému můžete zjistit, kolik se vám účtovalo. Například následující dotaz rozdělí náklady na výpočetní prostředky podle uživatele:

SELECT usage_date,
sku_name,
 identity_metadata.run_as,
SUM(usage_quantity) AS `DBUs consumed by FGAC`
FROM system.billing.usage
WHERE usage_date BETWEEN '2024-08-01' AND '2024-09-01'
 AND billing_origin_product = 'FINE_GRAINED_ACCESS_CONTROL'
GROUP BY 1, 2, 3 ORDER BY 1;

Zobrazení výkonu dotazů při zapojení filtrování dat

Uživatelské rozhraní Sparku pro vyhrazené výpočetní prostředky zobrazuje metriky, které můžete použít k pochopení výkonu dotazů. Pro každý dotaz, který spustíte na výpočetním prostředku, zobrazí karta SQL/Dataframe reprezentaci grafu dotazu. Pokud byl dotaz zapojen do filtrování dat, uživatelské rozhraní zobrazí uzel operátoru RemoteSparkConnectScan v dolní části grafu. Tento uzel zobrazuje metriky, které můžete použít k prozkoumání výkonu dotazů. Viz Zobrazení informací o výpočetních prostředcích v uživatelském rozhraní Apache Sparku.

SparkUI zobrazující uzel RemoteSparkConnectScan

Rozbalte uzel operátoru RemoteSparkConnectScan a zobrazte metriky, které řeší například následující otázky:

  • Kolik času trvalo filtrování dat? Zobrazit "celkový čas vzdáleného spuštění".
  • Kolik řádků zůstalo po filtrování dat? Zobrazit "výstup řádků".
  • Kolik dat (v bajtech) bylo vráceno po filtrování dat? Zobrazit "velikost výstupu řádků".
  • Kolik datových souborů bylo prořezáno podle oddílů a nemuselo se číst z úložiště? Zobrazit "Soubory vyřazené" a "Velikost souborů vyříznutých".
  • Kolik datových souborů nebylo možné vyříznout a muselo být načteno z úložiště? Zobrazení "Čtení souborů" a "Velikost přečtených souborů".
  • Z souborů, které se musely číst, kolik už bylo v mezipaměti? Zobrazení "Velikost přístupů do mezipaměti" a "Velikost zmeškaných mezipamětí".

Omezení

  • U tabulek s použitými filtry řádků nebo maskami sloupců není podporována operace zápisu nebo aktualizace tabulek.

    Konkrétně se nepodporují operace DML, například INSERT,DELETE, UPDATEREFRESH TABLE, a MERGE, . Z těchto tabulek můžete číst pouze (SELECT).

  • Při zavolání filtrování dat se ve výchozím nastavení zablokují spojení sama, ale můžete je povolit nastavením spark.databricks.remoteFiltering.blockSelfJoins na false na výpočetních prostředcích, na kterých tyto příkazy spouštíte.

    Než povolíte samoobslužná spojení u vyhrazeného výpočetního prostředku, mějte na paměti, že dotaz samoobslužného spojení zpracovávaný funkcí filtrování dat by mohl vracet různé snímky stejné vzdálené tabulky.

  • V Docker obrazech není podpora.
  • Pokud byl váš pracovní prostor nasazen s bránou firewall před listopadem 2024, musíte otevřít porty 8443 a 8444, abyste povolili podrobné řízení přístupu pro vyhrazené výpočetní prostředky. Viz pravidla skupiny zabezpečení sítě .