Správa identit, oprávnění a privilegií pro úlohy Databricks
Tento článek obsahuje doporučení a pokyny pro správu identit, oprávnění a práv pro úlohy Databricks.
Poznámka:
Tajné informace nejsou odstraňovány z protokolu a streamů Spark driveru clusteru. Aby bylo možné chránit citlivá data, protokoly ovladačů Sparku se ve výchozím nastavení dají zobrazit jenom uživatelům s oprávněním CAN MANAGE pro úlohy, vyhrazený režim přístupu a clustery standardního režimu přístupu. Pokud chcete uživatelům s oprávněním MOHOU PŘIPOJIT nebo MOHOU RESTARTOVAT povolit zobrazení protokolů v těchto clusterech, nastavte v nastavení clusteru následující vlastnost konfigurace Sparku: spark.databricks.acl.needAdminPermissionToViewLogs false
.
V clusterech s režimem sdíleného přístupu bez izolace můžou uživatelé zobrazit protokoly ovladačů Spark s oprávněním MŮŽE PŘIPOJIT nebo MŮŽE SPRAVOVAT. Chcete-li omezit, kdo může číst protokoly pouze uživatelům s oprávněním CAN MANAGE, nastavte spark.databricks.acl.needAdminPermissionToViewLogs
na true
.
Informace o přidání vlastností Sparku do konfigurace clusteru najdete v konfiguraci Sparku.
Výchozí oprávnění pro úlohy
Úlohy mají ve výchozím nastavení následující oprávnění:
- Autor úlohy má udělené oprávnění IS OWNER.
- Správci pracovního prostoru mají udělené oprávnění CAN MANAGE (SPRAVOVAT).
- Tvůrce úlohy je nastaven na Spustit jako.
Oprávnění správce pro úlohy
Ve výchozím nastavení mohou správci pracovního prostoru změnit vlastníka úlohy nebo konfiguraci Spustit jako na libovolného uživatele nebo služební objekt v pracovním prostoru. Správci účtu mohou nakonfigurovat nastavení RestrictWorkspaceAdmins
pro změnu tohoto chování. Viz Omezení správců pracovního prostoru.
Jak úlohy pracují s oprávněními katalogu Unity?
Úlohy se spouští pod identitou uživatele v nastavení Spustit jako. Tato identita se vyhodnocuje ve vztahu k udělení oprávnění pro následující:
- Prostředky spravované katalogem Unity, včetně tabulek, svazků, modelů a zobrazení.
- Seznamy řízení přístupu (ACL) ke starším tabulkám pro prostředky registrované ve starém metastoru Hive.
- Seznamy řízení přístupu pro výpočetní zdroje, poznámkové bloky, dotazy a další prostředky pracovního prostoru.
- Tajné kódy Databricks Viz Správa tajemství.
Poznámka:
Katalog Unity a starší tabulkové ACL vyžadují kompatibilní režimy přístupu k výpočetním prostředkům. Viz Konfigurace výpočetních prostředků pro úlohy.
Úlohy a oprávnění SQL
Úloha souboru je jediným typem úlohy SQL, který plně respektuje identitu Spustit jako .
Dotazy SQL, upozornění a starší úlohy řídicího panelu respektují nakonfigurovaná nastavení sdílení.
- Spustit jako vlastník: Spuštění naplánované úlohy SQL vždy používají identitu vlastníka nakonfigurovaného prostředku SQL.
- Spustit jako divák: Při spuštění naplánované úlohy SQL se vždy používá uživatelská identita nastavená v poli Spustit jako.
Další informace o nastavení sdílení dotazů najdete v tématu Konfigurace oprávnění dotazu.
Příklad
Následující scénář znázorňuje interakci nastavení sdílení SQL a nastavení Spustit jako úlohy:
- Uživatel A je vlastníkem dotazu SQL s názvem
my_query
. - Uživatel A nakonfiguruje
my_query
se sdílecím nastavením Spustit jako vlastník. - Uživatel B plánuje
my_query
jako úkol v úloze s názvemmy_job
. - Uživatel B nakonfiguruje
my_job
ke spuštění pomocí servisního principálu s názvemprod_sp
. - Při spuštění
my_job
používá identitu uživatele A ke spuštěnímy_query
.
Nyní předpokládejme, že uživatel B toto chování nechce. Počínaje stávající konfigurací dochází k následujícímu:
- Uživatel A změní nastavení sdílení pro
my_query
na Spustit jako divák. - Pokud se
my_job
spustí, využívá identifikaciprod_sp
.
Konfigurace identity pro spuštění úloh
Pro změnu nastavení Spustit jako musíte mít u úlohy oprávnění CAN MANAGE nebo IS OWNER.
Nastavení Spustit jako můžete nastavit sami sobě nebo jakémukoli služebnímu principálu v pracovním prostoru, kde máte oprávnění uživatele služebního principálu.
Pokud chcete nakonfigurovat nastavení Spustit jako pro úlohu v uživatelském rozhraní pracovního prostoru, vyberte existující úlohu pomocí následujícího postupu:
- Na bočním panelu klikněte na
Pracovní postupy.
- Ve sloupci Název klikněte na název úlohy.
- Na bočním panelu Podrobnosti úlohy klikněte na ikonu tužky vedle pole Spustit jako.
- Vyhledejte a vyberte uživatele nebo principál služby.
- Klikněte na Uložit.
Další informace o práci s objekty služby najdete v následujících:
- Správa instančních objektů
- Role pro správu služebních identit
- Uveďte služební principály, které můžete použít.
Osvědčené postupy pro řízení úloh
Databricks doporučuje pro všechny produkční úlohy následující:
Přiřazení vlastnictví úlohy principálovi služby
Pokud uživatel, který vlastní danou úlohu, opustí vaši organizaci, tato úloha může selhat. Používejte zástupce služby k zajištění odolnosti úloh vůči změnám zaměstnanců.
Správci pracovního prostoru můžou ve výchozím nastavení spravovat oprávnění k úlohám a v případě potřeby znovu přiřadit vlastnictví.
Spouštění produkčních úloh pomocí principála služby
Úlohy se spouští pomocí oprávnění vlastníka úlohy ve výchozím nastavení. Pokud přiřadíte vlastnictví služebnímu principalu, spouštění úloh probíhá s oprávněními služebního principalu.
Použití servisních principálů pro produkční úlohy umožňuje omezit oprávnění pro zápis do produkčních dat. Pokud spouštíte úlohy pomocí oprávnění uživatele, potřebuje tento uživatel stejná oprávnění k úpravě produkčních dat vyžadovaných úlohou.
vždy používat výpočetní konfigurace kompatibilní s katalogem Unity
Zásady správného řízení dat v Katalogu Unity vyžadují, abyste použili podporovanou výpočetní konfiguraci.
Bezserverové výpočetní prostředky pro úlohy a SQL sklady vždy používají Unity Catalog.
Pro úlohy s klasickým výpočetním prostředím doporučuje Databricks pro podporované úlohy standardní režim přístupu. V případě potřeby použijte vyhrazený režim přístupu.
Kanály DLT nakonfigurované s katalogem Unity mají určitá omezení. Viz Omezení.
Omezení oprávnění pro produkční úlohy
Uživatelé, kteří aktivují spuštění úlohy, zastavují je nebo restartují, potřebují oprávnění Správa spuštění.
Uživatelé, kteří zobrazují konfiguraci úlohy nebo monitorují běhy, potřebují oprávnění Zobrazit.
Udělit Může spravovat nebo Je vlastníkem oprávnění pouze uživatelům důvěryhodným k úpravě produkčního kódu.
Řízení přístupu k úloze
Řízení přístupu k úlohám umožňuje vlastníkům úloh a správcům udělit jemně odstupňovaná oprávnění k úlohám. K dispozici jsou následující oprávnění:
Poznámka:
Každé oprávnění zahrnuje udělení oprávnění pod ním v následující tabulce.
Povolení | Grant |
---|---|
Je vlastníkem | Identita používaná pro Spustit jako ve výchozím nastavení. |
Může spravovat | Uživatelé mohou upravit definici úlohy, včetně oprávnění. Uživatelé můžou plán pozastavit a obnovit. |
Může spravovat spuštění | Uživatelé můžou aktivovat a zrušit spuštění úloh. |
Má povolení k zobrazení | Uživatelé můžou zobrazit výsledky spuštění úlohy. |
Informace o úrovních oprávnění úloh najdete v tématu ACL úloh.
Konfigurace oprávnění úlohy
Pokud chcete nakonfigurovat oprávnění pro úlohu v uživatelském rozhraní pracovního prostoru, vyberte existující úlohu pomocí následujícího postupu:
- Na bočním panelu klikněte na
Pracovní postupy.
- Ve sloupci Název klikněte na název úlohy.
- Na panelu Podrobnosti úlohy klikněte na Upravit oprávnění. Zobrazí se dialogové okno Nastavení oprávnění.
- Klikněte na pole Vyberte uživatele, skupinu nebo služební objekt... a začněte psát uživatele, skupinu nebo služební objekt. Pole prohledává všechny dostupné identity v pracovním prostoru.
- Klikněte na tlačítko Přidat.
- Klikněte na Uložit.
Správa vlastníka úlohy
Vlastníka úlohy můžou upravovat jenom správci pracovního prostoru. Musí být přiřazen přesně jeden vlastník pozice. Vlastníci úloh můžou být uživatelé nebo instanční objekty.